O que é CMM?
O Capability Maturity Model é usado como referência para medir a maturidade do processo de software de uma organização.
O CMM foi desenvolvido no Instituto de engenharia de software no final dos anos 80. Foi desenvolvido como resultado de um estudo financiado pela Força Aérea dos Estados Unidos como forma de avaliar o trabalho de subcontratados. Posteriormente, com base no modelo CMM-SW criado em 1991 para avaliar a maturidade do desenvolvimento de software, vários outros modelos são integrados ao CMM-I.
Neste tutorial, aprenderemos,
- O que são níveis do Capability Maturity Model (CMM)?
- O que acontece nos diferentes níveis do CMM?
- Quanto tempo leva para implementar o CMM?
- Estrutura Interna do CMM
- Limitações dos modelos CMM
- Por que usar o CMM?
O que são níveis do Capability Maturity Model (CMM)?
- Inicial
- Repetível / Gerenciado
- Definiram
- Gerenciado Quantitativamente
- Otimizando
O que acontece nos diferentes níveis do CMM?
Níveis | Atividades | Benefícios |
---|---|---|
Nível 1 inicial |
| Nenhum. Um projeto é o Caos Total |
Nível 2 gerenciado |
|
|
Nível 3 definido |
|
|
Nível 4 gerenciado quantitativamente |
|
|
Otimização de nível 5 |
|
|
O diagrama a seguir, dá uma representação pictórica do que acontece em diferentes níveis de CMM
Quanto tempo leva para implementar o CMM?
CMM é o processo mais desejável para manter a qualidade do produto para qualquer empresa de desenvolvimento de software, mas sua implementação demora um pouco mais do que o esperado.
- A implementação do CMM não ocorre durante a noite
- Não é apenas uma "papelada".
- Os tempos típicos de implementação são
- 3-6 meses -> para preparação
- 6-12 meses -> para implementação
- 3 meses -> para preparação de avaliação
- 12 meses -> para cada novo nível
Estrutura Interna do CMM
Cada nível no CMM é definido na área de processo principal ou KPA , exceto para o nível 1. Cada KPA define um cluster de atividades relacionadas, que quando realizadas coletivamente atinge um conjunto de metas consideradas vitais para melhorar a capacidade do software
Para diferentes níveis de CMM, há um conjunto de KPAs, por exemplo, para CMM modelo-2, KPA são
- REQM- Gerenciamento de Requisitos
- PP- Planejamento do Projeto
- PMC- Monitoramento e Controle do Projeto
- SAM- Gestão do Contrato do Fornecedor
- PPQA-Processo e Garantia de Qualidade
- Gerenciamento de configuração de CM
Da mesma forma, para outros modelos de CMM, você tem KPAs específicos. Para saber se a implementação de um KPA é eficaz, duradouro e repetível, ele é mapeado na base a seguir
- Compromisso de desempenho
- Capacidade de realizar
- Atividades executadas
- Medição e Análise
- Verificando a implementação
Limitações dos modelos CMM
- O CMM determina o que um processo deve abordar em vez de como ele deve ser implementado
- Não explica todas as possibilidades de melhoria do processo de software
- Concentra-se em questões de software, mas não considera o planejamento estratégico de negócios, adoção de tecnologias, estabelecimento de linha de produtos e gestão de recursos humanos
- Não diz em que tipo de negócio uma organização deve estar
- CMM não será útil no projeto que está tendo uma crise agora
Por que usar o CMM?
Hoje, o CMM atua como um "selo de aprovação" na indústria de software. Ajuda de várias maneiras a melhorar a qualidade do software.
- Ele orienta para o processo padrão repetível e, portanto, reduz o tempo de aprendizagem sobre como fazer as coisas
- Praticar CMM significa praticar protocolo padrão para desenvolvimento, o que significa que não só ajuda a equipe a economizar tempo, mas também dá uma visão clara do que fazer e o que esperar
- As atividades de qualidade combinam bem com o projeto, em vez de pensadas como um evento separado
- Ele atua como um intermediário entre o projeto e a equipe
- Os esforços do CMM são sempre voltados para a melhoria do processo
Resumo
O CMM foi introduzido pela primeira vez no final dos anos 80 na Força Aérea dos Estados Unidos para avaliar o trabalho de subcontratados. Posteriormente, com versão aprimorada, foi implementado para acompanhar a qualidade do sistema de desenvolvimento de software.
Todo o nível CMM é dividido em cinco níveis.
- Nível 1 (Inicial): Onde os requisitos do sistema são geralmente incertos, mal compreendidos e não controlados. O processo geralmente é caótico e ad hoc.
- Nível 2 (gerenciado): Estimar o custo, o cronograma e a funcionalidade do projeto. Os padrões de software são definidos
- Nível 3 (definido): garante que o produto atenda aos requisitos e uso pretendido
- Nível 4 (Gerenciado Quantitativamente): Gerencia os processos e subprocessos do projeto estatisticamente
- Nível 5 (Maturidade): Identificar e implantar novas ferramentas e melhorias de processo para atender às necessidades e objetivos de negócios