Você está na página 1de 9

1

CMM (Capability Maturity Model): Conceitos Bsicos e Implementao


Aldo Pires, MSc.
Aps vrias dcadas de promessas no cumpridas sobre ganhos de produtividade
e qualidade na aplicao de novas metodologias e tecnologias no
desenvolvimento de software, organizaes do governo e empresas privadas
concluram que o problema fundamental a falta de habilidade em gerenciar os
processos de construo de software.
Os benefcios dos melhores mtodos e ferramentas no podem ser alcanados
em ambientes de projetos caticos. Entretanto, mesmo em organizaes
indisciplinadas, alguns projetos de software especficos podem at produzir
resultados satisfatrios, mas sem nenhuma previsibilidade de repeti-lo. Quando
projetos deste tipo obtm sucesso, este resultado do esforo e dedicao da
equipe, ao invs da repetio de mtodos gerenciais da organizao.
O Modelo de Qualidade de Software CMM um modelo de avaliao e melhoria
da maturidade de Processo de Software. O CMM, ou "Modelo de Maturidade da
Capacidade" uma iniciativa do SEI (Software Engineering Institute) para avaliar
e melhorar a capacitao de empresas que desenvolvem e mantm software
atravs de seus funcionrios ou de contratados terceirizados.
O CMM enfatiza a documentao dos processos, seguindo a premissa de que,
para realizar alguma melhoria nos processo, preciso primeiro conhec-lo e
entend-lo.
A criao do modelo CMM teve forte apoio do Departamento de Defesa dos
Estados Unidos, que o maior consumidor de software do mundo e precisava de
um modelo que permitisse selecionar os seus fornecedores de software de forma
adequada. E, embora no seja uma norma emitida por uma instituio
internacional, tem obtido grande aceitao nos Estados Unidos e no mundo. Esta
penetrao cada vez maior do modelo tambm se verifica no Brasil, como ser
mostrado adiante.
O modelo original CMM, publicado em 1992, gratuito e pode ser obtido no site
do SEI (www.sei.cmu.edu). Vale ressaltar que ao longo dos anos o SEI
desenvolveu outros modelos, e hoje o modelo inicial conhecido como SW-CMM.

Maturidade
O SW-CMM um modelo que classifica o processo de desenvolvimento de
software de uma organizao segundo a sua maturidade, permitindo que a
evoluo deste processo seja medida e comparada com a de outras
organizaes.
Atravs da avaliao da maturidade possvel auxiliar o gerenciamento e
mudana de processo, melhorar a qualidade do software.

Estrutura do CMM
O CMM composto de cinco nveis de maturidade que indicam qual a
capacidade do processo. Cada nvel composto por reas-chave do processo.
Cada rea-chave conduz ao alcance de metas de melhoria do processo e est
organizada em cinco Caractersticas Comuns que determinam prticas-chave
referentes a implementaes (atividades) ou institucionalizaes (compromissos,
habilitaes, medies ou verificaes).

Os Cinco Nveis de Maturidade

O CMM classifica as organizaes em cinco nveis de maturidade distintos, cada


um com suas caractersticas. O nvel 1 o das organizaes mais imaturas,
nestas, no h nenhuma metodologia implementada e tudo ocorre de forma
desorganizada. No nvel 5, o das organizaes mais maduras, cada detalhe do
processo de desenvolvimento est definido, quantificado, acompanhado e a
organizao consegue at absorver mudanas no processo sem prejudicar o
desenvolvimento.
Os cinco nveis de maturidade oferecem uma forma incremental de
amadurecimento do processo de software. Para atingir o nvel 5, preciso antes
se obter a maturidade do nvel 4, que por sua vez exige a do nvel 3, e assim por
diante.

Otimizado
(5)

Gerenciado
Definido (3)
Repetvel
Inicial (1)
Nvel 1 Inicial: o processo de desenvolvimento desorganizado e catico.
Poucas atividades so definidas e o sucesso depende de esforos individuais.
Nvel 2 Repetvel: os processos bsicos de gerenciamento de projeto esto
estabelecidos e permitem acompanhar custo, cronograma e escopo.
possvel repetir e garantir o sucesso de um projeto utilizado anteriormente
em outros similares.
Nvel 3 Definido: tanto as atividades de gerenciamento quanto as de
engenharia do processo de desenvolvimento de software esto
documentadas, padronizadas e integradas em um padro de desenvolvimento
da organizao. Todos os projetos utilizam uma verso aprovada e adaptada
do processo padro de desenvolvimento de software da organizao.
Nvel 4 Gerenciado: a qualidade do produto e do processo de
desenvolvimento de software coletada atravs de mtricas. Tanto o produto
quanto o processo de desenvolvimento de software so entendidos e
controlados quantitativamente.
Nvel 5 Otimizado: a melhoria contnua do processo obtida atravs do
controle, identificao, avaliao e desenvolvimento das tcnicas de
construo do software objetivando a melhoria das mtricas de qualidade e
produtividade.

