Você está na página 1de 6

CMMI

Introdução:

O CMMI é uma certificação de maturidade do processo de desenvolvimento de


software. Mais do que isso tem sido apontado como uma garantia de qualidade para o
mercado que reconhece no CMMI a garantia de um processo otimizado, correto e
estável. Os processos de implantação, por mais traumáticos que sejam, garantem, ao
final, uma relação muito vantajosa.
Sendo a evolução de um processo anterior, o CMM,o CMMI faz com que o seu próprio
desenvolvimento seja um exemplo de boa prática. Mais do que uma metáfora,
representa uma preocupação em padronizar e qualificar o processo de desenvolvimento
do software.

O QUE É CMMI?

O SEI (Software Engineering Institute - Instituto de Engenharia de Software) dos


Estados Unidos criou na década de 80 o CMM (Capability Maturity Model - Modelo de
Maturidade da Capacitação), para avaliar a qualidade dos softwares desenvolvidos pelas
empresas de desenvolvimento. Desde 1991, surgiram diversos CMMs, com foco em
desenvolvimento de sistemas, engenharia de software, aquisição de software,
desenvolvimento de produtos e processos, entre outros. Apesar de esses modelos serem
úteis para as organizações, a excessiva diversificação tornou-se problemática,
principalmente a questão da comunicação entre eles. Cada um desses modelos tinha que
ser avaliado separadamente, gerando mais custos. Para resolver este problema de
diversidade de CMMs e criar uma integração entre eles, foi criado o CMMI (Capability
Maturity Model Integration - Modelo de Maturidade da Capacitação Integrado), que é
nada mais que a unificação dos diversos CMMs.
O CMMI diz o que fazer, mas não o como fazer. Este modelo não é uma metodologia
ou ciclo de vida de projetos. Este modelo se propõe a fornecer recursos para a melhoria
dos processos das organizações e também para melhoria do gerenciamento,
desenvolvimento e manutenção dos seus produtos (que nada mais são que o software).
Podemos dizer que ele seja um framework para melhoria de processos de software.
O Departamento de TI das organizações é uma área que possui um forte ritmo de
trabalho, devido ao fato de ter obrigatoriamente contato com todas as outras áreas da
empresa, fornecendo-lhes ferramentas que possibilitem aumento da produtividade e
auxiliem no processo de tomada de decisão. Para que isso se torne realidade, é de
extrema importância que os processos de negócio estejam adaptados ao dia a dia da
empresa e documentados. A organização deve possuir padrões e ferramentas, aplicadas
e utilizadas regularmente, buscando resultados. Se isso não acontecer, as áreas de
sistemas passam a atuar por reação, o que em geral não torna viável alcançar os
resultados esperados pela organização. Faz-se necessário então o foco no planejamento,
tendo em vista a diminuição dos erros e a necessidade de trabalho repetitivo na área de
sistemas. Sendo desta forma o CMMI ajuda os gerentes de projetos de software como
instrumento para a melhoria dos processos de negócio da organização, ajudando no
desenvolvimento, na compra e na manutenção de produtos e serviços de software. Os
processos de negócio e o desenvolvimento de soluções com engenharia de software são
o foco do CMMI. Ele organiza as práticas empresarias que já são consideradas efetivas,
em uma estrutura que via auxiliar a organização a estabelecer prioridades para melhoria
e também fornece um guia para a implantação dessas melhorias.
O CMMI apresenta um nível de maturidade a ser alcançado pelas empresas, visando
ajudá-las no desenvolvimento e manutenção dos projetos de software e como também
melhorar a qualidade de seus processos. Suas KPAs (Key Process Areas ou Áreas chave
de processo) abrangem todo processo de desenvolvimento e melhoram
consideravelmente a qualidade dos projetos. O CMMI possui duas representações. Estas
representações permitem a organização utilizar diferentes caminhos para a melhoria de
acordo com seu interesse. Estas representações são:
Representação continua:
Possibilita a organização utilizar a ordem de melhoria que melhor atender os objetivos
de negócio da empresa. É caracterizado por Níveis de Capacidade (Capability Levels).
Representação por estágios:
Disponibiliza uma seqüência pré-determinada para melhoria baseada em estágios que
não deve ser desconsiderada, pois cada estágio serve de base para o próximo. É
caracterizado por Níveis de Maturidade (Maturity Levels)

Quando o CCMI é entendido pelas pessoas da organização ele ajuda a identificar os


pontos que realmente tem importância, e focar estes pontos. Pode-se então, a partir
deste entendimento, ter uma melhoria nos processos de negócio, e como consequência
disto uma melhora nos resultados da empresa. O CMMI é um modelo que ajuda a
desenvolver as organizações, tornando-as mais eficientes e competitivas.
Diante do desafio de grandes projetos, onde se torna necessário previsão e
planejamento, o CMMI torna-se bastante interessante, porque a gerência de projeto é o
seu tema central. O fator número um a ser considerado na escolha do CMMI é a
possibilidade de previsão, ou seja, ter noção se o projeto é viável. Quando os modelos
de capacidade e maturidade são atingidos em seus níveis ajudam a prever o
comportamento de um determinado processo diante do cenário ao qual o projeto se
encontra. Para a organização, ele ajuda a mesma a conhecer a si própria e seu
desempenho. Muitas vezes, a realidade dói um pouco (no caso de desempenho
negativo), mas pelo menos já se sabe realmente como está e pode montar um plano de
ação para atingir as metas da organização.

