Scott Ambler, que escreveu 'O Inferno Congelou? Um Modelo de Maturidade Ágil?', começou a escrever sobre um assunto que ele mesmo está chamando de Processo de Maturidade Ágil. A discussão sobre o modelo do Scott fez aparecer um outro modelo de mesmo nome e refrescou o debate sobre a utilidade de um modelo de maturidade para os métodos Ágeis.
Scott descreve a motivação para esse modelo da seguinte forma: "O objetivo do Modelo de Maturidade do Processo Ágil (APMM) é disponibilizar um framework que forneça um contexto para a grande variedade de metodologias Ágeis existente hoje."
O primeiro artigo do Scott sobre o APMM descreve o modelo em três níveis:
- Desenvolvimento Básico Ágil de Software
Neste nível, Scott coloca Scrum, XP, Modelagem Ágil e Dados Ágeis. - Desenvolvimento Disciplinado Ágil de Software
Aqui ele mistura algumas coisas como Scrum + XP, bem como RUP, OpenUp e DSDM. - Agilidade em Escala
Scott não cita nenhum exemplo nesse trecho, simplesmente diz que esse nível é sobre "apontar explicitamente as complexidades que disciplinaram as entregas das equipes Ágeis no mundo real." Em um artigo subsequente, ele explica que o nível 3 é o nível 2 com um ou mais fatores de escala predominantes.
Jeff Anderson e outras pessoas comentaram que isso não é um modelo de maturidade. No máximo é um esquema de classificação para processos de software. Adriano Comai explica dessa forma:
Um modelo de maturidade, pelo menos em nossa indústria, define níveis de adoção de certas práticas por uma organização específica, em seu próprio contexto... Um modelo de maturidade classifica níveis na adoção de práticas por uma organização e mostra Áreas de interesse que a organização deveria mapear com o objetivo de melhorar.
Curt Hibbs apontou um artigo no website do Professor Juliano Lopes de Oliveira que propõe um Modelo de Maturidade do Processo Ágil diferente, cujo objetivo são:
... estimular uma discussão na comunidade de Engenharia de Software para definir um modelo padronizado e consensual, que possa ser adotado pelas organizações interessadas em iniciar ou melhorar a aplicação de Métodos Ágeis para desenvolvimento e evolução de software.
Neste modelo, uma organização poderia determinar seu nível de maturidade do processo Ágil de acordo com dois aspectos: técnico e gerencial. Conforme cada um deles, uma escala de três níveis são proposta:
Seguindo o aspecto técnico, os níveis podem ser:
- Não-Ágil
Nenhuma prática em particular é estabelecida nesse nível. Uma organização que está nesse nível não segue nenhuma das premissas básicas da atitude Ágil. - Mínimo
Este nível contém os requisitos mínimos para um processo ser considerado Ágil. - Consolidado
Neste nível, a organização inicia a busca por melhorias técnicas de seus processos, partindo de algumas características mínimas que definem um processo Ágil, para um cenário mais disciplinado, profissional, eficiente e produtivo.
Analogamente, 3 níveis são propostos para um processo de maturidade Ágil gerencial:
- Inicial
Caracterizado pela ausência dos processos Ágeis. - Organizado
As práticas de gerenciamento de projetos são estabelecidas. - Disciplinado
As práticas internas ao projeto dão suporte às decisões gerenciais com dados numéricos.
Essa não é a primeira vez que a InfoQ debate sobre possíveis modelos de maturidade para processos Ágeis. Em outubro de 2007, Amr Elssamadisy escreveu 'A Comunidade Ágil Precisa de um Modelo de Maturidade?' Naquele mesmo mês, o assunto surgiu também em 'Qual o Valor do Teste da Nokia?'
Um modelo de maturidade para processos Ágeis seria Útil? Se sim, como ele deveria ser? Deixe um comentário e compartilhe sua opinião.