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

/ / /