ESTÁGIOS DO CMMI E NÍVEIS DE MATURIDADE

1 – Estágio Inicial – Normalmente neste nível os processos são informais e caóticos, as


organizações não possuem um ambiente estável. Apesar deste ambiente informal , as
organizações que se encontram neste nível de maturidade, produzem muitas vezes
produtos e serviços que funcionam, porém elas frequentemente excedem o orçamento e
o cronograma dos seus projetos.

2 – Estágio Gerenciado – Como já diz o nome, neste nível os requisitos, processos,


serviços são gerenciados. São estabelecidos processos básicos de gerenciamento de
projeto para planejar e acompanhar os prazos, custos e funcionalidades. Os produtos e
os serviços são visíveis para o gerente de projeto através de marcas, chamadas
milestones onde é possível verificar o momento em que as principais tarefas são
completadas. Tipicamente, possui gerenciamento de projetos estabelecidos, alguns
procedimentos técnicos escritos, como:
Acompanhamento de qualidade, gerência de configuração inicial, atividades básicas de
medição e análise. O sucesso deste estágio depende basicamente da gerencia do projeto.
3 – Estágio Definido – Neste estágio os processos são bem caracterizados, entendidos e
estão descritos em padrões, procedimentos, ferramentas e métodos.
Estes processos padrão são usados para estabelecer a consistência em toda a
organização. As atividades de gerenciamento básico e as de Engenharia de Software são
documentadas, padronizadas, e integradas em processos padrão. Possui processos
gerenciais e técnicos bem definidos, possibilitando a avaliação do processo.
Ex: Medições de desempenho inicial, auditorias rotineiras, testes padronizados,

4 – Gerenciado Quantitativamente – Os objetivos quantitativos são utilizados como


critérios para o gerenciamento de processos. Os objetivos quantitativos são baseados
nas necessidades dos clientes, dos usuários finais, da organização e dos responsáveis
pela implementação dos processos. A qualidade do processo e desempenho são
entendidos em termos estatísticos. Quando detectada variações de processo, elas são
identificadas e corrigidas para evitar ocorrências futuras.

5 – Otimizado – Neste nível se concentra o melhoramento contínuo do desempenho de


processos através das melhorias tecnológicas e inovadoras. Os objetivos quantitativos
de melhoria de processos são estabelecidos e revisados continuamente para refletir
alterações nos objetivos do negócio, e são utilizados como critérios para o
gerenciamento da melhoria de processos. Os efeitos destas melhorias são medidos e
avalizados com os objetivos quantitativos de melhoria de processos. As melhorias são
selecionadas com base em um entendimento quantitativo de sua contribuição esperada
para que a organização atinja seus objetivos. O desempenho dos processos da
organização é continuamente melhorado.

A metodologia CMMI divida cada um dos estágios acima em áreas de processo.

Visando atingir as metas de cada um dos níveis de maturidade são recomendadas


algumas práticas:
- Comprometimento com a execução.
- Habilitação para execução.
- Direcionamento a implementação.
- Verificação da implementação.

As categorias acima descritas deverão ser consideradas em cada estágio com o qual a
empresa se identifique. Elas buscam direcionar as ações de forma a garantir o
cumprimento do ciclo de evolução, possibilitando a implementação de uma evolução
contínua dos processos e do produto como um todo.

A CMMI contempla dois métodos de representação (Estágios e Contínua),sua


representação por estágios é definida desta forma: Cada nível (estágio) possui
diversas Áreas-Chave de Processo (ACP),cada ACP se encontra em um único nível,a
ACP “Gerenciamento de Requisitos”, por exemplo, encontra-se no nível 2 do SW-
CMM, para ser avaliada como estando em um determinado nível, todas as ACPs
daquele nível (e dos níveis anteriores) precisam ser atendidas. Sobre suas formas de
representação, é a principal diferença entre SW-CMM 1.1 e CMMI 1.0, do ponto de
vista de software, o CMMI admite as duas representações, Organizações com
histórico no CMM (níveis 2 ou 3, por exemplo) devem adotar, provavelmente, a
representação por estágios.
O modelo contínuo seria adotado por organizações: Com objetivos específicos
de melhoria do processo de software, que lhes dariam benefícios imediatos, Com
dificuldades para obter apoio de algumas pessoas na implantação do CMM. O CMMI
possibilita que este curso de ação seja tomado de forma estruturada, com limitação de
recursos. Esta abordagem permite que a organização comece a implementar
melhorias de acordo com suas possibilidades e prioridades.

