O que danado é esse “Ágil” ?

Atualmente vivemos um “boom” de ágil. Vemos a forte utilização de tais metodologias na engenharia de software, tornando-se uma febre no segmento de desenvolvimento de software.

Metodologias ágeis existem desde a década de 80 e por informações distorcidas não eram utilizadas naquela época. Desenvolvedores entendiam que na metodologia ágil tudo era possível, adotando o desenvolvimento sem padrões, documentações e etc.

Em 2001 um grupo de 17 renomados desenvolvedores assinou um manifesto, tal grupo foi batizado de “Aliança dos ágeis”.

Para acessar o Manifesto clique aqui.

Confira abaixo valores e princípios do manifesto:

Valores

  • Indivíduos e interações mais que processos e ferramentas;
  • Software funcional mais que documentação abrangente;
  • Colaboração do cliente mais que negociação de contratos;
  • Responder a mudanças mais que seguir um plano.

Ou seja, o item em negrito sempre tem maior importância no contexto.

Princípios

  • Nossa maior prioridade é satisfazer o cliente, através da entrega adiantada e contínua de software de valor.
  • 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.
  • Entregar software funcionando com frequência, na escala de semanas até meses, com preferência aos períodos mais curtos.
  • Pessoas relacionadas a negócios e desenvolvedores devem trabalhar em conjunto e diariamente, durante todo o curso do projeto.
  • Construir projetos ao redor de indivíduos motivados. Dar a eles o ambiente e suporte necessário, e confiar que farão seu trabalho.
  • O Método mais eficiente e eficaz de transmitir informações para, e por dentro de um time de desenvolvimento, é através de uma conversa cara a cara.
  • Software funcional é a medida primária de progresso.
  • Processos ágeis promovem um ambiente sustentável. Os patrocinadores, desenvolvedores e usuários, devem ser capazes de manter indefinidamente, passos constantes.
  • Contínua atenção à excelência técnica e bom design, aumentam a agilidade.
  • Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou ser feito.
  • As melhores arquiteturas, requisitos e designs emergem de times auto-organizáveis.
  • Em intervalos regulares, o time reflete em como ficar mais efetivo, então, se ajustam e otimizam seu comportamento de acordo.

Métodos ágeis tentam minimizar os riscos do desenvolvimento de software em períodos chamados “iterações”, que podem durar menos de uma semana e no máximo quatro semanas. Cada iteração é como um subprojeto de um projeto maior e inclui todas as tarefas para executa-lo.  Ex.: Planejamento, Análise de requisitos, codificação, testes e documentação.

Image result for ágil

Além da questão citada no parágrafo acima, o desenvolvimento de software ágil visa implantar uma nova versão do software no final de cada Iteração. A cada versão se reavaliam as prioridades do projeto e também se destaca a comunicação contínua, preferencialmente comunicação presencial a documentos escritos.

A prioridade no ágil é entregar um software funcional como um indicador de progresso combinado com comunicação. É recomendada apenas a geração de documentação útil para o projeto e tal questão pode ser considerada um ponto negativo.

Também deve-se levar em consideração que o ágil indica que equipes de menor tamanho tem maior chance de concluir os projetos com sucesso. Uma equipe grande requer um maior custo e esforço gerencial, maiores chances de conflitos, dificuldades de comunicação, etc. Em uma equipe pequena devem-se tomar cuidados. Todos os integrantes devem estar inteirados das demandas que estão em execução, pois caso venha a perder um integrante, o projeto como o todo não será comprometido.

Image result for ágil

Concluímos que as metodologias ágeis prezam pela melhoria da produtividade com foco na comunicação com o cliente, entregas constantes e na equipe de desenvolvimento. O ágil planeja apenas o que será executado atualmente no incremento. Portanto, é mais fácil de identificar inconsistências em requisitos não levantados corretamente, tornando a correção mais rápida.

Consideramos então que para ser ágil devemos ter em mente alguns pontos importantes, são eles: Comunicação com a equipe e cliente, desenvolvimento com testes constantes e integração contínua.

Referências

Devmedia: http://www.devmedia.com.br/uma-visao-geral-sobre-metodologia-agil/27944

Manifesto ágil: https://www.manifestoagil.com.br/