Ser ágil não é sair fazendo de qualquer jeito

Muita gente confunde agilidade com “desenvolver rápido”. Não é nada disso. Agilidade tem a ver com tempo de lançamento ao mercado, e não com tempo de desenvolvimento. 

Abrir mão da qualidade para ganhar tempo, definitivamente não faz parte da mentalidade ágil. Tem um princípio ágil que foca na excelência técnica:

“Contínua atenção à excelência técnica e bom design, aumenta a agilidade.”

Esta frase pode parecer paradoxal, afinal, se gasta mais tempo para fazer um software de qualidade do que um software ruim. Então, como a atenção à excelência técnica pode aumentar a agilidade?

A resposta para isso é que a atenção à qualidade é um investimento. Num primeiro momento se gasta mais tempo, mas com um bom retorno futuro. No médio e longo prazo, a velocidade de alterações e incrementos no código vai aumentar, além de que o número de bugs vai diminuir. 

Mas não é só pela questão de investimento de tempo que a excelência técnica é importante. A agilidade tem questões intrínsecas que carregam desafios técnicos.

Veja mais este princípio ágil:

“Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento. Processos ágeis se adequam a mudanças para que o cliente possa tirar vantagens competitivas.”

Para a mudança de requisitos ser bem-vinda, é preciso ter um projeto preparado para isso. Mudar o escopo pode ser muito complexo dependendo da forma que se arquiteta um sistema.

Para permitir mudanças de modo simples é preciso:

  • Construir código genérico – Para que trechos de código possam ser reaproveitados.
  • Escrever código legível – Para não criar áreas em que só o desenvolvedor inicial consegue entender.

É preciso conhecimento técnico e experiência para se criar código reutilizável e legível.

Há também outro princípio que exige qualidade técnica:

“Entregar software funcionando com frequência, na escala de semanas até meses, com preferência aos períodos mais curtos.”

Para entregar software com frequência, é preciso testar e publicar rapidamente o que se desenvolveu. Para isso, são importantes:

  • Testes automatizados – Para garantir que a alteração em uma funcionalidade não quebre outra.
  • Publicação automatizada – Para prevenir erros na publicação e facilitar que se publique com frequência.

Então, lembre-se: ser ágil tem a ver com lançar rapidamente produtos ao mercado e aplicar melhorias continuamente. Isso requer excelência técnica e atenção à qualidade.

Deixe um comentário