Durante muitos anos os métodos de desenvolvimento de software que prevaleceram no século passado foram os muitos criados pela Engenharia. Em termos de processos, muitas etapas e procedimentos da engenharia e do desenvolvimento de software se assemelham. Porém a metodologia da engenharia traz consigo toda a burocracia e generalização desta disciplina, o que de certa forma acaba engessando o processo de desenvolvimento de software, que na ampla maioria das vezes está contido em um contexto volátil, totalmente suscetível a mudanças. É mais fácil modificar requisitos de um software e regras do negócio do que o projeto de um edifício já em construção.

O que é Ágil?

Eis que surgem as metodologias ágeis, que segundo a Agile Alliance significa a habilidade de responder às mudanças para garantir o sucesso em ambientes voláteis. Os métodos ágeis foram desenvolvidos para serem reativos às mudanças sem grandes impactos no processo de desenvolvimento.

O que é Desenvolvimento de Software Ágil?

É um termo que inclui métodos e práticas baseado baseados nos valores e princípios do Manifesto Ágil. As soluções surgem a partir de times auto-gerenciáveis que irão se utilizar das práticas apropriadas para o contexto.

Breve história do Ágil

No final dos anos 90 uma série de metodologias começaram a ganhar notoriedade combinando tanto ideias novas quanto velhas. Em um certo momento tais ideias convergiram para: equipes auto-gerenciáveis, aproximação entre equipe de desenvolvimento e stakeholders, entrega de valor contínua e métodos automatizados de entregar código (deploy).

Assim, o termo Ágil foi aplicado a essa coleção de metodologias que acabaram sendo resumidos nos 12 princípios do Manifesto Ágil.

Conceitos-chave do Desenvolvimento Ágil

Estória do Usuário

Juntamente com o Product Owner ou Cliente a equipe divide o trabalho a ser feito em estórias. Cada estória de usuário deve agregar valor ao produto.

Equipe

Uma equipe no contexto Ágil significa um grupo de pessoas responsáveis por um projeto ou demanda.

Daily Meeting

Diariamente os membros da equipe deixam todos a par dos avanços e quaisquer obstáculos que estejam atrapalhando o andamento do desenvolvimento.

Retrospectiva

Ao final de etapas importantes no desenvolvimento do projeto a equipe se reúne para discutir eventos importantes ocorridos no período (coisas boas, ruins, lições aprendidas).

Para onde isso vai?