CMM – Capability Maturity
Model
Alef Menezes
André Teixeira
Danilo Gois
Edton Lemos
Leandro Neto
UNIVERSIDADE FEDERAL DE SERGIPE
Departamento de Computação – DCOMP
Qualidade de Software – T01 – 2016.1
Prof: José Henrique de Melo Cardoso
ROTEIRO
1. INTRODUÇÃO;
2. PRINCIPAIS CARACTERÍSTICAS DO CMM;
3. NÍVEIS DE MATURIDADE;
4. ÁREAS CHAVES DE PROCESSO;
5. CARACTERÍSTICAS COMUNS E PRÁTICAS BÁSICAS;
6. CONSIDERAÇÕES FINAIS E EVOLUÇÃO.
2
1 - INTRODUÇÃO
INTRODUÇÃO: O CMM
• O modelo Capability Maturity Model (CMM), ou Modelo de
Maturidade em Capacitação, é uma iniciativa do SEI (Software
Engineering Institute) e apoiado pelo DoD (Department of Defense),
para avaliar e melhorar a capacitação de empresas que produzem
software;
4
HISTÓRICO
• O projeto CMM foi apoiado pelo Departamento de Defesa dos EUA por
ser um grande consumidor de software e precisava de um modelo formal
que permitisse selecionar os seus fornecedores de software de forma
adequada;
• Década de 1980 como um modelo para avaliação de risco na
contratação de empresas de software;
• 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;
5
HISTÓRICO
• Embora não seja uma norma emitida por uma
Instituição Internacional (como a ISO ou IEEE),
esta norma teve uma grande aceitação mundial,
até mesmo fora do mercado americano;
• O CMM é também chamado de SW-CMM
(Software CMM);
• Divulgado a partir de 1991, tornou-se um dos
modelos de maior prestígio.
6
HISTÓRICO: O CMM
• Neste modelo, as organizações de software são enquadradas em
um dos cinco níveis de maturidade que são definidos;
• Essa estrutura, em níveis do CMM, está baseada nos princípios de
qualidade de produto propostos por Walter Shewart, William
Edwards Deming, Joseph Juran e Philip Crosby;
7
HISTÓRICO: O CMM
• É um modelo desenvolvido para aplicação
específica em software dentro de um
contexto de qualidade total (TQM – Total
Quality Management) no âmbito de uma
organização;
• Se baseia principalmente na experiência da
comunidade de software da indústria
americana e em conceitos de
gerenciamento de processos de autores
consagrados em aplicação de processos de
qualidade em outras áreas.
8
REPERCUSSÃO
• O modelo CMM teve repercutiu tão bem que diversos outros se
baseiam diretamente nele, como é o caso do Bootstrap e do
Trillium, e ainda influenciou fortemente outros como o SPICE.
9
MODELO DE MATURIDADE
• O CMM é um modelo para medição da
maturidade de uma organização no que diz
respeito ao processo de desenvolvimento e
administração de software;
• Seu objetivo é definir qual o nível de
maturidade e traçar os planos de ação para
o desenvolvimento da organização;
10
MODELO DE MATURIDADE
• A definição do que é “Maturidade” pode ser melhor compreendida
através da análise do quadro abaixo:
11
2 - PRINCIPAIS
CARACTERÍSTICAS DO
CMM
PRINCIPAIS CARACTERÍSTICAS DO CMM
Aspecto Abordado Característica do CMM
Objetivo
Determinar a capacitação da organização e
apoiar a sua evolução de acordo com os
níveis estabelecidos
Abordagem
Avaliação dos processos e enquadramento da
organização em um dos níveis de
maturidade
Organizações alvo
Organizações que necessitam de
comprovação formal de sua capacidade
Definição de processos
Estabelece 18 áreas de processos organizados
em 5 níveis crescentes de maturidade
Instrumento de Avaliação Questionário
13
3 - NÍVEIS DE
MATURIDADE
Contextualização
• O CMM classifica as organizações em níveis de maturidade e os
dividi em 5, onde cada um possui suas características próprias;
• A divisão de níveis é feita em ordem crescente, quanto maior o
nível maior a garantia de qualidade.
15
Níveis de Maturidade
16
Nível 1 - Inicial
• Organização imatura;
• Sem metodologia definida;
• Processo de Software desorganizado;
• Poucos ou nenhum processo definido;
• Sucesso derivado do esforço individual e
heroísmo.
17
Nível 1 - Inicial
• Sem garantias:
• Custo;
• Prazo e;
• Funcionalidade;
• Requisitos fluem para dentro e produto flui para fora e espera-se que
ele funcione.
18
Nível 2 - Repetível
• Processos básicos de gerenciamento de projeto:
• Custo, cronograma e funcionalidade;
• Sucesso ligado a sucessos anteriores (projetos similares);
• Processos caixa preta com pontos de verificação;
• Possibilidade de produção de software de qualidade.
19
Nível 3 - Definido
• Desenvolvimento de software de acordo com um processo bem
definido (Gerenciamento e Engenharia);
• Definição de como cada processo deve ser feito;
• Aproveitamento e adaptação do processo padrão de software da
organização para o desenvolvimento e manutenção.
20
Nível 4 – Gerenciado
• Realização de medições detalhadas do processo de software e
qualidade do produto;
• Processo e produto são gerenciados (entendidos e controlados)
quantitativamente;
• A gerência é capaz de prever o desempenho dentro de limites
quantificados.
21
Nível 5 – Otimização
• Foco na melhoria contínua do processo;
• Realimentação quantitativa do processo através de ideias e
tecnologias inovadoras;
• Mudança disciplinada é um meio de vida.
22
Observações
• Certificação de determinado nível só é obtida ao atingir todos os
seus objetivos;
• Poucas empresas conseguiram atingir os níveis 4 ou 5 do CMM;
23
4 - ÁREAS CHAVES DE
PROCESSO
ÁREAS CHAVE DE PROCESSOS (KPA’S)
• As áreas são o foco que a organização deve ter para melhorar seu
processo de desenvolvimento de software;
• O critério para que um empresa possa se qualificar em um
determinado nível de maturidade CMM, é realizar os processos
relacionados às áreas chaves daquele determinado nível.
25
ÁREAS CHAVE DE PROCESSOS (KPA’S)
26
Nível CMM Foco Áreas Chave do Processo
Nível 1 – Inicial Pessoas competentes e
“heróis”
ÁREAS CHAVE DE PROCESSOS (KPA’S)
27
Nível CMM Foco Áreas Chave do Processo
Nível 2 – Repetitivo Processos de gerenciamento de
projetos
• Gerenciamento de requisitos
• Planejamento de projeto de
software
• Acompanhamento de projeto
de software
• Gerenciamento de
subcontratos
• Qualidade assegurada de
software
• Gerenciamento de
configuração
ÁREAS CHAVE DE PROCESSOS (KPA’S)
28
Nível CMM Foco Áreas Chave do Processo
Nível 3 – Definido Processos de engenharia de
apoio
• Foco no processo da
organização
• Definição do processo da
organização
• Programa de treinamento
• Gerenciamento integrado do
software
• Engenharia de produto do
software
• Coordenação entre grupos
• Revisões
ÁREAS CHAVE DE PROCESSOS (KPA’S)
29
Nível CMM Foco Áreas Chave do Processo
Nível 4 – Gerenciado Qualidade do produto e do
processo
• Gerenciamento quantitativo
do processo
• Gerenciamento da qualidade
do software
ÁREAS CHAVE DE PROCESSOS (KPA’S)
30
Nível CMM Foco Áreas Chave do Processo
Nível 5 – Otimizado Melhoramento contínuo do
processo
• Prevenção de defeitos
• Gerenciamento de mudanças
tecnológicas
• Gerenciamento de mudanças
de processo
5 - CARACTERÍSTICAS
COMUNS E PRÁTICAS
BASE
Características Comuns
• Itens a serem observados para verificar a implementação e
institucionalização de cada área chave de processo.
• Podem indicar se a área chave de processo é eficiente, repetível e
duradoura.
• Estabelece planos e procedimentos para desempenhar e
monitorizar o trabalho, e caso necessário tomar ações corretivas.
32
Características Comuns
33
Característica comum Descrição Práticas-base relacionadas
Compromisso de realizar Atitudes a serem tomadas
pela organização para
garantir que o processo se
estabeleça e seja duradouro.
Estabelecimento de políticas
de apadrinhamento de
gerente experiente.
Características Comuns
34
Característica comum Descrição Práticas-base relacionadas
Capacidade de realizar Pré-requisitos que devem
existir no projeto ou na
organização para
implementar o processo de
forma competente.
Alocação de recursos,
definição da estrutura
organizacional e de
treinamento.
Características Comuns
Característica comum Descrição Práticas-base relacionadas
Atividades realizadas Papéis e o procedimento
necessário para implementar
uma área-chave de processo.
Estabelecimento de planos e
procedimentos, realização do
trabalho, acompanhamento
do trabalho e tomada de
ações corretivas, se
necessário.
35
Características Comuns
Característica comum Descrição Práticas-base relacionadas
Medições e análise Necessidade de medir o
processo e analisar as
medições.
Realização de medições para
determinar o estado e a
efetividade das atividades
realizadas.
36
Características Comuns
Característica comum Descrição Práticas-base relacionadas
Implementação com
verificação
Passos para garantir que as
atividades são realizadas de
acordo com o processo
estabelecido.
Revisão, auditoria e garantia
de qualidade.
37
Práticas Base
• As práticas-base devem descrever “O que” deve ser feito e não
“como” os objetivos devem ser atingidos.
• O modelo CMM inclui um extenso documento em separado,
chamado “Práticas-base para o CMM”, que lista todas as práticas-
chave e sub-práticas para cada uma das áreas chave de processo.
38
6 - CONSIDERAÇÕES
FINAIS E EVOLUÇÃO
Estrutura Geral
40
Evolução do CMM
• Problemas de integração.
• Custos elevados na melhoria de processos.
• Custos elevados no treinamento do pessoal.
41
Modelo de Maturidade em Capacitação - Integração
• Criado para suprir os problemas do CMM.
• Aumento do foco das atividades.
• Integração dos processos existentes através de framework.
• Eliminar inconsistências.
• Reduzir duplicações.
42
CMM vs CMMI
• Representação Estagiada
• Níveis de maturidade.
• Agrupamento de áreas de processo por nível.
• Avaliação da Organização/Unidade Organizacional como um
todo.
43
CMM vs CMMI
• Representação Contínua
• Níveis de capacidade.
• Nível 0 – Incompleto
• Nível 1 – Realizado
• Nível 2 – Gerenciado
• Nível 3 – Definido
• Nível 4 – Gerenciado quantitativamente
• Nível 5 – Otimizado
44
CMM vs CMMI
• Representação Contínua
• Agrupamento de áreas de processo por categoria.
• Avaliação da capacidade nas áreas de processo.
• Usada quando deseja-se tornar apenas alguns processos mais
maduros.
45
REFERÊNCIAS
• ALMEIDA, K.; AS CARACTERÍSTICAS DO CMM E O
DESENVOLVIMENTO. REVISTA ELETRÔNICA DE
ADMINISTRAÇÃO, ed. 8, jun. 2005.
• RAMOS, R. A.; PADRÕES DE QUALIDADE DE SOFTWARE.
DISCISPLINA ENGENHARIA DE SOFTWARE I. UNIVERSIDADE
FEDERAL DO VALE DO SÃO FRANCISCO.
46
DÚVIDAS?
OBRIGADO!

