Capability Maturity Model (CMM) & seus níveis em engenharia de software

Índice:

Anonim

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)?

  1. Inicial
  2. Repetível / Gerenciado
  3. Definiram
  4. Gerenciado Quantitativamente
  5. Otimizando

O que acontece nos diferentes níveis do 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 geralmente estão dentro do prazo 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 os parâmetros do projeto, como custo, cronograma e funcionalidade
  • Meça o progresso real
  • Desenvolver planos e processos
  • Os padrões do projeto de software são definidos
  • Identificar e controlar produtos, alterações de relatórios de problemas, etc.
  • Os processos podem ser diferentes entre os projetos
  • Os processos tornam-se mais fáceis de compreender
  • Os gerentes e membros da equipe gastam menos tempo explicando como as coisas são feitas e mais tempo na execução
  • Os projetos são mais bem estimados, mais bem planejados e mais flexíveis
  • A qualidade é integrada aos 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
  • Resolva os requisitos de design, desenvolva um processo de implementação
  • Certifica-se de que o produto atende aos requisitos e uso pretendido
  • Analise as decisões sistematicamente
  • Rectificar e controlar problemas potenciais
  • A melhoria do processo torna-se o padrão
  • A solução progride de "codificada" para "projetada"
  • Portas 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
  • Entenda o desempenho do processo, gerencie 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 precocemente
  • Identificar e implantar novas ferramentas e melhorias de processo para atender às necessidades e objetivos de negócios
  • Promove inovação organizacional e implantação
  • Dá ímpeto à análise e resolução causais

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

  1. Compromisso de desempenho
  2. Capacidade de realizar
  3. Atividades executadas
  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 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