cmmi-dev
TRANSCRIPT
CMMI – COM FOCO EM DESENVOLVIMENTO
Bruna Villar de Figueirêdo
Eduardo Alves Silva
Geovanny Olímpio
Wesley Vieira da Costa
JOÃO PESSOA-PB
23/11/2013
Sumário
Introdução
Atualmente existem no mercado modelos de maturidade, padrões, metodologias e
diretrizes que auxiliam uma organização a melhorar a forma de se realizar os negócios.
Todo esse conjunto deve-se a necessidade das empresas de entregarem os melhores
produtos e serviços de forma mais rápida e com o melhor preço, porém, satisfazer tal
necessidade requer das organizações uma capacidade de gerenciar e controlar todos
esses processos relativos ao desenvolvimento e a manutenção.
Dentre as metodologias existentes, o (Capability Maturity Model Integration ou
Modelo de Maturidade em Capacitação - Integração) tem se mostrado cada vez mais
eficaz, pois tem sido utilizado atualmente em mais de 5000 empresas espalhadas nos
mais de 70 países.
O CMMI consiste em uma coleção de boas práticas ajudam as organizações a
melhorarem seus processos. É dividido em três partes, são elas:·.
CMMI for Development (CMMI-DEV), voltado ao processo de desenvolvimento
de produtos e serviços.
CMMI for Acquisition (CMMI-ACQ), voltado aos processos de aquisição e
terceirização de bens e serviços.
CMMI for Services (CMMI-SVC), voltado aos processos de empresas
prestadoras de serviços.
Objetivo
Embora se encontre atualmente na versão 1.3, este trabalho abordará o modelo de
CMMI para Desenvolvimento (CMMI-DEV) na versão 1.2, disponível para consulta em
Português. A tradução da versão 1.2 para o português foi resultado de uma ação conjunta
entre a Fundação CPqD, a Integrated System Diagnostics ISD Brasil e o apoio do
Ministério de Ciência e Tecnologia.
É possível encontrar o comparativo entre as versões 1.3 e 1.2 disponíveis em:
http://www.processgroup.com/condensed-cmmi1p3-dev-changelist-v3.pdf
A tabela abaixo mostra um comparativo entre as versões 1.1, 1.2 e 1.3 relatando
os pontos como: Páginas, Áreas de Processo, Metas Genéricas, Práticas Genéricas,
Metas Específicas e Práticas Específicas.
Disponível em:
http://www.slideshare.net/naik.rajeshnaik/cmmir-version-1-3-whats-new
Histórico
Teve início na década de 1991, o Instituto de Engenharia de Software da
Universidade de Carnege Mellon, através de uma encomenda do departamento de defesa
americano criou SW-CMM – Modelo de Capacidade e Mentalidade para Software. Era um
modelo de qualidade pare o processo de engenharia de software. O mercado de empresa
de Software havia, encontrado nele uma de suas principais referencias como modelo de
qualidade. O CMM originou de diferentes necessidades de organizações, tendo cada
modelo arquitetura e abordagem própria, o que dificultava a sua utilização por
organizações que possuíam processos integrados envolvendo várias destas disciplinas,
devido aos altos custos de treinamento, avaliação e ações de melhoria.
Diante do cenário criado em 2002 o SEI cria um modelo evolutivo dos vários CMMs
que o chamou de CMMI (Capability Maturity Model Integration), com o objetivo de
combinar as suas várias disciplinas em uma estrutura única, flexível e componentizada,
que pudesse ser utilizada de forma integrada por organizações que demandavam
processos de melhoria em âmbito corporativo . Além da integração, o modelo tornou mais
claros alguns aspectos que antes eram oculto, tais como a diferenciação entre os
conceitos de “organização” e “empresa”, a valorização dos processos de “verificação” e
“validação” e a evolução da característica “Medição e Análise” (comum a todas as KPAs
do CMM) para se tornar uma importante Área de Processo do CMMI.
Em agosto de 2006, o SEI publicou a versão 1.2 do CMMI que incorpora varias
melhorias e simplificação em comparação a versão antiga. Entre elas, estão a
centralização do tratamento das disciplinas de engenharia de software, engenharia de
sistemas, desenvolvimento junto de produto e processo e terceirização em um
documento, denominado “CMMI para Desenvolvimento” e a adoção de uma nova
arquitetura para o modelo (inspirada no conceito de “constelações”) que permitisse a sua
expansão para outros focos, tais como aquisições e entrega de serviços.
Em novembro de 2010, a versão 1.3 do CMMI foi criada, tendo como principal
mudança a exclusão das metas e praticas genéricas dos níveis 4 e 5 de maturidade e
capacidade.
Modelos de Maturidade e de Capacidade
Com o objetivo auxiliarem as organizações a desenvolverem e manterem os
produtos e serviços com qualidade o SEI (Software Engineering Institude ou Instituto de
Engenharia de Software) mapeou diversas dimensões para orientarem as organizações a
focar os esforços e assim, portanto, melhorarem os negócios. Essas dimensões são
geralmente classificadas em: Pessoas, procedimentos e métodos e ferramentas e
equipamentos.
O que mantém a ligação dessas três dimensões são os processos, não que as
pessoas e tecnologias sejam menos importantes, porém é comum observamos grandes
mudanças nas tecnologias, assim como as pessoas também mudam (por exemplo, ao
trabalharem em várias empresas), mas os processos destacam-se por basear-se nos
fundamentos necessários para enfrentar as mudanças utilizando do máximo da
produtividade das pessoas aliado ao uso da tecnologia visando uma maior
competitividade.
Ilustração: CMMI-DEV 1.2 (Português)
Representações
O CMMI possui duas representações: "contínua" ou "por estágios". Estas
representações permitem à organização utilizar diferentes caminhos para a melhoria de
acordo com seu interesse.
Representação Contínua
Oferece uma maior flexibilidade, possibilitando a organização utilizar a ordem de
melhoria que melhor atende os objetivos de negócio da empresa. É indicada para
organizações quando os processos que precisam ser melhorados são conhecidos e as
dependências entre as áreas de processo descritas no CMMI são bem compreendidas.
Representação Por Estágios
Esta representação é indicada quando a empresa já utiliza algum modelo de
maturidade por estágios, quando deseja utilizar o nível de maturidade alcançado para
comparação com outras empresas ou quando pretende usar o nível de conhecimento
obtido por outros para sua área de atuação.
Escolha das Representações.
As Representações são escolhidas conforme a necessidade das empresas. A
escolha é feita baseado em fatores que podem influenciar na decisão, são eles:
estratégia, cultura e legado.
Fatores Estratégicos: Quando a organização possui um conhecimento maduro de
seus próprios objetivos estratégicos e provavelmente por consequência um mapeamento
entre seus processos, poderá escolher a representação contínua, determinando quanto
seus processos contribuem para a satisfação dos objetivos estratégicos. Mas se a
Organização tem um foco em linha de produto e decide melhorar seus processos, será
mais bem atendida pela representação em estágios.
Fatores Culturais: Esta escolha está relacionada à capacidade da organização na
implantação de um programa de melhoria de processo. A organização poderia escolher,
por exemplo, uma representação contínua se já tivesse experiência em melhoria de
processo ou quando precisasse melhorar um processo rapidamente. Já em um caso de
organização pouco experiente, a representação em estágios seria mais adequada visto
que nesta há orientações adicionais que abordam sequencialmente como as mudanças
devem ocorrer.
Legado: Quando a organização tem alguma experiência com outro modelo que usa
a representação por estágios, será mais adequado continuar a utilizar esta representação
no CMMI, principalmente se já tiver feito investimentos e implantação dos processos
associados à representação por estágios. Ocorre o mesmo raciocínio na representação
contínua.
O fato é que as organizações dificilmente seguem exclusivamente uma
representação. Seja o objetivo de melhoria de processo ou para avaliação, as duas
representações fornecem resultados equivalentes, assim, portanto, as organizações
podem aproveitar o que há de melhor entre as duas representações, adequando assim a
sua necessidade. Abaixo uma tabela comparativa entre as duas representações.
Representação Contínua Representação por Estágios
Permite livre escolha da sequência de melhorias, de forma a melhor satisfazer aos objetivos estratégicos e mitigar as áreas de risco da organização.
Permite que as organizações tenham um caminho de melhoria predefinido e testado.
Permite visibilidade crescente da capacidade alcançada em cada área de processo.
Foca em um conjunto de processos que fornece à organização uma capacidade específica caracterizada por cada nível de maturidade.
Permite que melhorias em diferentes processos sejam realizadas em 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.
Baseia-se em uma história relativamente longa de utilização, com estudos de casos e dados que demonstram o retorno do investimento.
CMMI 1,2
Componentes das áreas de Processo
São classificados em três categorias: requeridos, esperados e informativos.
Componentes Requeridos: No CMMI, esses componentes são as metas
específicas e as metas genéricas. O critério utilizado nas avaliações é a satisfação das
metas, que servem para decidir se uma área de processo foi implementada de maneira
adequada. Eles descrevem o que uma organização deve realizar para implementar uma
área de processo.
Componentes Esperados: Através da orientação dos responsáveis por
implementarem as melhorias ou a execução das avaliações, os Componentes Esperados
descrevem o que uma organização pode fazer para satisfazer um componente requerido.
Para que as metas possam ser consideradas satisfeitas, as práticas devem estar
presentes nos processos planejados e implementados da organização, conforme descrito
ou de forma alternativa aceitável.
Componentes Informativos: Auxiliam as organizações na implementação dos
componentes requeridos e esperados como, por exemplo: subpráticas, extensões, título
de metas e práticas além de outros componentes.
Os principais componentes da estrutura do CMMI.
Áreas de processo: Um conjunto de práticas relacionadas a uma área é chamado de
Áreas de Processo. Quando implementadas elas satisfazem um conjunto de metas
consideradas importantes na realização das melhorias significativas daquela área. O
CMMI DEV é composto por 22 áreas de processo, são elas:
Análise e Resolução de Causas (CAR) Gestão de Configuração (CM) Análise e Tomada de Decisões (DAR) Gestão Integrada de Projeto +IPPD (IPM +IPPD) Medição e Análise (MA) Implantação de Inovações na Organização (OID) Definição dos Processos da Organização +IPPD (OPD +IPPD) Foco nos Processos da Organização (OPF) Desempenho dos Processos da Organização (OPP) Treinamento na Organização (OT) Integração de Produto (PI) Monitoramento e Controle de Projeto (PMC) Planejamento de Projeto (PP) Garantia da Qualidade de Processo e Produto (PPQA) Gestão Quantitativa de Projeto (QPM) Desenvolvimento de Requisitos (RD) Gestão de Requisitos (REQM) Gestão de Riscos (RSKM) Gestão de Contrato com Fornecedores (SAM) Solução Técnica (TS) Validação (VAL) Verificação (VER)
Metas Específicas: Componente requerido do modelo, as Metas Específicas
descrevem as características que devem estar incluídas na implementação adequada de
uma área do processo. É utilizada nas avaliações para determinar se uma área de
processo está implementada.
Práticas Específicas: São as descrições das atividades consideradas importantes
para o atendimento de suas respectivas metas específicas. Podem ser detalhadas em
subpráticas e possuem como saídas os produtos de trabalho típicos.
Metas Genéricas: São as metas comuns, compartilhadas por múltiplas áreas de
processo, que, quando atingidas dentro de uma área de processo específica, podem
indicar se estão sendo planejadas e implementadas de forma efetiva, replicável e
controlada.
Práticas Genéricas: São as descrições das atividades consideradas importantes
para o atingimento das suas respectivas metas genéricas e que garantem a
institucionalização efetiva, repetível e controlada das áreas de processo. As práticas
genéricas podem ser divididas em subpráticas e conter derivações específicas
relacionadas a cada área de processo em que são aplicadas.
Níveis de Maturidade e Capacidade
Na abordagem por estágio é baseada em cinco níveis de maturidade: Inicial (1),
Gerenciado (2), Definido (3), Gerenciado Quantitativamente (4) e Otimizado (5). Um nível
de maturidade pode ser considerado um degrau evolucionário para a melhoria do
processo organizacional como um todo e consiste em práticas específicas e genéricas
que integram um conjunto predefinido de áreas de processo. O cumprimento das metas
específicas e genéricas correspondentes a estas áreas de processo é um pré-requisito
para o atingimento do nível de maturidade correspondente.
No nível 1 é o estágio de como a empresa está, sem nenhuma melhoria de
processos e produtos;
No nível 2 o foco é direcionado para práticas de gestão de projetos, indicando que
em uma organização ainda imatura, é mais prioritário aprender a planejar, controlar e
gerenciar os projetos do que investir em técnicas e metodologias de desenvolvimento de
produtos. Gerenciar projetos envolve gerenciar, durante o seu andamento, os requisitos
estabelecidos junto aos grupos interessados, a qualidade e a integridade dos produtos
gerados, a aderência aos processos existentes e os acordos formalizados com os
fornecedores envolvidos. Há uma preocupação explícita em relação à criação de uma
infraestrutura para medição e análise dos processos, para viabilizar o seu controle e
gerenciamento efetivo.
No nível 3 o foco está no processo de engenharia de produtos, que espelha as
fases de um ciclo de vida padrão: Concepção (“Desenvolvimento de Requisitos”), Análise
e Desenho (“Solução Técnica”), Testes e Implantação (“Integração do Produto”,
“Verificação” e “Validação”).
No nível 4 a gestão quantitativa é baseada em medições e indicadores, de forma
integrada, todo o conjunto de processos organizacionais, assim como os projetos e
respectivos produtos, como instrumento de suporte para o atendimento dos objetivos de
desempenho de processo e de qualidade.
No nível 5 o conceito de inovação organizacional integra os processos de gestão
de mudanças tanto em processos como na tecnologia. A importância da análise e da
resolução das causas dos desvios é explicitamente enfatizada.
Na abordagem contínua o CMMI permite que cada uma de suas áreas de
processo seja implementada de forma independente e evolutiva, agrupando suas práticas
genéricas e específicas em quatro níveis de capacitação
No nível 0: o processo não é executado ou é parcialmente executado, ou seja, uma
(ou mais) das metas específicas de sua área de processo não é satisfeita.
No nível 1: o processo satisfaz todas as metas específicas de sua área de processo e
realiza o trabalho necessário para gerar os seus produtos.
No nível 2: o processo é planejado e executado de acordo com políticas
organizacionais, utiliza pessoal habilitado e recursos adequados para gerar saídas de
forma controlada e envolve os grupos interessados adequados, além de ser monitorado,
controlado, revisa-do, avaliado quanto à conformidade com sua descrição e ao
desempenho previsto nos seus planos.
No nível 3: o processo é gerenciado e adaptado a partir de um conjunto de
processos padronizados da organização, que, por sua vez, também evoluem
continuamente.
Benefícios do modelo
De acordo com resultados de desempenho relatados ao SEI em 2005 referentes a
mais de 25 organizações de grande porte, a implementação do CMMI trouxe benefícios
quantificáveis bastante significativos ao longo do tempo, nas seguintes categorias
Categoria Média Alguns Exemplos
Custo Redução de 20%
Redução de 20% nos custos de unidades de software.Redução de 15% nos custos de remoção de defeitos.Queda de 4,5% na taxa de overhead dos projetos.Queda de 42% nos custos de retrabalho.Melhoria e estabilização dos índices de desempenho de custos.
Categoria Média Alguns Exemplos
Prazo Melhoria de 37%
Aumento do percentual de milestones atingidos com sucesso de 50% para aproximadamente 85%.Redução do número médio de dias de atraso de aproximadamente 50 para menos de 10.Variação média do prazo realizado em relação ao previsto reduzida de cerca de 130 dias para menos de 20 dias.
Produtividade Aumento de 62%
Aumento de 92% na quantidade de linhas de código por pessoa/dia.Aumento de 100% no número de releases de software liberadas por ano. Aumento de 50% na solução de requisições de mudança em relação ao
plano.
Qualidade Aumento de 50%
Atingimento da meta de 20 +/- 5 defeitos a cada 1000 linhas de código. Apenas 2% dos defeitos encontrados no sistema em produção. Redução de 7% na quantidade de requisições de mudança no ambiente de produção.
Satisfação dos Clientes
Aumento de 14%
Aumento de 55%, em com paração ao desempenho atingido pelo SW-CMM Nível 2.Aumento de 10%, em comparação ao desempenho atingido pelo SW-CMM Nível 5.
Retorno sobre o Investimento
4,7 : 1 Retorno de 5:1 em relação às horas investidas em atividades de qualidade.Retorno de 24:1 devido à sincronização da configuração de código entre localidades distintas (organização no Nível 5).
Página oficial do CMMI no site do SEI ( www.sei.cmu.edu/cmmi/ )
Referências
CMMI DEV, 1.2
(http://www.sei.cmu.edu/library/abstracts/news-at-sei/cmmiinfocus200607.cfm)
http://cmmiinstitute.com/results/success-stories/
http://www.isdbrasil.com.br/o-que-e-cmmi-dev.php
http://www.cits.br/cmmi.do
http://cmmiinstitute.com/assets/presentations/2013SepCMMI.pdf
Aguinaldo Aragon.Implatando a Governaça de TI. Editora: Brasport. Ano: 2008.
Edição: 2.
http://www.devmedia.com.br/cmmi-capability-maturity-model-integration/3530