Processos Ágeis para desenvolvimento de Software - Parte 01


Helbert William

helbertwilliam@gmail.com

 

Resumo

 

Os Métodos Ágeis surgiram no final da década passada e em fevereiro de 2001 um grupo de dezessete metodologistas formou a Agile Software Development Alliance (www.agilealliance.org) e definiram um manifesto como uma alternativa aos métodos tradicionais de desenvolvimento de software.

O manifesto propõe uma nova abordagem para o desenvolvimento, fazendo-o de forma direta, eliminando gastos com documentação excessiva e burocrática, enfatizando a comunicação, colaboração com o cliente e atividades que trazem valor imediato na produção de software com qualidade.

Por meio de um processo baseado na experiência e na observação, com ciclos constantes de inspeção e adaptação, a equipe trabalha sempre num ambiente de melhoria contínua.

 

1. Introdução

 

Pode-se observar que existe atualmente uma forte tendência entre as empresas fabricantes de softwares em estudar as metodologias ágeis.

Podemos tomar como exemplo a Microsoft que se posicionou com antecipação segura à maturidade da proposta ágil e publica uma derivação das diretrizes do manifesto denominada MSF Agile (Microsoft Solutions Framework Agile Software Development) e promove-a como processo "default" sugerido ao desenvolvimento de projetos utilizando de uma nova ferramenta o Visual Studio Team System, ou simplesmente VSTS.

Outras iniciativas open-souce podem ser encontradas, uma delas é Cruisecontrol (http://cruisecontrol.sourceforge.net) que também pode ser utilizada de forma semelhante ao VSTS.

 

2. be agile or be dead (Seja ágil ou esteja morto)

 

Por que ser ágil? Para responder a esta pergunta será preciso avaliar alguns fatos relacionados ao desenvolvimento de software.

Quando analisada a amostra de projetos demandados e executados, raros projetos atendem aos requisitos descritos e demandados pelos clientes. Como conseqüência, os clientes ficam descontentes e muitas vezes escolhem outra forma de concepção ou aquisição de software que não envolva a co-responsabilidade de concepção e definição do software porque perderam a confiança em trabalhar com os desenvolvedores de software. Quando este fato ocorre existe uma “corrida” para apontar um culpado.

Os alvos convenientes para receber a culpa são geralmente os gerentes de projeto, que os desenvolvedores duvidam serem capazes de amarrar os próprios cadarços.

Em segundo lugar os analistas de sistemas, e por último os clientes ou usuários.

A relação entre desenvolvedores e usuários sempre foi terrível, com acusações de ambas as partes.

Os usuários reclamam que os desenvolvedores estão tão preocupados com linguagens, tecnologias e que esquecem o negócio, os desenvolvedores acusam os usuários de nunca saberem o que querem, e quando sabem o solicitado não faz sentido e ninguém se posiciona de forma a mudar isto. Ninguém até o surgimento do manifesto ágil.

Os conceitos chave do manifesto ágil são:

1.             Indivíduos e interações ao invés de processos e ferramentas.

2.             Software operante ao invés de documentação abrangente.

3.             Colaboração do cliente ao invés de negociação de contratos.

4.             Respostas rápidas a mudanças ao invés de seguir um plano.

O Manifesto Ágil não rejeita os processos e ferramentas, a documentação, a negociação de contratos ou o planejamento, mas simplesmente mostra que eles têm importância secundária quando comparados com os conceitos chave do manifesto.