reas-chave do Processo (Key Process Areas)


Os nveis de maturidade so detalhados em reas-chave de processo, que
representam o que a organizao deve focar para melhorar o seu processo de
desenvolvimento de software. Para que uma empresa se qualifique em um
determinado nvel de maturidade, deve estar realizando os processos
relacionados s reas-chave daquele nvel. A tabela a seguir relaciona as reaschave correspondentes a cada nvel.
Nvel CMM
1) Inicial
2) Repetvel

3) Definido

reas-chave de processo
Gerenciamento de requisitos
Planejamento do projeto
Viso geral e acompanhamento do projeto
Gerenciamento de sub-contratados
Garantia da qualidade do software
Gerenciamento de configurao
Foco do processo organizacional

4) Gerenciado
5) Otimizado

Definio do processo organizacional


Programa de treinamento
Gerenciamento de software integrado
Engenharia de produto de software
Coordenao intergrupos
Reviso conjunta
Gerenciamento quantitativo dos processos
Gerenciamento da qualidade de software
Preveno de defeitos
Gerenciamento de mudanas tecnolgicas
Gerenciamento de mudanas no processo

Caractersticas Comuns e Prticas-chave


As caractersticas comuns, so itens a serem observados para que se possa
verificar a implementao e institucionalizao de cada rea-chave de processo.
Elas podem indicar se a rea-chave de processo eficiente, repetvel e
duradoura. So cinco as caractersticas comuns no modelo CMM e cada uma
possui suas prticas-chave a serem realizadas.
Caracterstica
Comum
Compromisso de
realizar
Capacidade de
realizar
Atividades realizadas

Medies e anlise

Implementao com
Verificao

Descrio

Prticas-chave
Relacionadas
Estabelecimento de polticas e
patrocnio de um gerente
experiente.

Atitudes a serem tomadas pela


organizao para garantir que o
processo se estabelea e seja
duradouro.
Pr-requisitos que devem existir
Alocao de recursos, definio da
no projeto ou na organizao para estrutura organizacional e de
implementar o processo
treinamento.
Papis e procedimentos
necessrios para implementar
uma rea-chave de processo.

Necessidade de medir o processo


e analisar as medies.

Passos para garantir que as


atividades so realizadas de
acordo com o processo
estabelecido.

Estabelecimento de planos e
procedimentos, realizao do
trabalho, acompanhamento do
trabalho e tomada de aes
corretivas.
Realizao de medies para
determinar o estado e a
efetividade das atividades
realizadas.
Reviso, auditoria e garantia de
qualidade.

As prticas-chave descrevem as atividades que contribuem para atingir os


objetivos de cada rea-chave do processo. Em geral so descritas com frases
simples, seguidas de descries detalhadas (sub-prticas) que podem at incluir
exemplos. As prticas-chave devem descrever "o que" deve ser feito e no
"como" os objetivos devem ser atingidos. O modelo CMM inclui um extenso
documento em separado, chamado "Prticas-chave para o CMM", que lista todas
as prticas-chave e sub-prticas para cada uma das reas-chave de processo.
CMM no Brasil
Em 1993, a Secretaria de Poltica de Informtica do Ministrio da Cincia e
Tecnologia, no mbito do Programa Brasileiro da Qualidade e Produtividade em
Software PBQP Software, iniciou uma pesquisa bienal para acompanhamento e
divulgao a respeito da evoluo da qualidade nas empresas de software,

objetivando direcionar as aes dos agentes responsveis pela formulao e


execuo da poltica de software no Brasil. A quinta edio desta pesquisa
mostra a evoluo do modelo CMM no Brasil.

Categorias
Conhece e usa
Conhece e comea a usar
Conhece, mas no usa
No conhece

1995

1997

1999

2001

1,8

21

8,1

11

24

37,2

54

86

75

52,8

25

Apesar disto ainda so poucas as empresas que tem o certificados SW-CMM ou


CMMI no pas. Em dezembro de 2004 haviam 32 qualificadas com o CMM, como
mostra o quadro abaixo:
Organizaes com Qualificao CMM no Brasil 1997-2004

Desde

Nvel Atual
2

1997

1998

1999

2000

2001

2002

2003

18

2004

24

Como Iniciar um Processo de Implantao do CMM


