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