O CMMI e os processos de software

quarta-feira, 25 de novembro de 2009

O CMMI (Capability Maturity Model Integration) é, como o nome diz, um modelo de capacidade e maturidade. É um modelo de referência para a melhoria dos processos relacionados ao ciclo de desenvolvimento de software em organizações que desempenham esta atividade.

A melhor explicação que já ouvi até agora sobre capacidade e maturidade me foi contada pela professora Ana Regina C. da Rocha, verdadeira autoridade na área. Ela diz que uma criança adquire a capacidade de escrever ainda cedo, mas escreve de uma forma quando aprende, outra quando é adolescente, outra quando é adulta e outra no fim de uma carreira literária. O que muda é a sua maturidade.

Assim também, organizações adquirem a capacidade de fazer software de acordo com determinados processos e a cada ciclo de melhoria, deveria melhorar também a maturidade do que já era feito.

O CMMI organiza os processos de software em 5 níveis. Cada nível introduz novos processos e aumenta a exigência sobre os que já haviam sido introduzidos, obrigando a organização a aumentar sua maturidade.

A cada nível é possível fazer uma avaliação, onde pessoas credenciadas ao Software Engineering Institute, da Carnegie Mellon University atestam que a organização implementa os processos daquele nível de forma suficiente para as exigências do modelo.

Estes processos não foram tirados do bolso, obviamente. Foi muita pesquisa até se chegar na norma internacional ISO/IEC 12207 na qual o CMMI se baseou. Também se baseou na ISO/IEC 15504 para seu processo de avaliação.

Este modelo é considerado de difícil implantação nas pequenas empresas brasileiras, com avaliações caras. Mas temos o MPS.BR, totalmente compatível, com implementação facilitada para pequenas empresas e custos muito mais baixos. Falo dele num próximo post.

Os processos de cada nível são:
Nível 1: Ad hoc - Não há processos e atividades definidas. As pessoas trabalham de forma reativa, sem muito planejamento na maior parte das vezes.

Nível 2: Gerenciado - Processos de gerência, requisitos, medição e análise e outros necessários para um funcionamento controlado.
CM – Gerência de configuração
MA – Medição e análise
PP – Planejamento de projetos
PMC – Acompanhamento de projetos
PPQA – Garantia de qualidade do processo e produto
REQM – Gerência de requisitos
SAM – Gerência de acordos com fornecedores

Nível 3: Definido - Os processos, ferramentas e métodos são definidos a nível organizacional e padronizados em todos os projetos.
PI – Integração do produto
RD – Desenvolvimento de requisitos
TS – Solução técnica
VAL - Validação
VER – Verificação
OPD – Definição do processo organizacional
OPF – Foco no processo organizacional
OT – Treinamento organizacional
IPM – Gerência integrada de projetos
DAR – Análise de decisão e resolução
RSKM – Gerência de riscos

Nível 4: Gerenciado quantitativamente - Os processos são medidos e gerenciados através de ferramentas estatísticas. Considerado como de alta maturidade. Em geral, após um grande esforço de implementação do nível 3, este nível dificilmente é avaliado. Por só ter dois processos, as empresas costumam implementar este junto com o 5 e fazer uma avaliação só.
QPM – Gerência quantitativa de projetos
OPP – Desempenho do processo organizacional

Nível 5: Em otimização - Melhoria contínua implementada com uso do ferramental estatístico e dados coletados a partir de processos estabilizados graças a maturidade obtida pela implantação dos processos dos níveis anteriores.
CAR - Análise de causa e resolução
OID - Inovação organizacional e implantação

O CMMI também permite que uma empresa escolha quais processos quer avaliar por achar mais relevantes na sua situação e quais níveis de cada processo serão avaliados (como expliquei, os processos do nível 2 devem ser mais maduros no 3 do que eram no 2). Este tipo de avaliação é chamada de "contínua" em oposição à avaliação "em estágios". Como a avaliação contínua não dá um nível que a empresa possa estampar no seu material de divulgação, acaba sendo preterida à outra.

No futuro, pretendo falar a respeito de cada um destes processos ou até pedir a especialistas na área que escrevam algo para eu postar aqui. Tenho certeza que será bastante interessante.

Só a título de curiosidade, o MPS.Br facilita as coisas tendo mais níveis com menos processos em cada um, trazendo um retorno de investimento mais cedo. Os níveis G e F do MPS.Br correspondem ao 2 do CMMI. Os níveis C, D e E ao nível 3. O nível B ao 4 e o A ao 5. Outra facilidade também é a presença de avaliadores e implementadores em quase todos os estados e nas principais cidades brasileiras, tornando a implementação e a avaliação mais baratas, além de fontes de subsídio para que as organizações implementem suas melhorias. Mas o MPS.Br fica pra outro post. Merece um só para ele.

Links do CMMI:
http://www.blogcmmi.com.br/
http://pt.wikipedia.org/wiki/Cmmi
http://www.sei.cmu.edu/cmmi (Oficial)
http://en.wikipedia.org/wiki/CMMI

Abraço a todos!

Bookmark and Share

Um comentário:

Postar um comentário

 
addthis_config = { data_ga_tracker: pageTracker }