CMMI - Ajuda ou Atrapalha?
De uma forma bem sucinta, o CMMI (Capability Maturity Model Integration - Modelo Integrado de Capacitação e Maturidade) é um modelo bastante aceito e de alta credibilidade no que se refere a medir a maturidade do processo de uma organização. Quanto mais madura o seu processo, maior a qualidade do produto final oriundo do processo. Pelo menos é o que pensa o SEI (Software Engineering Institute), órgão da Universidade Carnegie Mellon, patrocinado pelo Departamento de Defesa dos Estados Unidos, e responsável pela elaboração e manutenção do modelo CMMI.
O SEI acredita que a maturação do processo da organização é diretamente proporcional à qualidade do produto final obtido, mas não é só isso. O SEI acredita que o modelo CMMI também facilita para que a organização consiga elaborar o produto final do seu projeto com meios para que o custo, esforço real, e qualquer outra variável relevante ao processo, não se desvie muito do estimado e que tenha a melhor produtividade possível. E tudo isso aplicando as melhores práticas existentes dos processos. As melhores práticas de gerenciamento de projetos, por exemplo, que estão publicadas hoje no PMBoK (Project Management Body of Knowledge - Corpo de Conhecimento da Gerência de Projetos), estão, de certa forma, descritas no modelo. Em outro exemplo mais aplicável para nossa área, ou seja, no caso de processos de desenvolvimento de software, estão contidas no modelo as melhores práticas da engenharia de software.
Para muitos, um processo de desenvolvimento de software baseado no CMMI é muito burocrático e o custo do produto final termina aumentando. Afinal, segundo eles, nem todas as práticas são realmente necessárias na maioria dos casos e muito trabalho poderia ser evitado, principalmente em projetos pequenos. Frases como “O CMMI engessa o processo”, “O custo de desenvolvimento fica alto devido ao CMMI”, “O CMMI vai contra um processo ágil” são emitidas freqüentemente por profissionais que seguem essa linha de pensamento. Para eles, a qualidade gerada pelo CMMI possui um preço muito alto a se pagar e não agrega muito valor à organização.
Mas, a meu ver, eles estão cometendo um erro terrível: o CMMI não é um processo, é somente um modelo. Como vai ser aplicado o modelo dentro do seu processo, aí depende exclusivamente da organização. Ela pode fazer tanto um processo bem “engessado” ou um processo mais ágil. O tal processo “engessado”, muitas vezes, está ligado ao estudo ou compreensão inadequada que se fez do modelo.
Muitas vezes quando não se estuda a fundo o modelo, ele tende a ser aplicado da forma mais complexa e generalista possível. Quando não se tem a devida compreensão do modelo, as organizações costumam seguir os exemplos descritos lá, e a implementam de forma literal e, porque não dizer também, de forma burra! Esquecem que a maioria dos exemplos fornecidos no modelo tende a ser o mais detalhado possível, até para fornecer um melhor entendimento das práticas e/ou tentar contemplar um maior número de casos. Então, os não-estudiosos do modelo se apegam a estes exemplos e querem aplicá-los com todos os seus detalhes, porque fazendo dessa maneira “não tem erro”, dizem, e a prática será implementada corretamente e passaremos na avaliação.
Certamente ela será implementada de acordo com o modelo, mas dificilmente será da melhor maneira para a organização. Pode ser de uma maneira que não retrate o modo de trabalhar da empresa e/ou que esteja fora da realidade da mesma. Nesse caso tenham certeza que o processo, todo ou em parte, não vai durar muito tempo para cair em desuso. Vai ser o famoso “fazer para inglês ver”, até que não se faça mais.
O processo tem que ser único e particular para cada organização. Deve procurar retratar como a organização trabalha e deve-se buscar no modelo como melhorar as atividades da organização, tornando-as mais produtiva e mensurável, e não ao contrário. Só assim a implantação do modelo terá sucesso e o processo definido será tão enxuto quanto é a organização que o implementa.
No começo do processo de implantação até que o pessoal se acostume ao modus operandi vai demorar um pouco, como em qualquer implantação de processo (seja ele qual for) ou em qualquer mudança. Toda mudança é traumática, não importa onde e nem o motivo. Sempre há resistência. É inerente ao ser humano.
Por isso, é óbvio que no começo deste processo de implantação, ele parecerá muito rígido, burocrático, inadequado até. Principalmente para o pessoal que está acostumado a desenvolver sistemas sem nenhum método (a “migué”, como dizemos por aqui) ou de forma bastante informal, na base do “deixa comigo” ou do “sempre fiz assim e deu certo”. Empresas grandes ou que querem crescer não podem se cercar de heróis assim (ninguém duvida que sejam), pois ficariam muito dependente deles, do estado de espírito, visão e disposição de trabalhar dessas pessoas. Isso não existe hoje em uma empresa madura. Toda empresa hoje tem que depender de um processo eficiente a que se propõe, que diga quem deve fazer o que e quando, e até o como.
Finalizando, não devemos esquecer que o modelo CMMI é apenas um modelo. Não é um trilho, e sim, uma trilha a ser seguida. E para isso, o estudo e entendimento profundo do modelo são essenciais.