Comear o ponto mais importante na correo do equilbrio. Frank Herbert
colocou esta frase, no comeo do primeiro captulo, do primeiro livro de uma das
bem sucedidas sries de best-selers.
A adoo do modelo CMM se baseia em um processo gradual de aumento da
maturidade do processo de desenvolvimento de software. A maturidade deste
processo, pode ser traduzida como a probabilidade de entregar sistemas de
software dentro dos prazos previstos, utilizando os mesmos recursos planejados,
e atendendo requerimentos e qualidade desejados.
A implantao do modelo , por definio, um processo cclico composto de
algumas fases bem definidas: anlise da situao; comparao com o prximo

nvel do modelo; planejamento das aes corretivas; execuo destas aes e


nova anlise da situao.
Com as avaliaes CMM voc consegue identificar o status atual do seu processo
de desenvolvimento, definir o status desejado, ou seja, o nvel de maturidade
que deseja alcanar, estabelecendo-o como meta, e tomar aes para reduzir a
distncia entre o status atual e o almejado.
Embora, para fins de certificao, exista apenas uma forma de avaliao vlida,
definida pelo SEI, existem vrias outras tcnicas conhecidas que podem ajudar
no levantamento do status atual da maturidade do processo, e encurtar a
distncia at o prximo nvel. Cada etapa de avaliao da situao pode ser mais
ou menos abrangente, dependendo da fase em que se est, na implantao do
modelo.
A avaliao oficial do SEI bastante abrangente, cara, e certamente a mais
traumtica. Por isto dificilmente deve ser utilizada como pontap inicial da
implantao do modelo. O primeiro ciclo de anlise/planejamento/ao tem
algumas caractersticas especiais. nele que se cometem mais erros e se criam
mais solues. Um mtodo abrangente mas ao mesmo tempo flexvel pode
reduzir os traumas e liberar a criatividade, e maximizar os resultados obtidos no
trabalho.
Um exemplo de um destas formas de avaliao j adotada com sucesso faz uso
de algumas atividades como: treinamento, levantamento dos processos da
empresa, aplicao de questionrio CMM, mapeamento e mtricas e elaborao
do SPI Plan - Plano de Melhoria do Processo de Software (Software Process
Improvement Plan).
Ao comear o processo de melhoria de maturidade de capacidade, voc deve
acumular alguma energia. Deve ter conscincia de que a obteno de um
certificado ser apenas o reconhecimento de que os processos de software
aumentaram de qualidade. A verdadeira motivao deve vir da vontade de
vencer dos analistas e da gerncia snior. Esta ltima deve ser motivada
primeiro. Ela ser a fonte da energia que deve ser repassada para os analistas e
coordenadores de projeto. Sem o necessrio comprometimento da alta gerncia
melhor nem comear o processo, para no acabar tendo um fracasso nas
mos, e utilizar a velha desculpa de que o modelo SEI/CMM excessivamente
detalhado e burocratizado para ser adotado na minha empresa! Manter esse
comprometimento e repass-lo para os analistas parte fundamental do
processo de melhoria de nvel CMM.
Neste comeo deve ser escolhido o grupo de trabalho CMM, conhecido como
SEPG Software Engineering Process Group. O SEPG deve planejar e
acompanhar todas as tarefas do projeto de melhoria de capacidade. Elas so o
corao do projeto, aquilo que vai garantir que todo o processo de implantao
do modelo flua de maneira adequada.
O SEPG deve preparar uma verso inicial do SPI Plan contendo o mapeamento de
cada ACP nos processos e documentos da empresa, de modo que fique claro
onde e de que modo ela satisfeita. Tambm devem ser colocados os pontos em
que h oportunidade de melhoria e o impacto benfico, que isto pode causar ao
processo.

O SEPG pode recomendar aes e at estimar o tempo e recurso necessrios


