Desenvolvido pelo SEI (Software Engineering Institute) e baseado no CMM (Capability Maturity Model), o projeto CMMI (Capability Maturity Model Integration) é um abrangente modelo com as melhores práticas, voltado ao desenvolvimento e à manutenção de produtos e serviços.
O modelo possui duas abordagens que foram projetadas para oferecer resultados essencialmente equivalentes, sendo eles o abordagem contínua e a abordagem por estágios. Em ambas as abordagens existem componentes que devem ser alcançados.
Estes componentes são áreas do processo que seria o conjunto de objetivos considerados importantes para implementação de melhorias significantes na área de processo em questão, objetivos específicos que seriam a descrição dos objetivos que devem ser alcançados pela área de processos, práticas específicas que seriam a atividades para atingir cada objetivo específico e objetivos genéricos que seriam os objetivos suscetíveis a mais de uma área de processo.
Cada abordagem contempla um modelo de disciplina, que devem ser aplicado diante da realidade e ou necessidade da organização. Estes modelos de disciplinas são conhecidas como:
- CMMI for Software Engineering: modelo voltado para a Engenharia de Software.
- CMMI for Systems Engineering: modelo voltado para a Engenharia de Sistemas.
- CMMI for Systems Engineering and Software Engineering: modelo voltado para Engenharia de Software e Engenharia de Sistemas.
- CMMI for Systems Engineering, Software Engineering, and Integrated Product and Process Development: modelo voltado para Engenharia de Software e Engenharia de Sistemas, assim como o Desenvolvimento deProcesso e Produtos Integrado.
- CMMI for Systems Engineering, Software Engineering, Integrated Product and Process Development, and Supplier Sourcing: modelo completo do CMMI que incluí todas as suas disciplinas que seriam Engenharia de software, Engenharia de Sistemas, Desenvolvimento de Processo e Produto
Integrado e Contratos de Fornecedores.
O CMMI por ser um complexo modelo de maturidade, quando utilizado corretamente torna o processo de software mais eficiente e controlado, o que consequentemente causa um impacto positivo na manutenção de software, tornando a sua realização, planejada, gerenciada e de certa forma confiável.
CMMI Abordagem Contínua
Na abordagem contínua, o foco está em aumentar a capacitação da organização em algumas áreas, de modo que permita a organização direcionar seus esforços de melhoria em áreas que ela julgar mais necessária. Esta abordagem pode ser classificada em seis níveis de capacidade, assim como representado e detalhado pela seguinte tabela:
- Nível 0 – Incompleto: Consiste na execução parcial ou não execução de práticas específicas, de modo que não atinja um objetivo específico o que consequentemente torna a área de processo incompleta.
- Nível 1 – Executado: Consiste na execução de uma área de processo, assim como o alcance de seus objetivos específicos e genéricos.
- Nível 2 – Gerenciado: Consiste na execução de uma área de processo, que está em conformidade com a política da organização, sendo ela planejada, monitorada, controlada e revisada.
- Nível 3 – Definido: Consiste no gerenciamento de uma área de processo, que se está de acordo a um conjunto de processos padrões da organização.
- Nível 4 – Quantitativamente Gerenciado: Consiste da definição de uma área de processo, que esta controlada, e utiliza estatísticas e outras técnicas quantitativas. Tendo como critério do gerenciamento dos processos os resultados deste controle.
- Nível 5 – Otimizado: Consiste do gerenciamento quantitativo de uma área de processo, que é modificada e adaptada para alcance dos objetivos de negócio da organização, com foco em melhorias tecnológicas incrementais e inovadoras.
CMMI Representação por estágios
Na representação por estágios, o foco está nos níveis de Maturidade da organização, tendo em cada nível processos de orientação e melhoria que precisam ser implementados, servindo de base para um próximo nível. Esta representação é classificada em 5 níveis de maturidade compostas por áreas de processos, assim como representado detalhado pela tabela a seguir:
Nível de Maturidade |
Níveis de Maturidade da representação em estágios |
Áreas de Processos |
1 |
Inicial | – |
2 |
Gerenciado | -Gerenciamento de Requisitos -Planejamento de Projeto. -Controle e Monitoração de Projeto -Gerenciamento de Contrato de Fornecedores -Medições e Análises -Garantia de Qualidade de Produto e Processo -Gerenciamento da Configuração |
3 |
Definido | -Desenvolvimento de Requisitos -Solução Técnica -Integração de Produto -Verificação -Validação -Foco no Processo Organizacional -Definição de Processo Organizacional -Treinamento Organizacional. -Gerenciamento de Projeto Integrado -Gerenciamento de Risco -Resolução e Análise de Decisão |
4 |
Gerenciado Quantitativamente | -Desempenho do Processo Organizacional -Gerenciamento Quantitativo do Projeto |
5 |
Otimizado | -Disposição e Inovação Organizacional -Resolução e Análise Causal |
- Nível 1 – Inicial: Consiste da inexistência de processos definidos, falta de comprometimento com os projetos, entre outras ineficiências que fazem que o sucesso na realização de atividades, dependa de esforços individuais. Fazendo com que os projetos destas organizações frequentemente excedam seus custos e cronogramas.
- Nível 2 – Gerenciado: Consistem no planejamento, execução, medição e controle dos processos da organização, de modo que estejam gerenciados e documentados, além de serem executados mesmo em momentos de crise. Fazendo com que seus produtos e serviços satisfaçam seus requisitos, padrões e objetivos.
- Nível 3 – Definido: Consistem na compreensão e documentação de procedimentos, padrões, ferramentas e métodos em toda a organização. Fazendo com que os processos sejam descritos com um maior nível de detalhes e sejam seguidos com mais rigor em relação a seu nível anterior
- Nível 4 – Quantitativamente Gerenciado: Consiste no controle dos processos por meio de estatísticas e outras técnicas quantitativas, baseada nas necessidades dos consumidores, clientes, organizações e executores do processo. Fazendo que as causas das variações de desempenho no processo sejam identificadas e corrigidas e assim prevenir novas ocorrências.
- Nível 5 – Otimizado: Consiste na melhoria contínua dos processos, através de melhorias incrementais e inovação tecnológica, e baseada no gerenciamento quantitativo. Fazendo com que seus processos sejam continuamente revisados e assim refletindo em mudanças nos objetivos do negócio.