Introdução
Hoje em dia, com a intensa demanda de softwares nas  mais variadas áreas do mercado, muitos softwares têm sido desenvolvidos para  atender essa demanda. Mas, muitos deles não são produzidos segundo uma norma,  uma vez que seus desenvolvedores estão focados somente em satisfazer as  necessidades inicias de seus clientes, negligenciando assim alguns aspectos de  manutenção e durabilidade do software. Gerando então preocupações consideráveis  quanto à qualidade desses produtos.
Para resolver este problema, foram criados os  Modelos de Qualidade de Software cujo objetivo principal é garantir a qualidade  do produto através da definição e normatização de processos de desenvolvimento.  Os modelos mais conhecidos atualmente são: ISO, CMM, CMMI.
O CMMI (Capability  Maturity Model Integration), desenvolvido pelo SEI (Sofware
Engineering  Institute), é uma evolução do CMM (Capability  Model Integration) que tenta suprir problemas de integração deste.
Para atender aos diversos setores da indústria de  software, o SEI divulgou diversos documentos derivados do CMM. Mas, essa  diversidade gerou problemas de integração e custo de treinamento, já que cada modelo  possui características específicas. Com intuito de unificar os modelos baseados  no CMM, o SEI desenvolveu o CMMI.
Será apresentado neste trabalho o Modelo de  Qualidade CMMI, sua definição, bem como suas características e seus objetivos. Serão  esplanadas também as representações do CMMI: continua e em estágios, algumas  empresas brasileiras que possuem qualificações CMMI, e por fim, serão feitas as  considerações finais sobre o assunto.
Definição
O CMMI é um modelo de referência que contém práticas: Genéricas ou Específicas necessárias à maturidade em disciplinas específicas. Desenvolvido pelo SEI (Software Engineering Institute) da Universidade Carnegie Mellon, o CMMI é uma evolução do CMM e procura estabelecer um modelo único para o processo de melhoria corporativo, integrando diferentes modelos e disciplinas.
Características
Como seus antecessores, o CMMI não define como o  processo deve ser implementado, mas prescreve suas características estruturais  e semânticas em termos de objetivos e de grau de qualidade com que o trabalho  deve ser realizado.
O CMMI constitui tanto um modelo de capacidade como  um modelo de maturidade. O modelo dentro de uma empresa pode ser alcançado em  etapas consecutivas, representando a idéia de maturidade ou também de maneira  contínua, onde é mensurada a capacidade em práticas individuais.
Quando uma organização atinge um nível de  maturidade, considera-se que seus processos alcançaram uma determinada  capacidade, ou seja, têm mecanismos que garantem a repetição sucessiva de bons  resultados futuros relacionados principalmente à qualidade, custos e prazos.
É de grande importância conhecer os processos  definidos da organização para que possam se reconhecer os pontos fortes e  pontos em que possa haver melhorias e assim seguir alguns passos genéricos para  a implementação de CMMI:
- Iniciar o compromisso organizacional para se estabelecer um ambiente propício ao ciclo de melhoria;
- Diagnosticar os pontos fortes e as oportunidades de melhoria utilizando um método de avaliação;
- Estabelecer um plano de ação;
- Implementar o plano de ação e controlar seu progresso, tomando atitudes corretivas necessárias de maneira oportuna. Uma forma de controlar o estado de institucionalização do processo é mediante processos de auto-avaliação ou uma nova avaliação;
- Propagar a institucionalização na organização revisando problemas ou lições aprendidas no caminho, preparando-se para o próximo ciclo.
Objetivos do CMMI
Redução do custo da implementação de melhoria de processo multidisciplinar baseada em modelo por meio de:
- Eliminação de inconsistências, redução de duplicidades
- Melhoria da clareza e entendimento
- Utilização de terminologia comum e estilo consistente
- Estabelecimento de regras de construção uniformes
- Manutenção de componentes comum
- Consistência com a futura norma ISSO/ IEC 15504
- Sensibilidade às implicações dos esforços legados
Para que esses objetivos sejam alcançados é  necessário que a empresa tenha um foco, um objetivo a ser alcançado, onde a  partir daí um avaliador capacitado faz todas as entrevistas e avaliações  possíveis para com isso dar um retorno a empresa lhe indicando o seu nível de  maturidade e pontos a serem melhorados para que a empresa possa se desenvolver.
Representações do CMMI
O CMMI contém duas representações: contínua e por  estágios. Elas permitem à organização utilizar diferentes caminhos para a  melhoria de acordo com seu interesse.
A contínua permite que uma organização selecione  uma área (ou um grupo de áreas) de processo e melhore os processos  relacionados. Ela usa níveis de capacidade para caracterizar melhorias  relativas a uma área de processo individual.
A estagiada usa conjuntos pré-definidos de áreas de  processo (KPA's) para definir um caminho para uma organização, caracterizado  por níveis de maturidade. Cada nível contém um conjunto de áreas de processo  que caracterizam diferentes comportamentos organizacionais, correspondendo à  capacidade da empresa de realizar projetos grandes e complexos.
Representação Continua
Na representação contínua, o enfoque ou componentes principais são as áreas de processo. Existem metas e práticas de dois tipos: específicas a uma determinada área de processo e genéricas aplicáveis indistintamente a todas as áreas de processo. A partir da avaliação e do atendimento dessas práticas e metas é possível classificar o nível de capacidade de cada área de processo, em níveis de zero a cinco:
Nível 0 -  Incompleto: Quando um processo é parcialmente realizado ou não  realizado. Um ou mais objetivos específicos do processo não estão satisfeitos.
Nível 1 -  Realizado: Quando um processo realizado satisfaz todos os objetivos específicos da  área de processo e produz algum trabalho.
Nível 2 -  Gerenciado: Quando um processo de capacidade nível dois é um  processo realizado (nível um) que também é planejado e executado de acordo com  políticas pré-definidas. Emprega pessoas hábeis com os recursos adequados para  produzir saídas adequadas, envolve os stakeholders (“qualquer  pessoa ou entidade que afeta ou é afetada pelas atividades de uma empresa”) principais e é monitorado,  controlado, revisto e avaliado quanto à aderência à sua descrição. A gerência  do processo é relacionada com a realização de objetivos específicos  estabelecidos para o processo, como custo, cronograma e qualidade.
Nível 3 -  Definido: Quando um processo definido é um processo gerenciado e ajustado para o conjunto  padrão de processos da organização de acordo com suas políticas de conduta.  Esse conjunto é estabelecido e melhorado com o tempo e descreve os elementos  fundamentais de processos que são esperados nos processos definidos.
Nível 4 -  Gerenciado quantitativamente: um processo neste nível é  definido e controlado com a ajuda de técnicas quantitativas e estatísticas. A  qualidade e o desempenho do processo são compreendidos em termos estatísticos e  são geridos durante sua vida. Objetivos quantitativos para qualidade e  desempenho de processos são estabelecidos e usados como critério na gerência do  processo.
Nível 5 -  Otimizado: um processo otimizado é gerenciado quantitativamente, alterado e adaptado  para atender aos objetivos de negócio atuais e projetados.
Vantagens da representação contínua
- Maior flexibilidade para focar em áreas de processo específicas de acordo com as metas e objetivos de negócio;
- Estrutura familiar para os que migram da comunidade de engenharia de sistemas.
Representação por estágios
A representação em estágios oferece uma abordagem  estruturada e sistemática para a melhoria de um estágio por vez. Atingir um  estágio significa que uma estrutura de processo adequada foi estabelecida como  base para o próximo estágio.
As áreas de processo são organizadas por níveis de  maturidade (1 a  5), que definem o caminho de melhoria que uma organização deve seguir do nível  inicial ao nível otimizado. Dentro de cada nível, existem áreas de processo que  contêm metas, características comuns e práticas.
Na representação em níveis, as práticas são  caracterizadas pelos atributos: compromisso para execução (práticas que  garantem que o processo seja estabelecido e apoiado); habilidade para execução  (práticas que criam condições para que o processo seja estabelecido completamente)  e atividade para execução (práticas que implementam diretamente o processo); controle  e verificação de implementação. A transição entre os níveis resulta em  melhorias incrementais e duradouras.
Os estágios de maturidade são:
Nível 1 -  Inicial: Neste nível em geral, as organizações desse nível têm processos  imprevisíveis que são pobremente controlados e reativos. Nesse nível de  maturidade os processos são normalmente “ad hoc” (“para  um fim específico”) e  caóticos. A Organização geralmente não fornece um ambiente estável. Neste nível  não há KPA's.
Nível 2 –  Gerenciado: No nível de maturidade dois os projetos da  organização têm a garantia de que os requisitos são gerenciados, planejados,  executados, medidos e controlados. Quando essas práticas são adequadas, os  projetos são executados e controlados de acordo com o planejado. O foco, neste  nível, é o gerenciamento básico de projetos e tem as seguintes KPA's desse  nível são: gerenciamento de requisitos; planejamento do projeto; controle e  monitoração do projeto; gerenciamento de suprimentos; avaliação e análise;  garantia da qualidade do processo; configuração do gerenciamento.
Nível 3 –  Definido: No nível de maturidade três, em que todos os objetivos específicos e genéricos  atribuídos para os níveis de maturidade dois e três foram alcançados, os  processos são mais bem caracterizados e entendidos e são descritos em padrões,  procedimentos, ferramentas e métodos. O foco neste nível é a padronização do  processo, tendo como KPA's: requisitos de desenvolvimento; soluções técnicas;  integração de produtos; verificação; validação; foco no processo  organizacional; definição do processo organizacional; treinamento  organizacional; gerenciamento de projeto integrado; gerenciamento de riscos;  integração da equipe de trabalho; gerenciamento integrado de suprimentos;  análise de decisões; ambiente organizacional para integração.
Nível 4 -  Quantitativamente Gerenciado: No nível de maturidade quatro,  em que os objetivos específicos atribuídos para os níveis de maturidade 2, 3 e  4 e os objetivos genéricos atribuídos para os níveis de maturidade 2 e 3 foram  alcançados, os processos são medidos e controlados. O foco neste nível é o  gerenciamento quantitativo e possui as seguintes KPA's: performance organizacional  do processo; gerenciamento quantitativo de projetos.
Nível 5 –  Otimizado: No nível de maturidade cinco, o mais alto nível de maturidade CMMI, uma  organização atingiu todos os objetivos específicos atribuídos para os níveis de  maturidade 2, 3, 4 e 5, e os objetivos genéricos atribuídos para os níveis de  maturidade 2 e 3. Os processos são continuamente aperfeiçoados, e baseados em  um entendimento quantitativo em que a variação de um processo existe devido às  interações, normais e presumidas, entre os componentes desse processo. Esse  nível de maturidade tem como objetivo a melhoria contínua do processo. As KPA's  desse nível são: inovação organizacional e análise de causas e resoluções.
Vantagens da representação por estágios
- Fornece um mapa para implementação:
- Grupos de áreas de processos
- Seqüência da implementação
- Estrutura familiar para os que migram do SW-CMM.
Considerações Finais
A utilização de metodologias em desenvolvimento de  software como o CMMI é de grande importância no desenvolvimento das  organizações para torná-las mais competitivas no mercado de trabalho obtendo  melhorias nos seus processos assim fazendo com que alcancem a qualidade  necessária de seus produtos e melhores resultados em seus negócios com  cumprimento de prazos.
Para garantir essa qualidade e que seus processos  estejam sendo executados de maneira correta é necessária uma avaliação contínua  dos processos da organização, verificando assim se a organização está em desenvolvimento  ou até mesmo em outro nível, mas para isso é exigido um número de avaliações  por um período de tempo.
Referências Bibliográficas
[1] Ministério  da Ciência e Tecnologia Secretaria de Política de Informática Qualificação CMM  e CMMI no Brasil:
www.mct.gov.br/upd_blob/0009/9238.pdf
Acessado  em 26/10/09.
[2] Comércio  Eletrônico: Uma Análise da Aplicabilidade de Modelos de Qualidade de Software:
www.lbd.dcc.ufmg.br:8080/colecoes/sbqs/2002/009.pdf
Acessado  em 26/10/09.
[3] Uma  visão geral do CMMI:
www.dromostg.com.br/CMMI.PDF
Acessado  em 26/10/09.
[4] Análise  de uma Organização de Software utilizando o Modelo CMMI/SEI v1.0:
www2.dem.inpe.br/ijar/Qualidade%20de%20Software/PDFs/CMMI-Artigo.pdf
Acessado  em 26/10/09.
[5] Gerência  de Risco em Processos de Qualidade de Software: uma Análise Comparativa:
www.sbc.org.br/bibliotecadigital/download.php?paper=235
Acessado  em 26/10/09.
[6] Departamento  de Produção POLI O novo modelo CMMI
www.spinsp.org.br/apresentacao/new_cmmi.pdf
Acessado em 26/10/09.
[7] ISO/IEC  15504:
www.cin.ufpe.br/~processos/TAES3/slides-2006.2/ISO15504_V02.ppt
Acessado em  26/10/09.
[8] CMM -  Dificuldades de implantação do modelo; sua aplicação no setor financeiro:
www.mbis.pucsp.br/monografias/Monografia_-_Mauro_Dias.pdf
Acessado  em 26/10/09.
[9] ISD  Brasil:
www.isdbrasil.com.br/default.asp
Acessado em 26/10/09.
[10] Wikipedia Capability Maturity Model Integration:
en.wikipedia.org/wiki/CMMI
Acessado  em 26/10/09.
[11] Expandindo  o Agile para se adequar ao CMMI Nível 3:
msdn.microsoft.com/pt-br/library/cc517970.aspx
Acessado  em 26/10/09.
 
 
0 comentários:
Postar um comentário