para cada atividade de melhoria. Porm a elaborao de um plano completo com
o estabelecimento de prioridades e criao de grupos de trabalho deve ser
debatida e aprovada por um Comit Estratgico.
Um SPI Plan no certamente o final do processo de melhoria mas apenas seu
incio. No havero certificados nem medalhas e talvez alguns esqueletos
incmodos tenham sido retirados dos armrios. Este apenas primeiro passo da
grande corrida, mas quem faz uma boa largada sempre tem mais chance de
vitria.
CMMI
A partir da experincia adquirida com o CMM (Capability Maturity Model) em
mais de uma dcada, visando aprimorar o modelo, foi desenvolvido o CMMI
(Capability Maturity Model Integration). A verso atual do SW-CMM (1.1) foi
congelada pelo SEI, em dezembro de 2001, com o objetivo de centrar esforos
na elaborao do CMMI. Naquela poca j estava em andamento a elaborao da
verso 2.0 do SW-CMM.
O CMM foi concebido como um modelo de capacitao especfico para a rea de
software. O CMMI integra os aspectos de processo de software, de engenharia de
sistemas e definio de produtos.
De forma resumida, pode-se dizer que o desenvolvimento do CMMI foi motivado
dentre outros, pelos seguintes fatores:
O modelo SW-CMM no contemplou uma integrao total com a norma
ISO/IEC 15504 (Modelo SPICE).
O SW-CMM somente contempla uma forma de representao atravs dos nveis
de maturidade, o que d pouca flexibilidade ao modelo, dificultando a sua
implementao, em organizaes que tem interesse em implementar para
reas-chave de processo especficas.
Necessidade de se unificar os vrios modelos CMM existentes, com a criao de
um framework comum.
O framework definido para o CMMI permite a gerao de mltiplos modelos,
relacionados com a representao escolhida (por estgio ou contnua),
associados aos treinamentos e avaliaes especficos requeridos. Cada modelo
selecionado reflete o contedo de disciplinas especficas.
Na verso atual so contempladas quatro disciplinas, sendo que as trs primeiras
j pertenciam a famlia de modelos do CMM:
Engenharia de Software (SW- Software Engineering)
Engenharia de Sistemas (SE- Systems Engineering)
Desenvolvimento Integrado de Produto e Processo (IPPD-CMM; Integrated
Product and Process Development)
Contratao e Gesto de Fornecedores (SS- Supplier Sourcing)
Da famlia de modelos CMM no foram contempladas:

Aquisio de Software (SA-CMM) e


Gesto de Recursos Humanos (P-CMM ou People Capability Maturity Model).
Estas disciplinas ficaram de ser incorporadas em verses futuras do CMMI. Alm
desses, prev-se a incluso de novas disciplinas no futuro, conforme a demanda
do mercado.
A principal diferena entre o SW-CMM e a ISO 15504, desenvolvida pelo projeto
SPICE (e tambm alguns dos outros CMMs) que o SW-CMM organiza os
processos de software em estgios (os famosos cinco nveis), enquanto a ISO
15504 o faz de uma forma que se convencionou chamar de representao
contnua.
O CMMISE/SW, alm de incorporar as melhorias propostas aprendidas em mais
de uma dcada de uso do modelo SW-CMM, compatibiliza este modelo com os
demais CMMs do SEI e com a ISO 15504.
Mas sua contribuio mais importante o grande aumento da flexibilidade na
implantao de projetos de melhoria dos processos de software. O CMMISE/SW
admite as duas representaes (os cinco nveis :representao em estgios e a
representao contnua), onde cada organizao ao implantar o CMMISE/SW
pode decidir qual representao mais adequada sua realidade.
Representao por Estgios
A representao por estgios (staged) tem por foco a maturidade organizacional
e prov um caminho evolutivo para a melhoria do processo. Esta representao
direciona e auxilia as organizaes que desejam estabelecer a melhoria de
processos de software. As reas do processo so agrupadas em nveis de
maturidade, que devem ser atendidas na sua totalidade para viabilizar um
estgio definido de melhorias.
Com exceo do nvel 1, cada nvel composto por vrias reas de Processo
(PA). Vale ressaltar que no SW-CMM o termo usado rea-Chave de Processo
(Key Process Area).
As reas de Processo so exatamente os itens nos quais a organizao deve
focar para melhorar o seu processo de desenvolvimento. Para que uma empresa
possa se qualificar em um determinado nvel de maturidade, deve estar
realizando todas as tarefas relacionadas a todas as reas deste nvel.
Representao Contnua

J a representao contnua (continuous) tem por foco a capacitao do processo


e oferece um caminho flexvel para a implementao de melhorias atravs da
escolha de reas especficas do processo para a implementao de melhorias.
Assim possvel implementar nveis diferentes de capacitao para diferentes
processos.
Na representao contnua, cada PA considerada isoladamente, e no est
alocada a nenhum nvel de maturidade em particular. Assim, cada PA recebe sua
prpria classificao, podendo ir do Nvel 0 ao Nvel 5. Como se pode observar,
na representao contnua passa a existir o nvel 0, que se refere ao fato de que
o processo sequer existe na organizao. Neste contexto, o nvel 1 passa a
significar que o processo existe informalmente, no sendo institucionalizado.
Deste modo, a organizao pode ter cada PA classificada em um nvel diferente.
Ela pode, por exemplo, estar no nvel 3 para a PA gerenciamento de requisitos e
no Nvel 2 para a PA gerenciamento de configurao.

Você também pode gostar