CMM – Capability Maturity Model

  • 1.
    CMM – CapabilityMaturity Model Alef Menezes André Teixeira Danilo Gois Edton Lemos Leandro Neto UNIVERSIDADE FEDERAL DE SERGIPE Departamento de Computação – DCOMP Qualidade de Software – T01 – 2016.1 Prof: José Henrique de Melo Cardoso
  • 2.
    ROTEIRO 1. INTRODUÇÃO; 2. PRINCIPAISCARACTERÍSTICAS DO CMM; 3. NÍVEIS DE MATURIDADE; 4. ÁREAS CHAVES DE PROCESSO; 5. CARACTERÍSTICAS COMUNS E PRÁTICAS BÁSICAS; 6. CONSIDERAÇÕES FINAIS E EVOLUÇÃO. 2
  • 3.
  • 4.
    INTRODUÇÃO: O CMM •O modelo Capability Maturity Model (CMM), ou Modelo de Maturidade em Capacitação, é uma iniciativa do SEI (Software Engineering Institute) e apoiado pelo DoD (Department of Defense), para avaliar e melhorar a capacitação de empresas que produzem software; 4
  • 5.
    HISTÓRICO • O projetoCMM foi apoiado pelo Departamento de Defesa dos EUA por ser um grande consumidor de software e precisava de um modelo formal que permitisse selecionar os seus fornecedores de software de forma adequada; • Década de 1980 como um modelo para avaliação de risco na contratação de empresas de software; • 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; 5
  • 6.
    HISTÓRICO • Embora nãoseja uma norma emitida por uma Instituição Internacional (como a ISO ou IEEE), esta norma teve uma grande aceitação mundial, até mesmo fora do mercado americano; • O CMM é também chamado de SW-CMM (Software CMM); • Divulgado a partir de 1991, tornou-se um dos modelos de maior prestígio. 6
  • 7.
    HISTÓRICO: O CMM •Neste modelo, as organizações de software são enquadradas em um dos cinco níveis de maturidade que são definidos; • Essa estrutura, em níveis do CMM, está baseada nos princípios de qualidade de produto propostos por Walter Shewart, William Edwards Deming, Joseph Juran e Philip Crosby; 7
  • 8.
    HISTÓRICO: O CMM •É um modelo desenvolvido para aplicação específica em software dentro de um contexto de qualidade total (TQM – Total Quality Management) no âmbito de uma organização; • Se baseia principalmente na experiência da comunidade de software da indústria americana e em conceitos de gerenciamento de processos de autores consagrados em aplicação de processos de qualidade em outras áreas. 8
  • 9.
    REPERCUSSÃO • O modeloCMM teve repercutiu tão bem que diversos outros se baseiam diretamente nele, como é o caso do Bootstrap e do Trillium, e ainda influenciou fortemente outros como o SPICE. 9
  • 10.
    MODELO DE MATURIDADE •O CMM é um modelo para medição da maturidade de uma organização no que diz respeito ao processo de desenvolvimento e administração de software; • Seu objetivo é definir qual o nível de maturidade e traçar os planos de ação para o desenvolvimento da organização; 10
  • 11.
    MODELO DE MATURIDADE •A definição do que é “Maturidade” pode ser melhor compreendida através da análise do quadro abaixo: 11
  • 12.
  • 13.
    PRINCIPAIS CARACTERÍSTICAS DOCMM Aspecto Abordado Característica do CMM Objetivo Determinar a capacitação da organização e apoiar a sua evolução de acordo com os níveis estabelecidos Abordagem Avaliação dos processos e enquadramento da organização em um dos níveis de maturidade Organizações alvo Organizações que necessitam de comprovação formal de sua capacidade Definição de processos Estabelece 18 áreas de processos organizados em 5 níveis crescentes de maturidade Instrumento de Avaliação Questionário 13
  • 14.
    3 - NÍVEISDE MATURIDADE
  • 15.
    Contextualização • O CMMclassifica as organizações em níveis de maturidade e os dividi em 5, onde cada um possui suas características próprias; • A divisão de níveis é feita em ordem crescente, quanto maior o nível maior a garantia de qualidade. 15
  • 16.
  • 17.
    Nível 1 -Inicial • Organização imatura; • Sem metodologia definida; • Processo de Software desorganizado; • Poucos ou nenhum processo definido; • Sucesso derivado do esforço individual e heroísmo. 17
  • 18.
    Nível 1 -Inicial • Sem garantias: • Custo; • Prazo e; • Funcionalidade; • Requisitos fluem para dentro e produto flui para fora e espera-se que ele funcione. 18
  • 19.
    Nível 2 -Repetível • Processos básicos de gerenciamento de projeto: • Custo, cronograma e funcionalidade; • Sucesso ligado a sucessos anteriores (projetos similares); • Processos caixa preta com pontos de verificação; • Possibilidade de produção de software de qualidade. 19
  • 20.
    Nível 3 -Definido • Desenvolvimento de software de acordo com um processo bem definido (Gerenciamento e Engenharia); • Definição de como cada processo deve ser feito; • Aproveitamento e adaptação do processo padrão de software da organização para o desenvolvimento e manutenção. 20
  • 21.
    Nível 4 –Gerenciado • Realização de medições detalhadas do processo de software e qualidade do produto; • Processo e produto são gerenciados (entendidos e controlados) quantitativamente; • A gerência é capaz de prever o desempenho dentro de limites quantificados. 21
  • 22.
    Nível 5 –Otimização • Foco na melhoria contínua do processo; • Realimentação quantitativa do processo através de ideias e tecnologias inovadoras; • Mudança disciplinada é um meio de vida. 22
  • 23.
    Observações • Certificação dedeterminado nível só é obtida ao atingir todos os seus objetivos; • Poucas empresas conseguiram atingir os níveis 4 ou 5 do CMM; 23
  • 24.
    4 - ÁREASCHAVES DE PROCESSO
  • 25.
    ÁREAS CHAVE DEPROCESSOS (KPA’S) • As áreas são o foco que a organização deve ter para melhorar seu processo de desenvolvimento de software; • O critério para que um empresa possa se qualificar em um determinado nível de maturidade CMM, é realizar os processos relacionados às áreas chaves daquele determinado nível. 25
  • 26.
    ÁREAS CHAVE DEPROCESSOS (KPA’S) 26 Nível CMM Foco Áreas Chave do Processo Nível 1 – Inicial Pessoas competentes e “heróis”
  • 27.
    ÁREAS CHAVE DEPROCESSOS (KPA’S) 27 Nível CMM Foco Áreas Chave do Processo Nível 2 – Repetitivo Processos de gerenciamento de projetos • Gerenciamento de requisitos • Planejamento de projeto de software • Acompanhamento de projeto de software • Gerenciamento de subcontratos • Qualidade assegurada de software • Gerenciamento de configuração
  • 28.
    ÁREAS CHAVE DEPROCESSOS (KPA’S) 28 Nível CMM Foco Áreas Chave do Processo Nível 3 – Definido Processos de engenharia de apoio • Foco no processo da organização • Definição do processo da organização • Programa de treinamento • Gerenciamento integrado do software • Engenharia de produto do software • Coordenação entre grupos • Revisões
  • 29.
    ÁREAS CHAVE DEPROCESSOS (KPA’S) 29 Nível CMM Foco Áreas Chave do Processo Nível 4 – Gerenciado Qualidade do produto e do processo • Gerenciamento quantitativo do processo • Gerenciamento da qualidade do software
  • 30.
    ÁREAS CHAVE DEPROCESSOS (KPA’S) 30 Nível CMM Foco Áreas Chave do Processo Nível 5 – Otimizado Melhoramento contínuo do processo • Prevenção de defeitos • Gerenciamento de mudanças tecnológicas • Gerenciamento de mudanças de processo
  • 31.
  • 32.
    Características Comuns • Itensa serem observados para verificar a implementação e institucionalização de cada área chave de processo. • Podem indicar se a área chave de processo é eficiente, repetível e duradoura. • Estabelece planos e procedimentos para desempenhar e monitorizar o trabalho, e caso necessário tomar ações corretivas. 32
  • 33.
    Características Comuns 33 Característica comumDescrição Práticas-base relacionadas Compromisso de realizar Atitudes a serem tomadas pela organização para garantir que o processo se estabeleça e seja duradouro. Estabelecimento de políticas de apadrinhamento de gerente experiente.
  • 34.
    Características Comuns 34 Característica comumDescrição Práticas-base relacionadas Capacidade de realizar Pré-requisitos que devem existir no projeto ou na organização para implementar o processo de forma competente. Alocação de recursos, definição da estrutura organizacional e de treinamento.
  • 35.
    Características Comuns Característica comumDescrição Práticas-base relacionadas Atividades realizadas Papéis e o procedimento necessário para implementar uma área-chave de processo. Estabelecimento de planos e procedimentos, realização do trabalho, acompanhamento do trabalho e tomada de ações corretivas, se necessário. 35
  • 36.
    Características Comuns Característica comumDescrição Práticas-base relacionadas Medições e análise Necessidade de medir o processo e analisar as medições. Realização de medições para determinar o estado e a efetividade das atividades realizadas. 36
  • 37.
    Características Comuns Característica comumDescrição Práticas-base relacionadas Implementação com verificação Passos para garantir que as atividades são realizadas de acordo com o processo estabelecido. Revisão, auditoria e garantia de qualidade. 37
  • 38.
    Práticas Base • Aspráticas-base devem descrever “O que” deve ser feito e não “como” os objetivos devem ser atingidos. • O modelo CMM inclui um extenso documento em separado, chamado “Práticas-base para o CMM”, que lista todas as práticas- chave e sub-práticas para cada uma das áreas chave de processo. 38
  • 39.
  • 40.
  • 41.
    Evolução do CMM •Problemas de integração. • Custos elevados na melhoria de processos. • Custos elevados no treinamento do pessoal. 41
  • 42.
    Modelo de Maturidadeem Capacitação - Integração • Criado para suprir os problemas do CMM. • Aumento do foco das atividades. • Integração dos processos existentes através de framework. • Eliminar inconsistências. • Reduzir duplicações. 42
  • 43.
    CMM vs CMMI •Representação Estagiada • Níveis de maturidade. • Agrupamento de áreas de processo por nível. • Avaliação da Organização/Unidade Organizacional como um todo. 43
  • 44.
    CMM vs CMMI •Representação Contínua • Níveis de capacidade. • Nível 0 – Incompleto • Nível 1 – Realizado • Nível 2 – Gerenciado • Nível 3 – Definido • Nível 4 – Gerenciado quantitativamente • Nível 5 – Otimizado 44
  • 45.
    CMM vs CMMI •Representação Contínua • Agrupamento de áreas de processo por categoria. • Avaliação da capacidade nas áreas de processo. • Usada quando deseja-se tornar apenas alguns processos mais maduros. 45
  • 46.
    REFERÊNCIAS • ALMEIDA, K.;AS CARACTERÍSTICAS DO CMM E O DESENVOLVIMENTO. REVISTA ELETRÔNICA DE ADMINISTRAÇÃO, ed. 8, jun. 2005. • RAMOS, R. A.; PADRÕES DE QUALIDADE DE SOFTWARE. DISCISPLINA ENGENHARIA DE SOFTWARE I. UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO. 46
  • 47.
  • 48.

Notas do Editor

  • #26 O CMM ajuda a diferenciar uma organização seria com processos bem definidos, planejados e controlados de outra com processos desorganizados e sem garantias da qualidade final.
  • #28 Consiste em documentar, organizar e rastrear os requisitos afim de verificar se possui todos os elementos necessários para a elaboração; Definir e acompanhar as etapas; Assegurar que o software irá atender o que foi definido na especificação; Engloba o controle de mudança, controle de versão e integração continua;
  • #29 São definidos os processos e é necessário segui-los, tornar o foco da organização, pois não adianta ter o processo definido e sempre procurar brechas por comodidade; Novas tecnologias e metodologias; Aplicar os princípios da eng. de software; Definir papeis; Definição de pontos de controle do produto ou artefato;
  • #30 Segundo o Lord Kelvin “Não se pode gerenciar o que não se pode medir”. Consiste na utilização de estatísticas e gráficos para prever se será possível alcançar os objetivos de desempenho de processos e de qualidade; Visa assegurar o nível de qualidade;
  • #31 Eliminar o retrabalho; Novas tecnologias; Adequações;