CAPABILITY MATURITY MODEL - CMM
resumo
CMM desenvolvido nos EUA pela SEI (Software Engineering Institute), subsidiada
pelo Departamento de Defesa - ligada ao Carnegie Mellon University, é um modelo
de desenvolvimento de software, que buscou resolver a crise de software
detectada nos EUA, onde desperdício gerado por projetos "imaturos"
pode chegar a cifra de US$1 bi / ano.
O ponto que nos interessa ressaltar é que desenvolver sistemas e aplicativos
envolvem problemas, cuja maioria não é técnica, mas sim de nível gerencial.
Na verdade o grupo que investigou a "crise de Software" concluiu que
"Poucos campos do conhecimento têm uma lacuna tão grande entre as
melhores práticas correntes e a média das práticas correntes". Quando O
Software Engineering Institute foi criado em 1984, teve a missão de prover
meios para a melhoria eficaz da qualidade do software feito nos EUA (aquisição
/desenvolvimento /manutenção).
O resultado foi a primeira versão do Capability Maturity Model em 1991 e a
reorganização curricular de 12 entre 20 Universidades que oferecem graduação
em Engenharia de Software. Tentando assim evitar as perdas de milhões de
dólares com projetos inacabados, sistemas que não atendem o desejado e
projetos que não atendem os prazos previstos.
A estratégia buscada é promover a evolução da engenharia de software de uma
atividade desordenada e dispendiosa para uma atividade gerenciada, disciplinada
e com qualidade de produto controlada.
Empresas que já se utilizam dos modelos e métodos criados pelo SEI são:
Motorola, Kodak, Texas Instruments, Citibank, Wetinghouse, AT&T, 3M, Boeing,
Federal Express e aqui no Brasil a Ericson, IBM, etc.
Esse projeto de Qualidade permite um retorno-do-investimento (ROI) ao longo do período de uso e assimilação da metodologia de desenvolvimento, de modo que em pesquisa feita pela SEI em outubro/94, para 5 tipos de organizações, construi-se o seguinte quadro:
organização tipo 1 em 3,5
anos obteve-se ROI de 4 vezes;
organização tipo 2 em 6 anos obteve-se ROI de 5 vezes;
organização tipo 3 em 6 anos obteve-se ROI de 5,2 vezes;
organização tipo 4 em 5 anos obteve-se ROI de 6,4 vezes;
organização tipo 5 em 3,5 anos obteve-se ROI de 8,8 vezes.
Uma das máximas para justificar a metodologia e o conseqüente foco em
processos é que:
"A qualidade de um sistema é governada pela qualidade do processo
utilizado para desenvolvê-lo e mantê-lo" (Watts Humphrey).
Como definição de Processo em software temos:
IEEE - uma seqüência de passos executados para um determinado propósito
CMM - um conjunto de atividades, métodos, práticas e transformações que as
pessoas utilizam para desenvolver e manter o software e seus produtos
associados.
Ou seja, isso requer:
- pessoas com habilidades, treinamento e motivação;
- procedimentos e métodos definindo o relacionamento entre tarefas;
- ferramentas e equipamentos.
São características de um Processo Imaturo:
- ad hoc - improvisado pela equipe e gerência;
- não é seguido ou enfatizado;
- altamente dependente de quem o executa;
- qualidade do produto é imprevisível;
- tende a ter problemas de custo e prazo (previsto não bate com o realizado);
- funcionalidade e qualidade sacrificadas em favor de prazos;
- o uso de novas tecnologias é arriscado;
São características de um Processo Maduro:
- definido e documentado (compreendido/usado/"vivo")
- visivelmente apoiado pela gerência e por todos;
- bem controlado - a fidelidade ao processo é verificada , testada e
enfatizada;
- consistente com a maneira pela qual o trabalho é realmente feito;
- medido;
- apoiado por tecnologia quando necessário;
Definição de Maturidade de um Processo:
- a extensão em que um processo específico é explicitamente:
. definido / . gerenciado / . medido / . controlado / . efetivo
- por conseqüência, possui potencial para crescimento em sua capacidade;
- indica tanto a riqueza do processo de uma organização quanto o nível de
consistência em que é aplicado.
Performance - medida dos atuais resultados alcançados pela execução de um
processo.
Capacidade - gama de resultados que se pode esperar pela execução de um processo é também um indicador do que se pode esperar como resultados de projetos futuros.
Capability Maturity Model:
nível 1 - INICIAL - imprevisível e insatisfatoriamente controlado;
processo disciplinado
nível 2 - REPETITÍVEL -
sucesso em tarefas previamente dominadas.
processo padrão e consistente
nível 3 - DEFINIDO - o
processo está caracterizado e bem entendido;
processo previsível
nível 4 - GERENCIADO -
processo medido e controlado;
processo continuadamente melhorando
nível 5 - OTIMIZAÇÃO -
melhoria contínua é um "modo de vida".
As Áreas Chaves Relativas aos Níveis de Maturidade
________________________________________________________________
N Í V E L ÁREAS CHAVE DE PROCESSOS
OTIMIZAÇÃO...............prevenção
de defeitos
gerenciamento de mudanças tecnológicas
gerenciamento de mudanças de processos
GERENCIADO..............gerenciamento
quantitativo do processo
gerenciamento da qualidade do software
DEFINIDO.....................foco
no processo organizacional
definição do processo organizacional
gerenciamento integrado de software
coordenação entre grupos
revisão entre pares
programa de treinamento
REPETITÍVEL.............gerenciamento de requisitos
planejamento do projeto de software
acompanhamento e rastreamento do projeto
gerenciamento de configurações de software
gerenciamento de terceiros
controle de qualidade em software
Para se Implementar sugere-se:
- primeiro passo: se não sabemos aonde estamos, um mapa não vai nos ajudar...
usa-se o Software Capability
Evaluation, que é um método de avaliação, baseado no CMM usado para obter
avaliações internas, seleção de fornecedores e monitoramento de processos.
O que é Avaliação Interna: é o subsídio para um plano de ação de melhoria
que vença a inércia organizacional:
- organizações a utilizam
para melhorar o processo de desenvolvimento;
- resultados são confidenciais;
- avalia as práticas correntes;
- age como um catalisador do processo de melhoria;
- proporciona subsídios para um plano de ação de melhorias;
- conclusões podem incluir aspectos que não estão no CMM;
- colaborativa - membros da organização devem estar na equipe de avaliação;
- aplica-se a organizações, não a projetos ou contratos individuais.
O que é Avaliação de
Fornecedores: é o subsídio para uma contratação, monitoramento de contratos
ou gerenciamento de riscos:
- organizações a utilizam para selecionar e monitorar terceiros;
- resultados para contratante;
- comprova as práticas correntes;
- avalia o compromisso da organização com o processo de melhoria;
- analisa a performance potencial para um dado contrato/projeto;
- conclusões são restritas aos aspectos do modelo;
- conduzido por equipe externa;
dados organizacionais, mas foco
num contrato ou projeto especial.
Dentro do Processo de Avaliação pode ser utilizado consultores externos de
empresas certificadas para uso do CMM e nesse caso as etapas são:
1- seleção e treinamento da
equipe;
2- respostas ao questionário do CMM e Perfil de Projetos;
3- análise das respostas;
4- visita à organização (entrevista e revisão de documentos);
5- conclusões - baseadas no CMM e outras;
6- perfil das áreas chave de processos.
Benefícios Esperados do Processo (por trimestre)
1o. trim.: índice de melhoria:
20 em Qualidade / 30 em Produtividade / 45 em Retornos
2o. trim.: índice de melhoria: 27 em Qualidade / 38 em Produtividade / 47 em
Retornos
3o. trim.: índice de melhoria: 30 em Qualidade / 40 em Produtividade / 49 em
Retornos
4o. trim.: índice de melhoria: 44 em Qualidade / 50 em Produtividade / 65 em
Retornos
fonte: Benefits of CMM-Based
Software Process Improvement - SEI - 08/94
RESUMO DE RESULTADOS OBTIDOS
Categoria Variação Média
- ganho de produtividade anual 9% a 67% 35%
- total de anos do processo 1 a 9 3,5
- custos anuais do processo US$ mil 50 a 1,200 245
- ganhos anuais em identificação 6% a 25% 22%
antecipada de erros
(pré-teste)
- redução anual em prazos de entrega 15% a 23% 19%
- redução anual em defeitos 10% a 94% 39%
identificação pós-entrega
- retorno sobre o investimento 4,0 a 8,8 vezes 5,0 vezes
Outros Benefícios Reportados
- melhoria nas condições
- melhoria nas comunicações internas
- redução do "turnover"
- redução de horas extras
- motivação do pessoal
- satisfação dos clientes
CRÍTICA AO CMM:
O Gartner Group argumentou em
1995 que:
"O CMM da SEI esqueceu do placar. Estarão no jogo certo?
sumário: Organizações que estão focadas em seguir a escala de maturidade da
SEI, precisam, ao invés de melhoria nas medidas, focar em áreas alinhadas com
os pontos chaves do negócio (essa crítica ou preocupação do Gartner Group é
bem objetiva, pois não podemos perder o foco na missão da organização).
/ / /