O CMMI (Capability Maturity Model Integration ou Modelo Integrado de Maturidade em Capacitação) é um modelo de referência que contém práticas (Genéricas ou Específicas) necessárias à maturidade em disciplinas específicas (Systems Engineering (SE - Engenharia de Sistemas), Software Engineering (SW - Engenharia de Software), Integrated Product and Process Development (IPPD - Desenvolvimento Integrado de Processo e Produto), Supplier Sourcing (SS - Seleção de Fornecedores)). O modelo é gerenciado pelo Instituto CMMI, uma organização da ISACA. Desenvolvido pelo SEI (Software Engineering Institute) da Universidade Carnegie Mellon, o CMMI é uma evolução do CMM e procura estabelecer um modelo único para o processo de melhoria corporativo, integrando diferentes modelos e disciplinas. O CMMI é um conjunto comprovado de práticas globais recomendadas que impulsiona o desempenho dos negócios por meio da criação e do benchmarking(avaliação comparativa) de recursos-chave serna.
O CMMI foi baseado nas melhores práticas para desenvolvimento e manutenção de produtos. Há uma ênfase tanto em engenharia de sistemas quanto em engenharia de software, e há uma integração necessária para o desenvolvimento e a manutenção. Ele está dividido em 5 níveis de maturidade que atestam, o grau de evolução em que uma organização se encontra. Além disso, tem por objetivo principal funcionar como um guia para a melhoria dos processos da organização, considerando para isto atividades como o gerenciamento do desenvolvimento de software, prazos e custos previamente estabelecidos. O objetivo maior, considerando o CMMI e seus diferentes conceitos, está justamente na produção de software com maior qualidade e menos propenso a erros.
A versão do CMMI (versão 1.3) foi publicada em 27 de outubro de 2010 e apresenta três modelos:
CMMI for Development (CMMI-DEV), voltado ao processo de desenvolvimento de produtos e serviços. CMMI for Acquisition (CMMI-ACQ), voltado aos processos de aquisição e terceirização de bens e serviços. CMMI for Services (CMMI-SVC), voltado aos processos de empresas prestadoras de serviços.
Uma das premissas do modelo é "A qualidade é influenciada pelo processo", e seu foco é "Melhorar processo de uma empresa".
A versão atual do modelo é o CMMI V2.0, liberado em Março de 2018.
O objetivo final do CMMI é integrar processos para melhorar produtos.
Evolução Histórica Na década de 1930, Walter Shewhart começou a trabalhar na melhoria de processos com os seus princípios de controle estatístico da qualidade [Shewhart 1931]. Esses princípios foram refinados por W. Edwards Deming [Deming 1986], Philip Crosby [Crosby 1979], e Joseph Juran [Juran 1988]. Watts Humphrey, Ron Radice, e outros estenderam esses princípios ainda mais e começaram a aplicá-los aos softwares em seus trabalhos na IBM e do SEI [Humphrey 1989]. O livro de Humphrey, Gerenciando o Processo de Software, fornece uma descrição dos princípios e conceitos básicos sobre os quais muitos dos CMMs se baseiam.CMMI for Development, Version 1.3, Carnegie Mellon University, ano 2010. p. 5
O CMMI surgiu durante a década de 1980 como um modelo para avaliação de risco na contratação de empresas de software pelo Departamento de Defesa dos Estados Unidos que desejava ser capaz de avaliar os processos de desenvolvimento utilizados pelas empresas que concorriam em licitações como indicação da previsibilidade da qualidade, custos e prazos nos projetos contratados. Para desenvolver esse processo, o DOD constituiu junto a Carnegie-Mellon University o SEI (Software Engineering Institute), o qual além de ser responsável pela evolução da família CMM, realiza diversas outras pesquisas em engenharia de software.
A partir de 1991, foram desenvolvidos CMMs® para várias disciplinas (Engenharia de Sistemas, Engenharia de Software, Aquisição de Software, Gerência e Desenvolvimento da Força de Trabalho, Desenvolvimento Integrado do Processo e do Produto). Embora estes modelos tenham mostrado sua utilidade, o uso de múltiplos modelos se mostrou problemático. O CMMI® surgiu para resolver o problema de utilização de vários modelos e é o resultado da evolução do SW-CMM®, SECM® (System Engineering Capability Model) e IPD-CMM® (Integrated Product Development Capability Maturity Model).
Os processos de melhoria nasceram de estudos realizados por Deming (Out of the Crisis), Crosby (Quality is Free: The Art of Making Quality Certain) e Juran, cujo objetivo principal era a melhoria da capacidade dos processos. Entende-se por capacidade de um processo a habilidade com que este alcança o resultado desejado.
Um modelo tem como objetivo estabelecer - com base em estudos, históricos e conhecimento operacional - um conjunto de "melhores práticas" que devem ser utilizadas para um fim específico.
O CMMI tem como origens em três outros modelos de maturidade - SW-CMM (SEI Software CMM), EIA SECM (Electronic Industries Alliances's Systems Engineer Capability Model) e IPD-CMM (Integrated Product Development CMM).
Resumindo, o CMMI é o sucessor do modelo de maturidade de capacidade (CMM) ou Software CMM. O CMM foi desenvolvido de 1987 até 1997. Em 2002, a versão 1.1 foi lançada, a versão 1.2 foi seguida em agosto de 2006 e a versão 1.3 em novembro de 2010. Algumas mudanças importantes no CMMI V1.3 são o suporte ao desenvolvimento ágil de software melhorias nas práticas de alta maturidade e alinhamento da representação (encenada e contínua).
O CMMI ajuda a "integrar funções organizacionais tradicionalmente separadas, definir metas e prioridades de melhoria de processos, fornecer orientação para processos de qualidade e fornecer um ponto de referência para avaliar processos atuais".Instituto de Engenharia de Software(Software Engineering Institute - SEI, 2008)
Em março de 2016, o Instituto CMMI foi adquirido pela ISACA.
Em março de 2018, o CMMI 2.0 foi introduzido, não pela primeira vez na história do CMMI: a opção mais barata era o acesso de 1 semana à versão online por US $ 150,00.
Sobre o CMM Um Capability Maturity Model, incluindo o CMMI, é uma representação simplificada do mundo. CMMs contêm os elementos essenciais dos processos eficazes. Esses elementos são baseados nos conceitos desenvolvidos por Crosby, Deming, Juran, e Humphrey.
O SEI adotou a premissa de gestão de processos, "a qualidade de um sistema ou o produto é altamente influenciada pela qualidade do processo utilizado para desenvolvê-lo e mantê-lo", e definiu CMMs que incorporaram essa premissa.
Dimensões O CMMI foi construído considerando três dimensões principais: pessoas, ferramentas e procedimentos. O processo serve para unir essas dimensões.
Disciplinas O processo inclui três disciplinas ou corpos de conhecimento (body of knowledges), sendo elas: Engenharia de sistemas Engenharia de software Engenharia de hardware
A engenharia de software é similar à engenharia de sistemas em relação às áreas de processo, apenas com enfoque diferente nos processos. As áreas de processo requeridas para engenharia de sistemas são as mesmas para engenharia de software, mas o nível de maturidade que é diferente.
Representações O CMMI possui duas representações: "contínua" ou "por estágios". Estas representações permitem à organização utilizar diferentes caminhos para a melhoria de acordo com seu interesse. miniaturadaimagem|538x538px|Representação Contínua - CMMI
Representação Contínua Define uma sequência para melhoria de uma área de processos e ao mesmo tempo permite uma flexibilidade na escolha das áreas de processo a serem melhoradas, possibilitando a organização direcionar seus esforços de melhoria nas áreas que julgar mais relevante. É caracterizado por: Níveis de Capacidade (Capability Levels):
Nível 0: Incompleto (Ad-hoc) Nível 1: Executado Nível 2: Gerenciado / Gerido Nível 3: Definido Nível 4: Gerenciado quantitativamente --- REMOVIDO DA v.1.3 Nível 5: Em otimização --- REMOVIDO DA v.1.3
Nesta representação a capacidade é medida por processos separadamente, onde é possível ter um processo com nível um e outro processo com nível cinco, variando de acordo com os interesses da empresa.
No nível 1(um) o processo é executado de modo a completar o trabalho necessário para a execução de um processo.
No nível 2(dois) é sobre planejar a execução e confrontar o executado contra o que foi planejado. No nível 3(três) o processo é construído sobre as diretrizes do processo existente, e é mantido uma descrição do processo. No nível 4(quatro) é quando o processo é gerenciado quantitativamente através de estatísticas e outras técnicas. No nível 5(cinco) o processo gerido quantitativamente é alterado e adaptado para atender às necessidades negociais/estratégicas da empresa.
A representação contínua é indicada quando a empresa deseja tornar apenas alguns processos mais maduros, quando já utiliza algum modelo de maturidade contínua ou quando não pretende usar a maturidade alcançada como modelo de comparação com outras empresas. miniaturadaimagem|496x496px|Representação por Estágio - CMMI
Representação Por Estágios Disponibiliza uma sequência pré-determinada para melhoria baseada em estágios que não deve ser desconsiderada, pois cada estágio serve de base para o próximo. É caracterizado por Níveis de Maturidade (Maturity Levels): Nível 1: Inicial (Ad-hoc) Nível 2: Gerenciado/Gerido Nível 3: Definido Nível 4: Quantitativamente gerenciado / Gerido quantitativamente Nível 5: Em otimização
Nesta representação a maturidade é medida por um conjunto de processos. Assim é necessário que todos os processos atinjam nível de maturidade dois para que a empresa seja certificada com nível dois. Se quase todos os processos forem nível três, mas apenas um deles estiver no nível dois a empresa não irá conseguir obter o nível de maturidade três.
Esta representação é indicada quando a empresa já utiliza algum modelo de maturidade por estágios, quando deseja utilizar o nível de maturidade alcançado para comparação com outras empresas ou quando pretende usar o nível de conhecimento obtido por outros para sua área de atuação.
Representação Contínua vs Representação por Estágio Na representação contínua o nível de capacidade é medido para uma área ou um conjunto de áreas de processos definido pela organização. Já na representação por estágio, o nível de maturidade é medido para um conjunto de áreas de processos definido previamente no modelo.
Modelo de estrutura (v2.0) Na versão 2.0, a separação de representação acima foi cancelada e agora existe apenas um modelo coeso. O modelo é dividido em 4 categorias, 12 capacidades e 25 áreas de processo (com iniciais entre parênteses e os mais altos níveis de maturidade atingíveis entre colchetes):
Fazendo Garantindo a Qualidade (ENQ) Desenvolvimento e Gerenciamento de Requisitos (RDM) Garantia de Qualidade de Processo (PQA) Validação e Verificação (VV) Avaliações de Colegas (PR) Engenharia e Desenvolvimento de Produtos (EDP) Solução Técnica (TS) Integração de Produtos (PI) Selecionando e Gerenciando Fornecedores (SMS) Gestão de Contratos de Fornecedores Gerenciando Planejamento e Gerenciamento de Trabalho (PMW) Estimando (EST) Planejamento (PLAN) Monitoramento e Controle (MC) Gerenciando Resiliência de Negócios (MBR) Gestão de Riscos e Oportunidades (RSK) Gerenciando a Força de Trabalho (MWF) Treinamento Organizacional (OT) Possibilitando Suportando a Implementação (SI) Analise Casual e Resolução (CAR) Analise e Resolução de Decisões (DAR) Gerenciamento de Configuração (CM) Melhorando Capacidade de Construção e Sustentação (BSC) Governança (GOV) Infraestrutura de Implementação (||) Melhorando o Desempenho (IMP) Gerenciamento de Processos (PCM) Desenvolvimento de Ativos de Processo (PAD) Gerenciando Desempenho e Medição (MPM)
Modelo de estrutura (v1.3)