segunda-feira, julho 28, 2008

Scrum (ou Agile) com CMMI - É possível?

Escrevo esse post movido por dois distintos eventos: o primeiro foi o excelente painel sobre metodologias ágeis que ocorreu no TDC 2008 e o segundo foi um posto na lista scrum-brasil sobre o assunto Scrum e CMMI.

A dúvida é: É possível fazer o Scrum ou outro processo ágil ficar aderente ao CMMI e ser avaliado oficialmente por um SCAMPI?

A resposta curta é: Você pode fazer um processo ágil ficar aderente ao CMMI, porém terá um grande overhead (sobrecarga) de custo e prazo em cada um de seus projetos para conseguir isso.

A resposta mais longa e com evidências(he, he!):

Para início de conversa, recomendo fortemente primeiro a leitura do artigo do David Anderson chamado Stretching Agile to fit CMMI Level 3. Anderson foi um dos criadores da nova versão do MSF (processo de desenvolvimento suportado pela Microsoft e mais conhecido por vir como padrão na ferramenta Visual Studio Team System) . Ele explica nesse artigo o que tiveram que fazer para conseguir adequar um processo ágil (o MSF for Agile) para atender o modelo do CMMI.

Fica claro no artigo que existiu um razoável overhead para isso acontecer. Anderson estudou só o overhead para atingir o CMMI nível 3. Se falássemos no nível 4 e no nível 5 o overhead seria ainda maior (teria que incluir controle estatístico de processos, análise causal, gerenciamento quantitativo de projetos, etc).

Segue a conclusão mais interessante de Anderson (negritos meus): "It was therefore necessary to enhance MSF for Agile Software Development with additional activities to cover these aspects of the CMMI. This was non-trivial. The footprint of the guidance material for MSF for CMMI Process Improvement is 150% larger than that of MSF for Agile Software Development. So some large amount of stretching was necessary. For example, MSF for Agile Software Development has 25 work product artifacts whilst the CMMI method has 59. There are 9 metric charts with the agile method whilst the CMMI method has 12. "

Portanto, você pode até atingir o CMMI usando um processo ágil e isso é legal. Porém, tenha em mente que não existe uma solução mágica para isso e avaliadores CMMI (que usam o SCAMPI) ainda determinam a necessidade de documentação explícita (chamados de artefatos diretos e indiretos) para cada uma das práticas específicas das áreas de processo do CMMI.

Tendo isso em mente, você e sua empresa devem estar cientes do grande overhead que será necessário para o processo ágil ficar aderente ao CMMI. Se a empresa realmente necessita do CMMI para governança, como estratégia de marketing ou outro fator qualquer ela antes deve ter consciência que um projeto feito com "Agile CMMI" terá mais custo e será mais lento que um projeto feito com "Agile Agile".

O Adail Retamal da Heptagon respondeu à minha conclusão com um outro dado muito interessante que aqui transcrevo:

"É isso aí, Papo! Nos meus cursos e consultorias sempre saliento esses aspectos também. Minha proposição para um Agile CMMI é:

Nível 2: Scrum, parte da FDD, PSM
Nível 3: + FDD, parte da TOC, algo de Lean
Nível 4: + Six Sigma
Nível 5: + TOC

Claro que outras ajudas serão necessárias para atender certas PAs, mas essa receitinha já abrange uns 80%..."

Mais detalhes sobre esse assunto de Scrum, Agile e CMMI podem ser encontrados no meu artigo Scrum, OpenUP e CMMI.

Marcadores:

8 Comentários:

At 3:39 PM, Anonymous Luiz Faias Jr disse...

Olá Papo,

Eu presenciei o painel no TDC e realmente foi um debate excelente e com bom nível.

Ótimo post.

 
At 4:14 PM, Blogger Lúbia disse...

Gostei do artigo: rápido, prático e com bom conteúdo.

 
At 5:09 PM, Anonymous Adail M. Retamal disse...

Papo,
só pra complementar, segue aí o glossário:

FDD: Feature Driven Development
PSM: Practical Software & Systems Measurement
TOC: Theory of Constraints (Teoria das Restrições)

 
At 8:48 PM, Blogger Mano disse...

Olá!

Gostei do artigo! Trabalho em uma empresa CMMI N2 e querem implementar um processo(?) ágil de desenvolvimento e a grande discussão tem sido essa. Pelo que você apresenta, vai de encontro com o que comentei nas discussões dentro da empresa. Podemos ter muitas práticas ágeis, mas com certeza não seremos tão ágeis se quisermos manter o CMMI.
Muito Obrigado por me dar argumentos para manter minha posição.
Excelente Post!!!

 
At 1:01 PM, Anonymous Ezer disse...

Papo, uma dúvida: pq o Adail diz que CMM 5 corresponde à acrescer ToC?

 
At 10:12 AM, Anonymous André Luis disse...

Muito legal o artigo. Gostei mesmo foi da receita (mapeamento) do Adail.

Grande abraços

 
At 2:55 AM, Blogger DoS disse...

Este comentário foi removido pelo autor.

 
At 3:20 PM, Anonymous Igor Couto disse...

Legal a discussão levantada pelo artigo.

Porém, não acho que FDD seja aplicada neste conceito.

O direcionamento a testes (TDD), a funcionalidades (FDD) e a caso de usos (UCD) é uma decisão de design feita quando iteramos um pouco mais no processo de construção (geralmente depois da eliminação dos riscos de arquitetura) ...

E normalmente se aplica um mix destas técnicas. Não entendi o ponto do autor...

 

Postar um comentário

Links para este artigo:

Criar um link

<< Home


Veja as Estatísticas