sábado, 12 de dezembro de 2009

Desenvolvimento Ágil

Esta semana um amigo me emprestou a revista TIDigital, edição novembro 2009, que possui uma matéria bem interessante sobre desenvolvimento ágil. Após ler a matéria, resolvi escrever um post a respeito do assunto.

Em conversa com esse mesmo amigo sobre a aplicabilidade de metodologias ágeis, chegamos a conclusão de que tais práticas funcionariam melhor em uma equipe de sêniors, não em registro, mas sim em maturidade.

Conheça o Manifesto Ágil aqui.

Além do manifesto, existem 12 princípios a serem seguidos para o desenvolvimento ágil de software:

1° princípio:

“Nossa maior prioridade é satisfazer o cliente através de entregas rápidas e contínuas de software usual”.

Sabe-se que a entrega é um dos maiores desafios da industria de TI, dado o atual grau de insucesso dos softwares. Confira o Chaos Report confeccionado pelo Standish Group:

Repare que o Standish Group entende como fracassado (vermelho) um projeto cancelado ou entregue e nunca utilizado e como desafiado (amarelo) um projeto que atrasou, custou mais ou entregou menos. O gráfico demonstra que em 2009 os projetos considerados sucesso (verde) somam aproximadamente 30% contra 70% de softwares fracassados ou desafiados. Imagine se mudássemos o cenário, e que ao invés de software, estivéssemos falando de carros, isso significaria que a cada 10 carros que você comprasse, apenas 3 funcionariam e 7 não funcionariam ou funcionariam com inúmeros problemas.

2° princípio:

“Seja bem vindo à mudança de requisitos, mesmo que tardiamente, no desenvolvimento. Processos ágeis aproveitam a mudança para a vantagem competitiva do cliente”.

3° princípio:

“Entregar software utilizável frequentemente, e algumas semanas a alguns meses, com preferência e menores escalas de tempo”.

Pequenas entregas aumentam muito a chance de sucesso de um software. Quando o software é colocado em produção é que pode-se verificar se ele atende a necessidade daquele negócio ou não de forma menos abstrata. Confira o gráfico do Standish Group para o uso das funcionalidades de um software:

Note que apenas 7% do software é utilizado sempre e 13% utilizado frequentemente, e que 64% do software é nunca ou raramente utilizado. Isso significa dizer que em um projeto de 1 milhão de reais, o cliente pagaria 640 mil por funcionalidades talvez desnecessárias.

4° princípio:

“Executivos e desenvolvedores devem trabalhar juntos diariamente durante o projeto”.

5° princípio:

“Construa projetos em torno de indivíduos motivados. Dê-lhes o ambiente e a ajuda de que eles precisam e confie neles para ter o trabalho concluído”.

6° princípio:

“O método mais eficiente e eficaz de transmitir informações para uma equipe de desenvolvimento e dentro dela é a conversa face a face”.

Por experiência própria posso confirmar que o método mais eficaz para transmitir informações é pela conversa face a face. Geralmente escrevo melhor do que falo, coisa que faz meus emails ficarem formais demais e, por consequencia, ríspidos, isso pode causar no receptor um certo desconforto, insegurança, raiva, etc.

7° princípio:

“Software funcional é a medida primordial do progresso”.

8° princípio:

“Processos ágeis promovem desenvolvimento sustentável. Os patrocinadores, desenvolvedores e usuários deveriam ser aptos a manter um ritmo constante indefinidamente”.

É comum ouvirmos piadas a respeito da inconstância no desenvolvimento de software. Costuma-se dizer que “os primeiros 90% do software levam 90% do tempo para ficarem prontos e os 10% finais levam mais 90% do tempo para serem concluídos”.

9° princípio:

“Atenção contínua à excelência técnica e bom design aumentam a agilidade”.

10° princípio:

“Simplicidade – a arte de maximizar a quantidade de trabalho não feito – é essêncial”.

11° princípio:

“As melhores arquiteturas, requisitos e design surgem de um time auto-organizado”.

É tempo de as fábricas de software passarem da versão 1.0 para a 2.0, pois assim como a web, devem ter um caráter colaborativo mais intenso.

12° princípio:

“Em intervalos regulares, o time reflete sobre como tornar-se mais eficiente, então sintoniza e ajusta seu comportamento”. (Lembra da consideração inicial sobre a equipe de sêniors?)

Deseja saber mais sobre o assunto? Clique aqui e leia uma reportagem completa sobre SCRUM, um dos métodos ágeis mais utilizados atualmente e que vem se popularizando no Brasil, publicada na revista TIDigital na edição de abril/09.

Um comentário:

  1. Acho que pra quem está afim de conhecer mais sobre o assunto, vale conferir as edições da Revista Visão Ágil (http://www.visaoagil.com/) e o seu o blog (http://visaoagil.wordpress.com/).

    ResponderExcluir