Como toda norma a CMMI também tem suas limitações que são: Não aborda
aspectos de operações de TI como:Gerenciamento de segurança, Mudança e
configuração,Planejamento de capacidade, Diagnóstico e funções de help desk.
Estabelece metas, mas não diz como atingi-las. E poucas referências e informações
de organizações que adotaram o modelo CMMI.

Comparação entre as Representações Continua e por Estágios

Representação Contínua Representação por Estágios


Permite livre escolha da sequência de Permite que as organizações tenham um
melhorias, de forma a melhor satisfazer caminho de melhoria predefinido e
aos objetivos estratégicos e mitigar as testado.
áreas de risco da organização.
Foca em um conjunto de processos que
Permite que as organizações tenham um fornece à organização uma capacidade
caminho de melhoria predefinido e específica caracterizada por cada nível
testado. de maturidade.

Permite visibilidade crescente da Resume os resultados de melhoria de


capacidade alcançada em cada área de processo em uma forma simples: um
processo. Foca em um conjunto de único número que representa o nível de
processos que fornece à organização maturidade.
uma capacidade específica caracterizada
por cada nível de maturidade. Baseia-se em uma história relativamente
longa de utilização, com estudos de
Permite que melhorias em diferentes casos e dados que demonstram o retorno
processos sejam realizadas em do investimento.
diferentes níveis.

Resume os resultados de melhoria de


processo em uma forma simples: um
único número que representa o nível de
maturidade.

Reflete uma abordagem mais recente


que ainda não dispõe de dados para
demonstrar seu retorno do investimento.

Existem três fatores que podem influenciar na decisão de qual representação


escolher: estratégia, cultura e legado

Fatores estratégicos
Uma organização com um conhecimento maduro de seus próprios objetivos
estratégicos provavelmente possui um forte mapeamento entre esses e seus
processos. Essa organização pode preferir a representação contínua para avaliar
seus processos e para determinar quanto seus processos contribuem para a
satisfação dos objetivos estratégicos. Se uma organização com foco em linha de
produto decidir melhorar seus processos na organização como um todo, pode ser
mais bem atendidapela representação por estágios. A representação por estágios
auxilia na escolha dos conjuntos de processos onde focar a melhoria. A mesma
organização pode optar por melhorar processos por linha de produto. Nesse
caso, ela pode escolher a representação contínua – e uma classificação distinta
de capacidade pode ser obtida na avaliação de cada linha de produto. As duas
abordagens são válidas. A consideração mais importante a ser feita é a identificação
dos objetivos estratégicos a serem apoiados pelo programa de melhoria de processo e
a forma como esses objetivos estratégicos se alinham às duas representações.

Fatores Culturais

Os fatores culturais a serem considerados na escolha de uma representação


estão relacionados com a capacidade da organização em relação à implantação de
um programa de melhoria de processo. Por exemplo, uma organização pode
escolher a representação contínua se sua cultura corporativa basear-se em
processos e for experiente em melhoria de processo ou se existir um processo
que precise ser melhorado rapidamente. Uma organização pouco experiente em
melhoria de processo pode escolher a representação por estágios, uma vez que
essa representação fornece orientações adicionais sobre a sequência em que as
mudanças devem ocorrer.

Legado

Se a organização tiver experiência com outro modelo que utiliza uma


representação por estágios, pode ser mais prudente continuar utilizando essa
representação no CMMI, especialmente se já fez investimentos e implantou
processos associados à representação por estágios. O mesmo raciocínio pode ser
aplicado para a representação contínua.
Análise Critica

A CMMI é reconhecida internacionalmente e é referência no mercado de Software.


Empresas de grande porte adotam o modelo como estratégia para exportar mão-de-
obra, buscando ter um diferencial competitivo. Porém a CMMI é muito cara, então nem
todas as empresas são capazes de se certificar nela, sendo mais um diferencial para
as grandes empresas, em termos de competição.

A CMMI é uma certificação muito especifica da área de software, então é mais


vantajoso se você for uma empresa pequena se certificar na ISO 9001, por ser mais
conhecida por todos, sendo assim sua empresa teria mais credibilidade quanto ao
cliente. Já se for uma empresa voltada para a área de desenvolvimento de software é
importantíssimo se certificar na CMMI porque ela avalia a qualidade do software
desenvolvido pelas empresas de desenvolvimento.

Outro problema da CMMI é o tempo em que se demora a conseguir esta certificação


que é muito longo em torno de 4 a 8 anos. Por isso é muito difícil uma empresa de
pequeno ou médio porte tirar esse certificado

A CMMI é cada vez mais importante para as empresas, pois os processos são
variados, a estratégia dessas empresas tanto na CMMi como em outras normas é de
padronizar e qualificar os processos de trabalho de desenvolvimento.

A CMMI é fundamental para as empresas de tecnologia pois além da publicidade com a


certificação (igual ao que fazem com a ISO9001), o processo prepara a empresa para
novos desafios, mas como qualquer certificação, pode ser fabricada e não ter nenhum
conteúdo, mas conhecendo as empresas com essa certificação, demonstra a diferença
com as demais empresas de software.

Victor Albino Costa

200702081321

Você também pode gostar