Parabéns pelo artigo. Gostei muito.
Bem colocado quando disse que o processo de desenvolvimento de software tem que ser único e particular para cada organização. E quando o processo é baseado no CMMI, este modelo (como bem citou) deve ser tomado como uma guia para melhorar o processo e gerenciar o desenvolvimento. Há uma confusão grande a esse respeito. Valeu o esclarecimento.
Sugiro apenas que para os “mais confusos” coloque no seu artigo um link para os níveis do modelo, pois talvez melhore a percepção de que o CMMI não é um processo.
Abraços,
Sales
Obrigado, Sales. Gostei de saber que consegui me fazer entender que o CMMI é um modelo (e não um processo) e que o processo é particular de cada organização. Cada qual no seu cada qual (ou cada um no seu quadrado
). Achei sua sugestão válida sobre links para níveis de modelo. Vou ver a melhor maneira de fazer isso.
Abraços, Werther
Boas palavras Werther!!!
Uma visão simples e correta do CMMI.
Muito bom João, sábias palavras.
O CMMI é um “process framework”, jamais deve ser utilizado como um processo em sí.
Usar o CMMI como um processo seria o mesmo que uma pessoa querer ir para uma festa vestindo um modelo de prova que os alfaiates usam na confecção de roupas.
O CMMI serve para apoiar empresas a definirem seus próprios processos a partir de um modelo comprovado de melhores práticas.
Grande abraço e parabéns por este espaço,
Ricardo Guerreiro
Valeu, Guerreiro. E gostei muito do exemplo do alfaiate.
Abraços, Werther
Olá werther!
Gostei de ver. O modo de apresentação que deu a parte de comentários, ficou muito boa. Até o “rosinha de fundo” dos seus comentário não ficou ruim.
Se me permite outra sugestão, complementando esse artigo de CMMI, discuta desenvolvimento de software com processos empíricos e processos sistematizados.
Até mais,
Sales
Oi, Sales
Valeu pela sugestão. Já está na minha lista.
Abraços, Werther
Bom artigo Werther. Parabéns pelo espaço.
Semana passada eu assisti uma palestra da Mary Beth Chrissis. Ela abordou algumas tendencias sobre CMMI. (Mary Beth é membro senior do SEI/CMU e co-autora do livro “CMMI - Guidelines for Process Improvement & product integration”).
Na sua palestra ela abordou alguns painéis muito interessantes que serão apresentados no SEPG/NA 2009: “CMMI in Small Settings”, “Process Innovation for Very Small Projects” e “Value added QA on small projects”
A SEI vislumbra um grande mercado para modelos de maturidade em empresas pequenas e mesmo nas minúsculas (5 a 10 funcionários). Foi muito interessante ver os exemplos e abordagem práticas da utilização do CMMI em pequenas organizações.
Agora é a vez dos pequenos mostrarem o seu valor e batalhar o seu espaço ao sol…
Boa notícia, Guerreito. Aliás, gostei da iniciativa do SEI. Espero que, para estas empresas consideradas minúsculas, eles também pensem em redução (ou desconto) no valor das avaliações.
A propósito, procurei no google e não achei nenhum material dela referente a este assunto. Se tiver algo, please, me envia.