Antes de entrar em detalhes e metodologias ágeis, é bom que você tenha lido o artigo Repensando o desenvolvimento de software e que conheça o que foi o Manifesto Ágil, responsável por essa revolução na forma de pensar o desenvolvimento de software.
O manifesto ágil foi criado em 2001 por profissionais experientes no desenvolvimento de software. Esses profissionais resolveram criar esse manifesto por perceberem que o desenvolvimento de software tradicional, cada vez mais, gerava grandes problemas e até culminava em softwares fracassados.
Abaixo segue o Manifesto:
“Estamos descobrindo maneiras melhores de desenvolver software fazendo-o nós mesmos e ajudando outros a fazê-lo. Através deste trabalho, passamos a valorizar:
- 1. Indivíduos e interação entre eles mais que processos e ferramentas
- 2. Software em funcionamento mais que documentação abrangente
- 3. Colaboração com o cliente mais que negociação de contratos
- 4. Responder a mudanças mais que seguir um plano
Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda.”
Veja o conteúdo original em inglês.
Partindo desse texto, chegamos à conclusão de que o desenvolvimento ágil não se limita a um processo que deve ser seguido à risca para se desenvolver softwares de qualidade. O manifesto ágil é na verdade um conjunto de valores importantes no desenvolvimento para que um software consiga obter sucesso. Além disso, desenvolvimento ágil é uma mudança drástica de cultura.
Por tanto, desenvolvimento ágil não é uma simples receita. Porém, existem algumas metodologias de desenvolvimento utilizando os valores destacados nesse manifesto. Dentre elas o Extreme Programming, ou simplesmente XP, que é um conjunto de práticas que se baseiam nos valores do manifesto ágil.
Quando se desenvolve software utilizando uma metodologia ágil, no caso o XP, o foco do desenvolvimento está em gerar valor para o cliente. Tentando evoluir continuamente durante o projeto, sempre buscando aumentar a produtividade e melhorar a qualidade do produto final.
Partindo dessa premissa, o XP utiliza alguns “recursos” que ajudam a produzir um software de qualidade que atenda as necessidades do cliente.
XP se baseia em cinco valores básicos: comunicação, coragem, feedback, respeito e simplicidade. Não da para usar XP sem que esses valores sejam levados em consideração.
Comunicação
A comunicação é uma das partes mais importantes. O XP parte do princípio de que a comunicação direta e constante entre o cliente e os desenvolvedores faz com que o software final atenda as expectativas e necessidades do cliente.
Muitas vezes os clientes acreditam saber o que querem logo no início do projeto. Porém isso dificilmente é verdade. O cliente geralmente tem algo completamente abstrato em mente e aprende com o sistema cada vez que se depara com parte dele funcionando. Dessa forma a comunicação gera aprendizado para o cliente e para os desenvolvedores. Também é de extrema importância que haja comunicação constante entre os membros da equipe.
Coragem
É preciso ter coragem para começar a utilizar o XP em seus projetos. Primeiro, porque XP pode ser uma mudança cultural muito grande para sua equipe e para a maioria dos seus clientes. Segundo, porque é preciso ter confiança para decidir apenas o que é necessário agora e deixar as coisas do futuro para o futuro.
Feedback
A partir da comunicação constante e direta entre o cliente e os desenvolvedores, sempre haverá um aprendizado de ambas as partes, como já foi dito. Com isso o cliente estará sempre gerando um feedback para a equipe. Além disso, como no XP os releases são muito curtos, o cliente terá sempre um software para colocar em produção gerando um feedback dos usuários de forma muito rápida. Isso agrega ainda mais valor para o produto final.
Respeito
Se não houver respeito entre integrantes de uma equipe XP, dificilmente haverá uma comunicação adequada entre membros da equipe, o que poderá criar ambientes competitivos. Isso é gravíssimo em um projeto XP, já que no Extreme Programming o código é gerado e mantido por todos (código coletivo) e por isso precisa de um ambiente onde todos devem cooperar para o sucesso do projeto.
Simplicidade
XP parte do princípio de criar menos software, ou softwares mais simples. No XP, menos é mais. Muitas vezes um software é desenvolvido para fazer de tudo. Nesses casos o que acontece é que o software faz de tudo, menos o que realmente precisa fazer. Além desse problema, o código do sistema fica complicado e de difícil reutilização. Isso pode gerar grandes problemas no futuro.
Partindo desses valores, o XP utiliza diversas práticas, dentre elas: cliente presente, jogo do planejamento, stand up meeting, programação em par, desenvolvimento guiado por testes, refactoring, código coletivo e padronizado, design simples, metáfora, ritmo sustentável, integração continua e releases curtos.
Já utilizamos XP a algum tempo no Sitesfeitos e em projetos pessoais e obtivemos ótimos resultados. Hoje já adicionamos inclusive algumas adaptações para tornar nosso trabalho ainda mais eficiente – afinal, mais importante do que a metodologia são os valores. [Webinsider]
…………………………
Conheça os serviços de conteúdo da Rock Content..
Acompanhe o Webinsider no Twitter.
Dyego Luz
Dyego Luz (dyego@sitesfeitos.me) é fundador do Sitesfeitos, estudante de administração na UFRN onde cursou também ciência da computação. Fascinado por desenvolvimento de aplicações web, marketing digital e empreendedorismo. Mais no Twitter (@sitesfeitos) e no Facebook.