Já faz tempo que vejo empresas e pessoas falando que agile e CMMi funcionam bem. O Jeff Sutherland falou várias vezes sobre isso e vale a pena ver o que ele pensa a esse respeito. Vou colocar aqui a minha opinião.
Em teoria agile e CMMi podem funcionar. Há algumas diferenças, mas elas são reconciliáveis. O problema não é a teoria, mas a prática. Seguem aqui alguns problemas frequentes que eu vejo na adoção de CMMi:
- O primeiro problema são os auditores. Constumam ser pessoas com mentes muito fechadas. Temos caso de uma empresa que teve que esconder seus task boards quando o auditor veio visitar, porque ele deixou bem claro que não aceitaria essas “coisas ágeis”.
- O segundo problema são os consultores para certificação CMMi. Eles geralmente não conhecem as práticas ágeis e não são capazes de ajudar o cliente a usar evidências de forma ágil em vez de gerarem evidências inuteis. E quando conhecem um pouco de agile eles não gostam.
- O terceiro problema é a motivação. O CMMi é um programa de melhoria, e não um programa de marketing. Mas as empresas o adotam para vender. A motivação não vem em querer ficar melhor no desenvolvimento de software, mas em poder participar de RFPs e compras governamentais que exigem o CMMi.
- O quarto problema são os clientes. Quando compram trabalho com CMMi (veja o problema #3 acima) eles costumam solicitá-lo da maneira tradicional, e não compreendem nenhum processo ágil. Eles são geralmente comando e controle, opacos e waterfall. Mesmo se você tiver uma graduação CMMi você teria problemas ao tentar usá-la com a maioria dos clientes.
Estou cansado de ver empresas dizendo que usam CMMi em projetos ágeis. Praticamente todas que vi, ou não eram ágeis de verdade, ou não entendiam agile. Usualmente não encontramos nenhuma democracia organizacional, um monte de comando e controle, e até waterfall. O que você pode encontrar é uma empresa que tem algumas partes que são ágeis e algumas outras partes que usam CMMi, e elas normalmente não se cruzam, é como se fossem empresas diferentes. Ainda assim, elas dizem que são ágeis, porque é a nova tendência, e eles usam CMMi porque é a tendência antiga e ambas vendem.
Giovanni Bassi
Arquiteto e desenvolvedor, agilista, escalador, provocador. É fundador e CSA da Lambda3. Programa porque gosta. Acredita que pessoas autogerenciadas funcionam melhor e por acreditar que heterarquia é mais eficiente que hierarquia. Foi reconhecido Microsoft MVP há mais de dez anos, dos mais de vinte que atua no mercado. Já palestrou sobre .NET, Rust, microsserviços, JavaScript, TypeScript, Ruby, Node.js, Frontend e Backend, Agile, etc, no Brasil, e no exterior. Liderou grupos de usuários em assuntos como arquitetura de software, Docker, e .NET.