REVISTA ELETRÔNICA
FUNDAÇÃO
EDUCACIONAL
SÃO
1
JOSÉ
4ª Edição
ISSN: 2178-3098
MODELOS DE MATURIDADE CMMI
Capability Maturity Model Integration (CMMI)
Teresinha Moreira de Magalhães1
Lúcia Helena de Magalhães2
Fernando Machado da Rocha3
Resumo
Este trabalho visa apresentar uma visão dos modelos de maturidade de processo
do Software, com foco no CMM do SEI, com a análise da estrutura interna de
seus componentes e os conceitos fundamentais relacionados ao mesmo;
Procura dar ênfase na compreensão dos principais elementos para obtenção do
Processo de Software Maduro: os Níveis de Maturidade e suas respectivas
Áreas-Chave de Processo.
Palavras Chaves: Processo, Software, Maturidade
1
Teresinha Moreira de Magalhães, Doutora em Computação de alto Desempenho pela Universidade
Federal do Rio de Janeiro, mestra em Engenharia de Produção com ênfase em Produção de Mídias
pela Universidade Federal de Santa Catarina. Professora da Universidade Federal de Juiz de Fora,
Professora da Faculdade do Sudeste Mineiro, Professora e Coordenadora do Curso de
Desenvolvimento
Web
da
Faculdade
de
Ciências
Econômicas
Vianna
Júnior.
[email protected]
2
Lúcia Helena de Magalhães, Pós Graduada em Desenvolvimento de Aplicações para Web pelo
Centro de Ensino Superior. Professora de Computação na Universidade Presidente Antônio Carlos e
Professora no Curso de Desenvolvimento Web da Faculdade de Ciências Econômicas Vianna Júnior.
[email protected]
3
Fernando Machado da Rocha, Graduado em Engenharia Eletrônica pela Universidade Gama Filho
do Rio de Janeiro e Especialização em Sistemas Computacionais pela Faculdade de Ciências
Gerênciais de Santos Dumont. Professor do Curso de Sistemas para Internet das Faculdades
Integradas Vianna Júnior. [email protected]
REVISTA ELETRÔNICA
FUNDAÇÃO
EDUCACIONAL
SÃO
4ª Edição
2
JOSÉ
ISSN: 2178-3098
MODELOS DE MATURIDADE CMMI
O modelo de avaliação de maturidade do processo de desenvolvimento CMM
(Capability Maturity Model) considera o gerenciamento de requisitos como sendo
uma das primeiras etapas para alcançar a maturidade organizacional, e para haver o
gerenciamento é preciso que o processo de desenvolvimento de requisitos esteja
implantado na empresa.
Desta forma, para se alcançar a gerência de requisitos é necessário que os
processos de desenvolvimento de requisitos sejam bem definidos. O conceito de
Modelo de Maturidade de Capacitação para Software, que é um metamodelo de
Processo desenvolvido pela Carnegie Mellon University através do seu órgão
SEI (Software Engineering Institute) - centro de pesquisa e desenvolvimento criado,
em 1984, pelo Departamento de Defesa dos Estados Unidos define “Capacitação
para
Software”
como
sendo
a
habilitação
que
a
organização
tem
em
sistematicamente produzir software com a qualidade esperada, dentro dos prazos
concordados e com os recursos alocados.
O CMM (Modelo de Maturidade da Capacidade) é um modelo de
desenvolvimento para aplicação específica ao SW, dentro de um contexto de
qualidade total no âmbito de uma organização. É uma estrutura, para avaliação e
melhoria, aplicada somente ao processo de SW. O modelo se baseia principalmente
na experiência da comunidade de SW da indústria americana, com a utilização de
conceitos de gerenciamento de processos de autores consagrados, cujos modelos
foram largamente aplicados em outras áreas.
O CMM (Capability Maturity Model) é o modelo mais conhecido desse
conceito.
Ele
basicamente é uma metodologia de diagnóstico e avaliação da
maturidade da capacitação em desenvolvimento de softwares numa organização
(empresa ou instituição).
O objetivo maior do CMM é determinar em que estágio de maturidade uma
empresa está em seu ciclo de desenvolvimento de software. Nasceu da
necessidade do Departamento de Defesa americano em avaliar as empresas
terceirizadas que desenvolviam softwares para eles.
REVISTA ELETRÔNICA
FUNDAÇÃO
EDUCACIONAL
SÃO
4ª Edição
3
JOSÉ
ISSN: 2178-3098
O projeto da CMM é liderado por Watts Humphrey que foi responsável pelo
desenvolvimento de software da IBM, durante anos. A seguir a evolução do projeto:
1986 - início do desenvolvimento de um modelo de maturidade de
processo, para ajudar as organizações a melhorar seus processos de
software (por solicitação do governo federal).
junho 1987 - liberação de breve descrição do modelo de maturidade de
processo de software.
setembro 1987 - versão preliminar do questionário de maturidade
1991 - 1a versão do CMM (Versão 1.0)
1993 - depois de 5 anos de experiência, o modelo de maturidade evoluiu
para um modelo completamente definido, usando conhecimento adquirido
das avaliações de processo de software e de extensivo retorno das
indústrias e do governo.
fevereiro 1993 - Versão 1.1 do CMM - Capability Maturity Model for
Software (atualmente usada)
A estrutura do modelo de maturidade de processo de software está baseada
nos princípios de qualidade de produto que existem há 60 anos. Ou seja, 1940 Shewart (AT&T) promulgou os princípios de controle estatístico de qualidade. Os
princípios de Shewart foram posteriormente desenvolvidos e demonstrados com
sucesso no trabalho de Deming e Juran. Ou sejam:
Princípios do TQM (Total Quality Management).
Reação em cadeia de Deming.
O modelo consiste das melhores práticas para o desenvolvimento e
manutenção de sistemas e softwares (Almeida, 2005).
Embora não seja uma norma emitida por uma instituição internacional
(como a ISO ou o IEEE), este modelo tem tido uma grande aceitação
mundial, até mesmo fora do mercado americano.
"CMM" não deve ser entendido como sendo uma METODOLOGIA, pois o
"CMM" não diz exatamente como fazer, mas sim o que deve ser feito
(melhores práticas)
CMM é uma marca registrada, o SEI avalia e fornece um certificado
referente ao nível da organização.
REVISTA ELETRÔNICA
FUNDAÇÃO
EDUCACIONAL
SÃO
4
JOSÉ
4ª Edição
ISSN: 2178-3098
Qualidade do Modelo
Segundo a norma brasileira (NBR ISO 8402), a qualidade é a totalidade das
características de uma entidade que lhe confere a capacidade de satisfazer às
necessidades explícitas e implícitas.
Desta forma, destaca que na empresa imatura, os processos de
desenvolvimento são improvisados e se existem não são seguidos; O trabalho é
feito em regime de emergência; Dificilmente se cumpre compromissos e prazos;
Não se faz planejamento com estimativas realistas; O sucesso de um projeto
depende de alguns excepcionais na equipe.
Capacidade
A capacidade descreve a faixa de resultadados de um processo de software
esperados dentro de uma margem de probabilidade.
Maturidade
Reflete uma medida do quanto o processo pode ser definido, gerenciado,
medido, controlado e executado de maneira eficaz.
CMM - Processos
A definição ou descrição de um processo não é um processo, ele só pode ser
chamado assim quando executado. Um processo é composto de três
componentes: ferramentas, pessoal, e procedimentos e métodos.
CMM - Componentes
Níveis de maturidade
Áreas chave de processos
Objetivos
Características comuns
Práticas base
KPAs - Key Process Areas
REVISTA ELETRÔNICA
FUNDAÇÃO
EDUCACIONAL
SÃO
4ª Edição
5
JOSÉ
ISSN: 2178-3098
São áreas chaves que permitem alcançar um conjunto de metas ou
objetivos.
Cada nível é composto por um conjunto de KPAs.
A satisfação de seus objetivos permite avaliar o nível de maturidade da
organização
Cada KPA é subdividida em um conjunto de práticas.
CMM – Estrutura
Figura 1: Estrutura
CMM – Modelo
Está organizado em uma série de práticas organizadas em cinco níveis
crescentes de maturidade. A aplicação desrespeitando os níveis geralmente leva
a resultados insatisfatórios.
CMM - Os 5 Níveis
REVISTA ELETRÔNICA
FUNDAÇÃO
EDUCACIONAL
SÃO
6
JOSÉ
4ª Edição
ISSN: 2178-3098
Figura 2: Modelo
Nível 1 (Inicial)
Poucos processos definidos
Deficiências de planejamento
Dificuldades em realizar previsões
Imprevistos são comuns
Desenvolvimento confuso de software
Passa-se diretamente dos requisitos à codificação
Documentação é encarado com algo inútil
Dependente de heroísmos individuais
Não possui KPAs
Nível 2 (Repetível) KPAs
Áreas chave:
Gestão de requisitos
Planejamento de projetos
Supervisão e acompanhamento de projetos
Gestão da subcontratação
Grupo de garantia da qualidade
Gestão de configurações
Nível 3 (Definido)
Estrutura de processos que permite adaptação a mudanças
Controle do processo mesmo em crise
Gestão é feita com base em knowhow.
Processo de desenvolvimento bem documentado
Preocupação em que todos tenham conhecimento comum.
Atividades planejadas, estáveis e repetitivas.
Nível 4 (Gerenciado)
REVISTA ELETRÔNICA
FUNDAÇÃO
EDUCACIONAL
SÃO
7
JOSÉ
4ª Edição
ISSN: 2178-3098
Administração de processos e produtos tem tratamento quantitativo.
Produtividade e qualidade são medidas em todos os projetos.
Criada uma base de dados para os processos
Riscos gerenciados para novos projetos
Gestão quantitativa dos processos.
Gestão da qualidade de software.
Nível 5 (Em otimização)
Processos em melhoria contínua
Gerentes identificam pontos fracos e agem de forma pró ativa
Eficiência é usada para análise de novas
tecnologias
Avaliação constante da equipe para tornar o trabalho mais produtivo
Pessoas e os Níveis
1.
O
sucesso
depende
de
indivíduos
e
heróis,
relacionamentos
descoordenados e às vezes conflitantes
2.
O sucesso ainda depende de indivíduos, mas existe apoio gerencial e
treinamento para algumas funções
3.
Grupos trabalham de maneira coordenada, treinamento é planejado
4.
Forte sentimento de trabalho em equipe
5.
Todos estão engajados no programa de melhoria contínua.
Tecnologia e os Níveis
1.
A introdução de novas é arriscada
2.
Atividades que estão bem definidas facilitam a introdução de novas.
3.
Novas tecnologias são avaliadas qualitativamente.
4.
Novas tecnologias são avaliadas quantitativamente.
5.
Novas tecnologias são planejadas e introduzidas com total controle.
Medidas e os Níveis
1. Coleta de dados é feita de maneira ad hoc
REVISTA ELETRÔNICA
FUNDAÇÃO
EDUCACIONAL
SÃO
8
JOSÉ
4ª Edição
ISSN: 2178-3098
2. Coleta de dados de atividades de planejamento e acompanhamento é feita
de maneira sistemática
3. Todos os processos definidos têm coleta sistemática de dados, os quais
são compartilhados por todos os projetos da organização
4. A definição e coleta de dados é padronizada na organização e os dados
são usados para entender os processos de maneira quantitativa e
estabilizá-los.
5. Os dados coletados são usados para avaliar e selecionar possibilidades
de melhoria de processos
Características Comuns e Práticas Base
Tabela 2: Características comuns e práticas base
Característica Comum
Descrição
Práticas Base relacionada
Compromisso com realizar
Atitudes a serem tomadas pela
organização para garantir que o
processo se estabeleça e seja
duradouro.
Pré-requisitos que devem existir no
projeto ou na organização para
implementar o processo de forma
competente.
Papéis
e
procedimentos
necessários para implementar uma
área-chave do processo.
Estabelecimentos de políticas e
apadrinhamento de um gerente
experiente.
Capacidade de realizar
Atividades realizadas
Medições e análise
Necessidade de medir o processo
e analisar as medições.
Alocação de recursos, definição de
estrutura organizacional e de
treinamento.
Estabelecimento de planos e
procedimentos,
realização
de
traalho,
acompanhamento
de
trabalho e tomada de ações
corretivas se necessário.
Realizações de medições para
determinar
o
estado
e
a
efetividade
das
atividades
realizadas.
Resultados da aplicação do CMM
Tabela 3: Resultados
Resultado
Média
Ganho anual de Produtividade
35%
Ganho anual em detecção prévia de defeitos
22%
Redução anual do tempo de entrega do produto no Mercado
19%
Redução anual em relatos de defeitos no cliente
39%
Retorno do investimento
5.0
Problemas do CMM
Metodologia muito extensa;
REVISTA ELETRÔNICA
FUNDAÇÃO
EDUCACIONAL
4ª Edição
SÃO
9
JOSÉ
ISSN: 2178-3098
Promove a burocracia.
Gera muita documentação inútil.
Voltado ao gestor, não à equipe.
Não tem foco nas habilidades das pessoas.
Volta ao Taylorismo e Fordismo.
Melhoria nos 5 Níveis
Tabela 4: Modelo de Maturidade em Melhoria Contínua de Bresant, Caffyn e Gallagher
Nível
Título
Características
Nível 1
Pré interesse
na melhoria
contínua
Nível 2
Melhoria
contínua
estruturada
Nível 3
Melhoria
contínua
dirigida para
meta
Melhoria
contínua proativa
Não existe uma estrutura formal para a melhoria na organização, sendo os
problemas solucionados ao acaso, sempre visando um benefício apenas
de curto prazo. Além disso, não existem estratégias de impacto nos
recursos humanos, como treinamento, desenvolvimento e reconhecimento.
Existe um comitê formal para construir um sistema que desenvolverá a
melhoria contínua na empresa, contando com a participação dos
funcionários nas atividades, mesmo essas não sendo integradas às
operações do dia-a-dia. Os funcionários são treinados nas ferramentas
básicas de melhoria e o sistema de reconhecimento é introduzido.
Existe uma utilização formal dos objetivos estratégicos, sendo as
atividades de melhoria continua parte das atividades gerais de
administração.
Nível 4
Nível 5
Capacidade
completa de
melhoria
contínua
Existe uma tendência para se desenvolver autonomamente e os indivíduos
e grupos gerencial e direcionam seus próprios processos. Neste nível, as
responsabilidades da melhoria contínua são desenvolvidas para a unidade
de solução de problemas.
Aproximação do modelo de aprendizagem organizacional, existindo a
identificação e solução sistemática de problemas e compartilhamento do
aprendizado.
Fonte: Bressant et al.(2001. p.73).
O uso de estratégia de melhoria de processos através de avaliação contínua,
identificação de problemas e suas devidas ações corretivas permite estabelecer
cinco níveis de maturidade (veja a tabela 2).
CMMi (Capability Maturity Model Integration) é o modelo de maturidade
surgido recentemente com o fim de unificar e agrupar as diferentes usabilidades do
CMM e de outros modelos de processos de melhoria corporativo. Poucas as
empresas, no mundo, que conseguem atingir o nível 5, a grande maioria fica
nos estágios iniciais. No Brasil, até o presente ano (2007), existiam somente
4 empresas que tinham alcançado o nível 5 do CMMi.
Tabela 5: Modelo de maturidade CMMI
Estágios
Descrição
Nível 1 – Inicial
Caótico, estágio onde a maioria das empresas de software se
REVISTA ELETRÔNICA
FUNDAÇÃO
EDUCACIONAL
4ª Edição
Nível 2 – Repetitivo
Nível 3 – Definido
Nível 4 – Gerenciado
Nível 5 – Em Otimização
SÃO
10
JOSÉ
ISSN: 2178-3098
encontram.
Capacidade
de
repetir
sucessos
anteriores
através
do
acompanhamento de custos, cronogramas e funcionalidades.
O processo de software é bem definido, documentado e padronizado.
Realiza uma gerência quantitativa e qualitativa do processo de
software e do produto.
Usa a informação quantitativa para melhorar continuamente e
gerenciar o processo de software.
CONCLUSÃO
O CMMI baseia-se em melhores práticas relevantes extraídas do Quadro
CMMI Framework para definir práticas eficazes e eficientes para organizações
governamentais. Eles fornecem uma base para a aquisição de disciplina e rigor
nos processos que permitam o desenvolvimento de produtos e serviços a serem
executados repetidamente.
Os documentos de CMMI podem também ser usados para aquisição de
práticas que devem ser realizados por projetos de governo em sistemas ou
serviços. Estas práticas, no entanto, também podem ser usadas por
organizações não-governamentais para melhorar as suas práticas de aquisição
ou terceirização.
As informações contidas no CMMI também podem ser usadas por
organizações que gerem a aquisição de vários projetos relacionados à aquisição
(por exemplo, centros de produto, os funcionários do Programa Executivo) para
estabelecer um programa de aquisição de melhorias de processos e assegurar o
sucesso de projetos em sua jurisdição.
BIBLIOGRAFIA
CMMI - Capability Maturity Model Integration (CMMI) disponível via url:
http://www.sei.cmu.edu/cmmi/start/faq/related-faq.cfm, acesso em 23 de julho de
2010.
PAULA F., W. P. Engenharia de Software: Fundamentos, Métodos e
Padrões – LTC, 2003.
PRESSMAN, R. S. Engenharia de Software. São Paulo- Makron Books,
1995.
REVISTA ELETRÔNICA
FUNDAÇÃO
4ª Edição
EDUCACIONAL
SÃO
11
JOSÉ
ISSN: 2178-3098
SOMMERVILLE, I. Engenharia de Software. São Paulo – Pearson Addison
Wesley, 2003.
ISO/IEC Std 12207:1995 - Information technology - Software life cycle
processes. Disponível via URL em: http://www.iso.org/. Acesso em julho, 2010.
Download

REVISTA ELETRÔNICA