Modelo de maturidade de capacidade (CMM) e seus níveis em engenharia de software

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 a partir de um estudo financiado pela Força Aérea dos Estados Unidos como forma de avaliar o trabalho dos subcontratados. Later baseado 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, eles são

modelo de maturidade capacitiva

O que são os níveis do modelo de maturidade de capacidade (CMM)?

  1. Inicie
  2. Repetível/Gerenciado
  3. Definido
  4. Gerenciado Quantitativamente
  5. Otimizando

Níveis do modelo de maturidade de capacidade (CMM)

O que acontece em diferentes níveis de CMM?

Níveis Atividades Benefícios
Nível 1 inicial
  • No nível 1, o processo é geralmente caótico e ad hoc
  • Uma capacidade é caracterizada com base nos indivíduos e não na organização
  • Progresso não medido
  • Os produtos desenvolvidos são frequentemente programados e acima do orçamento
  • Grandes variações no cronograma, custo, funcionalidade e metas de qualidade
Nenhum. Um projeto é o caos total
Nível 2 Gerenciado
  • Gerenciamento de Requisitos
  • Estimar parâmetros do projeto, como custo, cronograma e funcionalidade
  • Medir o progresso real
  • Desenvolver planos e processos
  • Os padrões de projeto de software são definidos
  • Identificar e controlar produtos, alterações de relatórios de problemas, etc.
  • Os processos podem diferir entre os projetos
  • Os processos tornam-se mais fáceis de compreender
  • Gerentes e membros da equipe gastam menos tempo explicando como as coisas são feitas e mais tempo para executá-las
  • Os projetos são mais bem estimados, melhor planejados e mais flexíveis
  • A qualidade está integrada nos projetos
  • O custo pode ser alto inicialmente, mas diminui com o tempo
  • Peça mais papelada e documentação
Nível 3 Definido
  • Esclareça os requisitos do cliente
  • Resolver requisitos de design, desenvolver um processo de implementação
  • Garante que o produto atende aos requisitos e ao uso pretendido
  • Analise as decisões sistematicamente
  • Retifique e controle problemas potenciais
  • A Melhoria de Processos se torna o padrão
  • A solução progride de “codificada” para “projetada”
  • Portões de qualidade aparecem ao longo do esforço do projeto com toda a equipe envolvida no processo
  • Os riscos são mitigados e não pegam a equipe de surpresa
Nível 4 Gerenciado Quantitativamente
  • Gerencia os processos e subprocessos do projeto estatisticamente
  • Compreender o desempenho do processo, gerenciar quantitativamente o projeto da organização
  • Otimiza o desempenho do processo em toda a organização
  • Promove o Gerenciamento Quantitativo de Projetos em uma organização.
Otimização de Nível 5
  • Detecte e remova a causa dos defeitos antecipadamente
  • Identificar e implantar novas ferramentas e melhorias de processos para atender às necessidades e objetivos de negócios
  • Promove a inovação e implantação organizacional
  • Dá impulso à Análise Causal e Resolução

O diagrama a seguir fornece uma representação pictórica do que acontece em diferentes níveis do CMM

Diferentes níveis de CMM

Quanto tempo leva para implementar o CMM?

O 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 da noite para o dia
  • Não é apenas uma “papelada”.
  • Os tempos típicos para 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 em área de processo chave ou KPA, exceto para o nível-1. Cada KPA define um cluster de atividades relacionadas, que quando executadas coletivamente atingem 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 model-2, KPA são

  • REQM - Gerenciamento de Requisitos
  • PP- Planejamento do Projeto
  • PMC- Monitoramento e Controle de Projetos
  • SAM- Gestão de Contratos de Fornecedores
  • PPQA-Processo e Garantia de Qualidade
  • Gerenciamento de configuração do 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 seguinte base

  1. Compromisso de realizar
  2. Capacidade de realizar
  3. As atividades realizam
  4. Medição e Análise
  5. Verificando a implementação

Limitações dos Modelos CMM

  • O CMM determina o que um processo deve abordar em vez de como 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 planejamento estratégico de negócios, adoção de tecnologias, estabelecimento de linha de produtos e gerenciamento de recursos humanos
  • Não diz em que tipo de negócio uma organização deve estar
  • O CMM não será útil no projeto em crise agora

Por que usar o CMM?

Hoje o CMM atua como um “selo de aprovação” na indústria de software. Ele 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 aprendizado sobre como fazer as coisas
  • Praticar o CMM significa praticar o protocolo padrão para desenvolvimento, o que significa que não apenas ajuda a equipe a economizar tempo, mas também oferece uma visão clara do que fazer e do que esperar
  • As atividades de qualidade combinam bem com o projeto, em vez de serem consideradas um evento separado
  • Ele atua como um viajante entre o projeto e a equipe
  • Os esforços da 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 EUA para avaliar o trabalho de subcontratados. Later em diante, com versão melhorada, foi implementado para monitorar 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 para o sistema são geralmente incertos, incompreendidos e não controlados. O processo é geralmente caótico e ad-hoc.
  • Nível 2 (Gerenciado): Estime 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 atende aos requisitos e ao 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 processos para atender às necessidades e objetivos de negócios