Modelo de Maturidade de Capacidade (CMM) em Engenharia de Software

โšก Resumo Inteligente

O Capability Maturity Model (CMM) รฉ um modelo de referรชncia usado para medir o nรญvel de maturidade dos processos de software de uma organizaรงรฃo. Desenvolvido pelo Software Engineering Institute, ele define cinco nรญveis que orientam as equipes, desde um trabalho caรณtico e improvisado atรฉ uma melhoria contรญnua e otimizada.

  • ๐Ÿ“Š Definiรงรฃo: O CMM รฉ um indicador que mede a maturidade do processo de desenvolvimento de software de uma organizaรงรฃo.
  • ๐Ÿ›๏ธ Origem: Foi desenvolvido no Instituto de Engenharia de Software no final da dรฉcada de 1980 para a Forรงa Aรฉrea dos EUA.
  • ๐Ÿชœ Cinco nรญveis: Inicial, Gerenciado, Definido, Gerenciado Quantitativamente e Otimizando formam a escala de maturidade.
  • โณ Tempo de implementaรงรฃo: A adoรงรฃo completa normalmente leva meses por nรญvel, nรฃo sendo uma mudanรงa que ocorre da noite para o dia.
  • ๐Ÿงฉ Principais รกreas de processo: Cada nรญvel, com exceรงรฃo do Nรญvel 1, รฉ definido por รreas de Processo Chave (APCs) que agrupam objetivos relacionados.
  • โš ๏ธ Limitaรงรฃo: O CMM define o que um processo deve abordar, nรฃo como implementรก-lo, e ignora a estratรฉgia de negรณcios.

Modelo de Maturidade de Capacidade (CMM)

O que รฉ CMM?

modelo de maturidade capacitiva ร‰ utilizado 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 da dรฉcada de 80. Ele foi criado como resultado de um estudo financiado pela Forรงa Aรฉrea dos EUA, com o objetivo de avaliar o trabalho de subcontratados.tractores. LaterCom base no modelo CMM-SW criado em 1991 para avaliar a maturidade do desenvolvimento de software, vรกrios outros modelos foram integrados ao CMM-I.

modelo de maturidade capacitiva

O que sรฃo os nรญveis do modelo de maturidade de capacidade (CMM)?

O modelo define cinco nรญveis progressivos de maturidade:

  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?

A tabela abaixo detalha as atividades e os benefรญcios em cada nรญvel.

Nรญveis Atividades Benefรญcios
Nรญvel 1 inicial
  • No nรญvel 1, o processo geralmente รฉ caรณtico e improvisado.
  • A capacidade รฉ caracterizada com base nos indivรญduos e nรฃo na organizaรงรฃo.
  • Progresso nรฃo mensurado.
  • Os produtos desenvolvidos frequentemente atrasam em relaรงรฃo ao cronograma e ultrapassam o orรงamento.
  • Grandes variaรงรตes nos objetivos de cronograma, custo, funcionalidade e qualidade.
Nenhuma. Um projeto รฉ um 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, relatรณrios de problemas, alteraรงรตes, etc.
  • Os processos podem diferir entre os projetos
  • Os processos tornam-se mais fรกceis de compreender
  • Gerentes e membros da equipe passam menos tempo explicando como as coisas sรฃo feitas e mais tempo executando-as.
  • Os projetos sรฃo melhor estimados, melhor planejados e mais flexรญveis.
  • A qualidade estรก integrada nos projetos
  • O custo pode ser alto inicialmente, mas diminui com o tempo.
  • Requer 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 atenda aos requisitos e ร  finalidade de uso pretendida.
  • 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 a gestรฃo quantitativa 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 apresenta uma representaรงรฃo visual 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 em qualquer empresa de desenvolvimento de software, mas sua implementaรงรฃo leva um pouco mais de tempo do que o esperado.

  • A implementaรงรฃo do CMM nรฃo acontece da noite para o dia.
  • Nรฃo se trata apenas de "burocracia".
  • Os prazos 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 um รกrea de processo chave ou KPA, exceto para o nรญvel 1. Cada KPA define um conjunto de atividades relacionadas que, quando executadas coletivamente, alcanรงam um conjunto de objetivos considerados vitais para aprimorar a capacidade do software.

