Sei sulla pagina 1di 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

Nveis de Maturidade
INDICAM CONTM

Capacidade Do Processo

reas-chave do Processo
ALCANAM ORGANIZADAS PELAS

Metas
ABORDAM

Caractersticas Comuns

COMTEM

Implementao ou Institucionalizao
DESCREVEM

Prticas - chave

Infraestrutura ou Atividades

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 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 Definio do processo organizacional Programa de treinamento Gerenciamento de software integrado Engenharia de produto de software Coordenao intergrupos

3) Definido

4
4) Gerenciado 5) Otimizado 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 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. 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.

Medies e anlise

Necessidade de medir o processo e analisar as medies.

Implementao com Verificao

Passos para garantir que as atividades so realizadas de acordo com o processo estabelecido.

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 3 11 86

1997 5 24 75

1999 1,8 8,1 37,2 52,8

2001 21 54 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 Nvel Atual 2 0 1 0 0 1 4 18 24 3 1 0 0 0 3 0 1 6 4 0 0 0 0 0 0 1 1 5 0 0 0 0 0 0 0 1

Desde 1997 1998 1999 2000 2001 2002 2003 2004

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:

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

Foco em melhoria do processo Processo Medido e controlado Processo caracterizado pela organizao e por ser proativo Processo caracterizado por projetos e frequentemente reativo Processo imprevisivel pobremente controlado reativo Gerenciado

Otimizado

Gerenciado Quantitativamente

Definido

Executado

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.