CMMI (Capability Maturity Model Integration)

 

INTRODUÇÃO

A adoção da metodologia CMMI como ferramenta no gerenciamento de projetos de Software é muito comentada e requisitada.

CMMI é uma metodologia criada pela SEI (Software Engineering Institute) para ser um guia destinado a melhorar os processos organizacionais e a habilidade desses em gerenciar o desenvolvimento, a aquisição e a manutenção de produtos e serviços. O CMMI organiza as práticas, que já são consideradas efetivas, em uma estrutura que visa auxiliar a organização a estabelecer prioridades para melhoria e também fornece um guia para a implementação dessas melhorias.

O primeiro passo a ser dado é a identificação, por meio de um método definido pelo SEI ((SCAMPI – SEI Members of the Assessment Method Integrated Team, 2001) e conduzido por um avaliador credenciado, do estágio em que a empresa se encontra no presente; uma vez que este denota um nível de maturidade a ser alcançado pelas empresas, visando ajudá-las no desenvolvimento e manutenção dos projetos de software, como também melhorar a capacidade de seus processos.

Após a verificação do estágio da empresa, verifica-se qual a próxima etapa a ser alcançada e quais as competências que devem ser adquiridas neste processo. Esta fase é importante, pois permite alcançar o sucesso e, conseqüentemente, melhoria na qualidade dos serviços e produtos fornecidos pela área de tecnologia da Empresa.

O CMMI está dividido em cinco estágios:

1. Realização – Estágio inicial

2. Gerenciado – Gerenciamento de requisitos, planejamento de projeto, monitoramento e controle de projeto, gerenciamento de fornecedores, medição e análise, garantia da qualidade do processo e do produto, gerenciamento de configuração;

3. Definido – Desenvolvimento de requisitos, solução técnica, integração do produto, verificação e validação, foco no processo organizacional, definição do processo organizacional, treinamento organizacional, gerenciamento de riscos, gerenciamento integrado do projeto, análise da decisão e resolução;

4. Quantitativamente – Gerenciamento quantitativo do projeto, performance do processo organizacional;

5. Otimização – Análise causal e resolução, inovação organizacional e implantação.

A tendência atual é de que o modelo CMM seja substituído gradativamente pelo CMMI.

 

1   CONSIDERAÇÕES SOBRE O cmm

1.1  Conceito de CMM

O conceito de CMM abrange os modelos/padrões para desenvolvimento de software, engenharia de sistemas, aquisição de software e recursos humanos. O modelo foi criado pelo Software Engineering Institute (SEI) da Universidade de Carnegie Mellon (SEI/CMU), Estados Unidos. Atualmente é utilizado em mais de 45 países. Através da certificação nesse modelo, as empresas têm o reconhecimento internacional da maturidade de seus processos de produção de software.

Capability model maturity é um modelo de referência para práticas maduras usando para melhorar a capacidade de uma equipe no desempenho de uma determinada disciplina.

CMM’s diferem-se por:

- Disciplina (e.g., software engineering, system engineering);

- Strutura (e.g., staged, continuous);

- Definição de maturidade (i.e., process improvement path).

 

O CMM refere-se aos processos básicos necessários para o gerenciamento efetivo de software. Tanto o desenvolvimento quanto a manutenção de software são cobertos.

No nosso País, não existem auditores certificados pelo SEI. As empresas que necessitarem de certificação formal no CMM normalmente traz dos EUA um Lead Assessor Certificado.

1.2    Origem do CMM

O CMM teve origem durante na década de 1980 como um modelo para avaliação de risco na contratação de empresas de software pela Força Aérea Norte-Americana, que desejava ser capaz de avaliar os processos de desenvolvimento utilizados pelas empresas que concorriam em licitações, como indicação da previsibilidade da qualidade, custos e prazos nos projetos contratados.

Para desenvolver este modelo, a Força Aérea constituiu, junto à Carnegie-Mellon University, o SEI (Software Engineering Institute), o qual, além de ser o responsável pela evolução do CMM, realiza diversas outras pesquisas em Engenharia de Software.

O líder do projeto que veio a resultar no CMM foi Watts Humphrey, anteriormente responsável por todo o desenvolvimento de software da IBM, onde aplicou pela primeira vez os conceitos tradicionais de qualidade, largamente conhecidos e utilizados em manufatura, no desenvolvimento e manutenção de software. Neste trabalho, Humphrey baseou-se na sua experiência anterior como engenheiro de hardware.

Embora, o CMM tenha surgido no contexto de grandes empresas de desenvolvimento de software contratadas pelas Forças Armadas dos EUA para projetos militares, tem-se verificado que seus princípios são válidos para todo tipo de projetos de software.

Isto não é de se estranhar, já que o CMM nada mais é que a aplicação dos princípios da Qualidade Total e do Gerenciamento de Projetos ao mundo do software. Assim, o CMM tem sido usado com sucesso, na íntegra ou adaptado, nos mais variados tipos de empresas, grandes e pequenas, em várias áreas de atuação.

2   cmmi

O CMMI é o mais recente modelo de maturidade para desenvolvimento de software do SEI (Software Engineering Institute - Carnegie Mellon University - EUA), um dos maiores influenciadores em gestão de processos de software em todo o mundo.

Derivado principalmente dos modelos SW-CMM (CMM for Software, voltado ao desenvolvimento de software básico, ou de infra-estrutura) e SE-CMM (CMM for Systems Engineering, voltado ao desenvolvimento de aplicações de software), o CMMI surgiu da percepção de que software básico e aplicações são desenvolvidos em contextos integrados. Além disso, o novo modelo reforça aspectos relacionados à gestão de fornecedores e poderá assimilar outros processos futuramente.

Até presente momento, são quatro as disciplinas incorporadas ao CMMI: Systems Engineering (SE), Software Engineering (SW), Integrated Product and Process Development (IPPD) e Supplier Sourcing (SS).

2.1  Finalidade do CMMI

O projeto CMMI foi desenvolvido para:

- definir um ponto inicial para modelos integrados;

- Aprimorar as melhores praticas para a criação de modelos baseados em lições aprendidas;

- Estabelecer um framework que possibilite a integração futura de novos modelos;

- Criação de uma forma associada de avaliação de desempenho e treinamento de produtos;

- Esforço conjunto (mais de 100 profissionais de aproximadamente 30 empresas envolvidas):

- Indústria;

- Governo;

- Instituto de Engenharia de Software (SEI).

2.2  Benefícios

2.2.1  Benefícios trazidas pelo cmmi no negócio

As vantagens esperadas no negócio:

- Redução substancial em integração de sistemas e tempo de teste com maior probabilidade de sucesso;

- Causa integração de, integração entre, várias funções desenvolvidas;

- Estende os benefícios do CMM-SW para todo o projeto e/ou organização;

- Emprega o princípio da engenharia de sistemas no desenvolvimento de software;

- Acrescenta e aprimora SE em programas existentes;

- Acrescenta e aprimora SE em programas existentes;

- Alavancagem no processo de melhoria do investimento.

2.2.2  Benefícios técnicos trazidos pelo CMMI no negócio

Os benefícios trazidos pelo CMMI, visam o crescimento do foco e consistência em:

- requisitos de desenvolvimento e administração;

- design e desenvolvimento de sistemas;

- integração de sistemas;

- administração de riscos;

- métricas e análises;

- outras atividades relacionadas a engenharia.

 

2.3   Alguns pontos a serem trabalhados para a obtenção do CMMI

No nível 2 é preciso trabalhar pontos como Gestão de Requisitos, de Acordo com Fornecedores e de Configuração, Planejamento e Monitoramento de Projetos, Medição e Análise.

No nível 3, os quesitos a serem trabalhados são, entre outros, Solução Técnica, Integração do Produto, Verificação e Validação, Definição de Processos Organizacionais, Gestão de Riscos, Análise de Decisões e Resolução.

Já nos níveis 4 e 5, respectivamente, trabalhamos pontos como Performance de Processos Organizacionais e Gestão Quantitativa de Projetos, Inovação e Análise de Causas e Resolução.

 

2.3   Etapas das avaliações para o CMMI

A primeira etapa de avaliação para o CMMI é o treinamento da equipe de avaliação, que poderá ser composta somente por profissionais da consultoria ou da consultoria e dos clientes.

A segunda etapa é o planejamento da avaliação, onde diversos aspectos são contemplados, como logística e estabelecimento de expectativas.

A terceira etapa é a execução da avaliação, quando o diagnóstico propriamente dito é realizado. Tipicamente ocorrem de 5 (cinco) à 10 (dez) dias consecutivos de visitas ao cliente, quando o planejamento da avaliação é posto em prática. Entrevistas, revisão de documentos e atividades de consenso da equipe de avaliação são realizadas nesta etapa.

Por último vem a reportagem dos resultados, que ocorre no último dia de avaliação, em uma sessão onde comparecem todos os participantes e eventuais convidados. Ela é seguida por uma sessão executiva, onde são discutidos os principais aspectos levantados durante a avaliação.

 

3   CONCLUSÃO

 

O CMMI (Capability Maturity Model Integration), representa uma evolução do modelo SW-CMM.

Apesar de todo o sucesso de uso do modelo CMM no mundo, existe a tendência de que ele seja substituído gradativamente pelo CMMI.

Muito embora esteja fortemente fundamentado em software, o CMMI contempla  desenvolvimento multidisciplinar, cobrindo outras áreas do desenvolvimento de sistemas.

 

REFERÊNCIAS BIBLIOGRÁFICAS

 

http://www.cin.ufpe.br/~mjmcj/cmm/faq.html

http://www.esicenter.unisinos.br/index.php?pg=frm_vernoticia.php?idnt=50

http://www.timaster.com.br/revista/materias/main_materia.asp?codigo=1061&pag