Para diferentes nรญveis de CMM, existem conjuntos de KPAs (Avaliaรงรตes de Desempenho). Por exemplo, para o modelo CMM 2, os KPAs sรฃo:

  • REQM โ€“ Gestรฃo de Requisitos
  • PP โ€“ Planejamento de Projetos
  • PMC โ€“ Monitoramento e Controle de Projetos
  • SAM โ€“ Gestรฃo de Acordos com Fornecedores
  • PPQA โ€“ Processo e Garantia da Qualidade
  • CM โ€“ Gerenciamento de Configuraรงรฃo

Da mesma forma, para outros modelos CMM, existem KPAs especรญficos. Para saber se a implementaรงรฃo de um KPA รฉ eficaz, duradoura e repetรญvel, ele รฉ mapeado com base no seguinte:

  1. Compromisso de realizar
  2. Capacidade de realizar
  3. Atividades realizadas
  4. Mediรงรฃo e Anรกlise
  5. Verificando a implementaรงรฃo

Limitaรงรตes dos Modelos CMM

O modelo tambรฉm apresenta diversas limitaรงรตes:

  • O CMM determina o que um processo deve abordar, em vez de como ele deve ser implementado.
  • Isso nรฃo explica todas as possibilidades de melhoria dos processos de software.
  • Concentra-se em questรตes de software, mas nรฃo considera o planejamento estratรฉgico de negรณcios, a adoรงรฃo de tecnologias, o estabelecimento de uma linha de produtos e a gestรฃo de recursos humanos.
  • Nรฃo indica em que tipo de negรณcio uma organizaรงรฃo deve atuar.
  • O mรฉtodo CMM nรฃo serรก รบtil em um projeto que esteja passando por uma crise neste momento.

Por que usar o CMM?

Hoje, o CMM funciona como um "selo de aprovaรงรฃo" na indรบstria de software. Ele ajuda de diversas maneiras a melhorar a qualidade do software.

  • Isso orienta para um processo padrรฃo repetรญvel e, portanto, reduz o tempo de aprendizado sobre como realizar as tarefas.
  • Praticar o CMM significa praticar um protocolo padrรฃo para o desenvolvimento, o que nรฃo sรณ ajuda a equipe a economizar tempo, mas tambรฉm proporciona uma visรฃo clara do que fazer e do que esperar.
  • As atividades de qualidade se integram bem ao projeto, em vez de serem consideradas um evento isolado.
  • Ele serve como um elo de comunicaรงรฃo entre o projeto e a equipe.
  • Os esforรงos da CMM visam sempre a melhoria do processo.

Perguntas Frequentes

O CMM รฉ o modelo original, focado principalmente na maturidade dos processos de software. O CMMI (Capability Maturity Model Integration) รฉ seu sucessor, abrangendo software, hardware e serviรงos com uma estrutura integrada. Atualmente, a maioria das organizaรงรตes adota o CMMI em vez do antigo CMM.

O CMM รฉ amplamente utilizado em TI e serviรงos de software, defesa, aeroespacial, bancos e telecomunicaรงรตes. Qualquer organizaรงรฃo que terceirize ou forneรงa software complexo o utiliza para avaliar a qualidade, reduzir riscos e demonstrar processos confiรกveis โ€‹โ€‹e repetรญveis aos clientes.

Sim, embora o CMMI tenha substituรญdo em grande parte o CMM original. As avaliaรงรตes de maturidade continuam relevantes para organizaรงรตes que precisam comprovar a disciplina de processos na terceirizaรงรฃo.tracts, licitaรงรตes governamentais e auditorias de qualidade, mesmo em conjunto com prรกticas Agile e DevOps.

A IA pode analisar dados de processos, detectar defeitos precocemente e prever riscos de cronograma ou custo. Ao automatizar a mediรงรฃo e a geraรงรฃo de relatรณrios, ela dรก suporte aos nรญveis mais altos do CMM (Modelo de Manufatura Contรญnua), onde as organizaรงรตes dependem da gestรฃo quantitativa e da melhoria contรญnua orientada por dados.

Sim. As ferramentas de IA automatizam testes, revisรฃo de cรณdigo e monitoramento de processos, tornando as prรกticas repetรญveis e mensurรกveis. Isso ajuda as equipes a migrarem de um trabalho improvisado para nรญveis definidos e otimizados, embora a supervisรฃo humana ainda seja necessรกria para sustentar os ganhos.

Resuma esta postagem com: