top of page

Guia de desenvolvimento de software ágil

Na última década, o desenvolvimento ágil de software deixou de ser uma técnica de culto para se tornar uma parte cada vez maior do mainstream. Tive a sorte de estar no início desta história, com experiências iniciais no 'projeto nascimento' da Extreme Programming e co-autor do Manifesto for Agile Software Development . A Thoughtworks começou a usar técnicas ágeis em 2000 e desde então as utilizamos com sucesso em nossos projetos em todo o mundo. Aprendemos muito sobre o uso de métodos ágeis em ambientes empresariais e estamos comprometidos em compartilhar esse aprendizado para ajudar a promover sua adoção inteligente.


A Essência do Desenvolvimento Ágil de Software

Já se passou mais de uma década desde que os desenvolvedores de métodos ágeis começaram a falar sobre suas abordagens. Neste período, o pensamento ágil deixou de ser uma atividade de nicho para se tornar uma abordagem amplamente utilizada. No entanto, como qualquer técnica popular, o desenvolvimento ágil de software sofreu com a difusão semântica , de modo que muito do que vemos sob o nome de ágil não tem muita semelhança com o que os primeiros pioneiros estavam fazendo. Portanto, acho importante revisitar os elementos essenciais do pensamento ágil.


Sempre vi a essência do pensamento ágil baseada em dois contrastes com a engenharia de software tradicional orientada por planos:


  • A engenharia orientada a planos espera que elaboremos um plano preditivo que preceda o desenvolvimento. O plano estabelece as pessoas, recursos e cronogramas para o projeto geral. O design do software também é feito antecipadamente, e espera-se que a implementação esteja em conformidade com esse design. O sucesso é medido de acordo com o quão bem o desenvolvimento segue este plano .


  • Os planos ágeis são uma linha de base que usamos para nos ajudar a controlar as mudanças. As equipes ágeis planejam com tanto cuidado quanto as equipes tradicionais, mas os planos são constantemente revisados ​​para refletir o que aprendemos durante um projeto. O sucesso é baseado no valor entregue pelo software.


  • A engenharia orientada por planos busca um processo que forneça estrutura suficiente para reduzir as variações individuais à insignificância. Este processo industrial é mais previsível, funciona melhor quando há transferência de pessoas e é mais fácil de definir competências e planos de carreira.


  • A engenharia ágil vê o desenvolvimento de software como uma atividade principalmente humana , onde as pessoas envolvidas e como elas se relacionam como equipe são o principal impulsionador do sucesso. Os processos (e ferramentas) podem aumentar a eficácia de uma equipe, mas são sempre influências de segunda ordem.


Práticas Técnicas

Para fazer o trabalho ágil, você precisa de práticas técnicas sólidas. Muita educação ágil subestima isso, mas se você economizar nisso, não obterá os benefícios de produtividade e capacidade de resposta que o desenvolvimento ágil pode oferecer (o deixando preso na primeira zona de fluência ágil ). Esta é uma das razões pelas quais ainda acho que a Programação Extrema é o mais valioso dos métodos ágeis mencionados como núcleo e ponto de partida.


Colaboração

Melhorar a colaboração humana está no cerne do pensamento ágil. Comunicação e feedback são dois dos valores declarados do Extreme Programming, e os agilistas procuram encontrar maneiras de maximizá-los como parte de seus projetos.


Problemas

Embora a mentalidade ágil possa ajudar muitas equipes a entregar software de forma mais eficaz, o mundo do software ágil está longe de estar livre de problemas. Como acontece com qualquer abordagem popular, a difusão semântica se instalou, resultando em muitas coisas sendo feitas em nome do “ágil” que pouco têm a ver com as ideias que nos motivaram a escrever o manifesto.


Artigo originalmente publicado em Blog Martin Flower


bottom of page