estudo da aplicaÇÃo do modelo de referÊncia cmmi...
TRANSCRIPT
UNIVERSIDADE SÃO FRANCISCO
Engenharia de Computação
CARLOS ALBERTO SUZAN BAPTISTA
ESTUDO DA APLICAÇÃO DO MODELO DE
REFERÊNCIA CMMI COMO MÉTODO DE MELHORIA DE
PROCESSOS.
Itatiba
2012
CARLOS ALBERTO SUZAN BAPTISTA – R.A. 002200400045
ESTUDO DA APLICAÇÃO DO MODELO DE
REFERÊNCIA CMMI COMO MÉTODO DE MELHORIA DE
PROCESSOS.
Monografia apresentada ao curso de Engenharia
de Computação da Universidade São Francisco,
como requisito parcial para a obtenção do título
de Bacharel em Engenharia de Computação.
Orientadora Profa. Ms. Vânia Franciscon Vieira
Itatiba
2012
Para Deus, Pai e Criador, que permitiu a
conclusão deste projeto.
AGRADECIMENTOS
Agradeço a Deus, pela oportunidade e inspiração para realização deste trabalho. Ao
meu pai José Antonio Formenti Baptista e para minha mãe Teresinha Suzan Baptista, por todo
apoio e paciência em todos estes anos e por serem grandes exemplos para mim. À minha irmã
Caroline Suzan Baptista por estar sempre ao meu lado em qualquer situação.
Quero agradecer também os meus familiares que acreditaram em mim e me
incentivaram a seguir em frente.
Um agradecimento especial aos meus amigos e colegas de sala que me ajudaram em
vários momentos e caminharam junto comigo até este momento.
Agradeço também a minha orientadora Vânia Franciscon Vieira, por aceitar e acreditar
neste trabalho, colaborando em todos os aspectos, demonstrando confiança em mim e no meu
trabalho.
“A mente que se abre a novas idéias,
jamais voltará ao seu tamanho original”
Albert Einstein
RESUMO
A qualidade dos produtos de software está fortemente relacionada com a qualidade dos
processos utilizados. Uma das formas empregadas para obtenção de maior qualidade tem sido
a adoção de modelos, e posteriormente métodos para avaliação de processos para garantir a
adequação aos modelos adotados. O CMMI Framework, proposto pelo Software Engineering
Institute, define um conjunto de modelos de qualidade de processo, além de um método para
avaliação de adequação a esses modelos e produtos de apoio. Este trabalho tem por objetivo
apresentar uma visão geral dos modelos CMMI para avaliação de melhoria de processo.
Palavras chave: Qualidade de processo de software, CMMI.
ABSTRACT
The quality of software products is strongly related to the quality of the processes
used. One of the ways used to obtain higher quality has been the adoption of models and
methods for further evaluation processes to ensure consistency with the models adopted. The
CMMI Framework, proposed by the Software Engineering Institute defines a set of process
quality models, and a method for assessing the adequacy of these models and support
products. This paper aims to present an overview of CMMI models for evaluation of process
improvement.
Key words: Quality Software process, CMMI.
LISTA DE FIGURAS
FIGURA 1 – Representação do modelo IDEAL......................................................................21
FIGURA 2 – Níveis de implementação do CMMI...................................................................24
LISTA DE TABELAS
TABELA 1 – Características das classes de métodos de avaliação CMMI..............................23
TABELA 2 – Fases do Método SCAMPI.................................................................................29
LISTA DE ABREVIATURAS E SIGLAS
ARC Appraisal Requirements for CMMI
CMM Capability Maturity Model
CMMI Capability Maturity Model Integration
EIA Electronic Industries Alliance
IPD-CMM Integrated Product Development Capability Maturity Model
SCAMPI Standard CMMI Appraisal Method for Process Improvement
SECM Systems Engineering Capability Model
SEI Software Engineering Institute
SW-CMM Capability Maturity Model para Software
SUMÁRIO
LISTA DE ABREVIATURAS E SIGLAS ................................................................................... 10
1 INTRODUÇÃO ........................................................................................................................ 12
2 OBJETIVOS ............................................................................................................................. 13
3 METODOLOGIA ..................................................................................................................... 14
4 HISTÓRICO ............................................................................................................................. 15
5 REPRESENTAÇÕES DO CMMI ............................................................................................ 17
5.1 COMPONENTES DO MODELO .......................................................................................... 19
5.1.1 Áreas de Processo ........................................................................................ 19
5.2 O MODELO IDEAL .............................................................................................................. 20
5.3 REQUISITOS PARA AVALIAÇÃO DO CMMI (ARC) ..................................................... 22
6 NÍVEIS DE IMPLEMENTAÇÃO ........................................................................................... 24
6.1 Nível de Capacidade 0: Incompleto ....................................................................................... 25
6.2 Nível de Capacidade 1: Estruturado ....................................................................................... 25
6.3 Nível de Capacidade 2: Gerenciado ....................................................................................... 25
6.4 Nível de Capacidade 3: Definido ........................................................................................... 25
6.5 Nível de Capacidade 4: Gestão Quantitativa .......................................................................... 26
6.6 Nível de Capacidade 5: Otimização ....................................................................................... 26
7 O MÉTODO SCAMPI .............................................................................................................. 28
7.1 Fases do método SCAMPI ..................................................................................................... 29
7.1.1 Planejamento e preparação da avaliação ..................................................... 30
7.1.2 Condução da avaliação ................................................................................ 31
7.1.3 Relato dos resultados ................................................................................... 32
7.2 RESULTADOS DA APLICAÇÃO DOS MODELOS CMMI E SCAMPI ........................... 32
8 VANTAGENS E DESVANTAGENS ...................................................................................... 34
9 CONCLUSÃO .......................................................................................................................... 35
10 REFERÊNCIAS ........................................................................................................................ 36
12
1 INTRODUÇÃO
A questão da qualidade para os seres humanos tem grande vinculo com a sua própria
evolução. A tradução de evolução para humanidade pode ser resumida a uma eterna busca
pela perfeição, em que a principal ferramenta desta busca é a qualidade. Provavelmente a
humanidade jamais atingira a perfeição, no entanto, ela nunca deixara de tentar melhorar a
qualidade dos elementos que a cercam.
Na busca por uma melhoria da qualidade no ambiente empresarial, a humanidade
desenvolveu diversos modelos e conceitos que tratam da qualidade. Com essa evolução
chegou-se a modelos que tratam da melhoria da qualidade por meio da melhoria dos
processos da organização para alcançar a qualificação de seus produtos. O tema qualidade se
tornou tão importante para as organizações que transformou-se em um dos elementos
estratégicos e essenciais para a competitividade das organizações.
Com a abertura de mercados, a competitividade natural que existente entre as
empresas tornou-se ainda mais acirrada. A qualidade dos produtos e serviços de software
passou, dessa forma, a ser fundamental para sua sobrevivência. Para garantir essa qualidade,
as empresas envolvidas nesse contexto iniciaram uma busca pela melhoria de seus processos
de software (ROCHA, 2001). Com isso, a utilização de modelos de qualidade de processo de
software aumentou de maneira significativa e resultados positivos foram obtidos.
Entre os diversos modelos existentes, os definidos pelo CMMI têm sido utilizados por
uma quantidade considerável de organizações devido ao seu estágio atual de consolidação.
Esses modelos definem níveis de maturidade em que uma empresa, ligada de alguma forma
ao desenvolvimento de software, pode ser classificada.
Este modelo se consolidou como um importante selo de qualidade relacionado ao
desenvolvimento de softwares e gerenciamento de projetos para competir no mercado
nacional e internacional.
O CMMI não é apenas uma técnica, nem metodologia e tão pouco um processo de
melhoria. Ele é um modelo de referencia das melhores praticas e habilidade de gerenciar o
desenvolvimento, a aquisição e a manutenção de produtos e serviços. Organiza praticas
comprovadamente efetivas em uma estrutura que estabelece as prioridades. É considerado o
principal indicador de qualidade de software no mundo e adotado com sucesso em
praticamente todos os setores da indústria.
13
2 OBJETIVOS
Tendo visto que o modelo de referencia CMMI é um importante indicador de
qualidade no desenvolvimento e gerenciamento de projetos, a implantação desse modelo por
parte da empresa requer um estudo prévio, pois existem detalhes importantes a serem
considerados e também suas vantagens e desvantagens.
O objetivo deste trabalho é demonstrar as principais características do CMMI, os
benefícios que ele pode trazer para empresa e como ele pode ser implantado visando à
melhoria no processo de desenvolvimento e gerenciamento de projetos.
14
3 METODOLOGIA
Para apresentar a modelo de maturidade CMMI e suas características, um estudo será
realizado tendo como base as referencia bibliográficas apresentadas neste plano além de
outras pesquisas que serão realizadas no decorrer do trabalho.
O trabalho também apresentará de forma detalhada todos os níveis de implantação do
modelo, descrevendo os atributos de cada nível e os benefícios trazidos pela adoção do CMMI
como modelo de referencia da empresa.
Além de mostrar como o método SCAMPI atua utilizando as características do CMMI
e mais algumas métricas importantes para aplicações de avaliações e na implementação do
modelo.
Por fim, após definido todo o plano principal, o próximo passo foi demonstrar como o
modelo organiza o desenvolvimento de softwares e qual o impacto que a adoção do mesmo
traz para empresa.
15
4 HISTÓRICO
Desde 1991, o SEI tem desenvolvido modelos de qualidade para engenharia de
sistemas, engenharia de software, aquisição de software e desenvolvimento integrado de
produtos e processos.
A adoção desses modelos mostrou-se útil para muitas organizações de vários
segmentos de indústrias. No entanto, as organizações tinham dificuldades de realizar
melhorias de forma integrada entre todos os seus grupos e divisões, pois cada um desses
grupos adotava um modelo específico, alinhado com os objetivos do grupo, mas não
integrado aos modelos adotados pelos outros grupos da empresa.
As diferenças entre os modelos de disciplinas específicas usadas por cada grupo,
incluindo suas arquiteturas, conteúdo e abordagens, limitavam as capacidades das
organizações de propagar as melhorias de maneira uniforme por toda a organização, além de
tornar o processo de melhoria custoso, devido aos custos com treinamento, implantação e
avaliação.
Nesse contexto, foi iniciado o projeto de integração dos principais modelos para
resolver o problema da adoção de vários modelos de aplicações específicas. O CMMI é um
modelo de qualidade criado e mantido pelo SEI, resultante de um esforço de integração de
frameworks e modelos de qualidade como o SW-CMM, o SECM EIA731 e o IPD-CMM.
A combinação desses modelos num único framework possibilitaria às organizações
exercer melhorias dos seus processos em nível organizacional. Usando o conteúdo desses
conceituados modelos como fonte de informação, o CMMI Product Team criou um conjunto
coerente de modelos integrados que pode ser adotado tanto pelos que já utilizavam os
modelos de origem quanto pelo os que desejam iniciar a implantação de melhorias em seus
processos organizacionais.
O desenvolvimento de um conjunto de modelos integrados envolve mais do que
simplesmente combinar o material de modelos existentes. Utilizando processos que
promovem consenso, o CMMI Product Team construiu um framework que acomoda
múltiplas disciplinas e é flexível o suficiente para apoiar as diferentes abordagens dos
modelos fonte.
Desde a versão 1.1, o CMMI pode ser aplicado para outras áreas de interesse. Para
tornar isso possível, o framework agrupa boas práticas em “constelações”, que são coleções
16
de componentes CMMI usados para construir modelos, material de treinamento e documentos
para avaliação.
Posteriormente, a arquitetura do modelo CMMI foi melhorada para suportar várias
constelações e compartilhar boas práticas entre elas. Os trabalhos foram iniciados em duas
novas constelações: uma para serviços e outra para aquisição. Os modelos CMMI que
estavam disponíveis na comunidade antes de 2006 são agora considerados parte da
constelação CMMI para o desenvolvimento.
17
5 REPRESENTAÇÕES DO CMMI
Duas são as possíveis representações para medição de melhorias de processo
disponibilizadas pelo CMMI: a contínua (continuous) e a por estágios (staged). A principal
diferença entre elas consiste na forma como as organizações podem ser classificadas.
Enquanto a representação contínua estabelece níveis de capacidade, a por estágios estabelece
níveis de maturidade. Ambas as representações baseiam-se em áreas de processo (process
areas) para estabelecer o nível de capacidade ou maturidade de uma organização. Áreas de
processo consistem em agrupamentos de práticas relacionadas a uma área que, quando
executadas corretamente, satisfazem um conjunto de objetivos considerados importantes para
uma melhora significativa dessa área.
Há vantagens e desvantagens em ambas as representações e cabe à organização
selecionar a que melhor atende a seus interesses. A representação contínua oferece o máximo
de flexibilidade ao usar um modelo CMMI para melhoria de processos. A organização pode
optar por melhorar o desempenho de um único processo relacionado com um problema
específico ou selecionar diversas áreas estreitamente alinhadas às estratégias de negócio da
organização. Também é possível melhorar diferentes processos em diferentes ritmos.
No entanto, há algumas limitações para essas escolhas, pois há dependências entre as
algumas áreas de processo. Caso a organização saiba quais dos seus processos devem ser
melhorados e conhece as dependências entre as áreas de processo do CMMI, a representação
contínua é uma boa escolha. Já a representação estagiada apresenta um caminho sistemático e
estruturado para implementação de melhoria um estágio de cada vez. Alcançando um nível de
maturidade, a organização garante uma infraestrutura de processos básica para alcançar o
próximo estágio. As áreas de processo são agrupadas em níveis de maturidade. Dessa forma,
essa representação prescreve uma estratégia de melhoria definida desde o nível inicial até o
nível otimizado.
Caso a organização não saiba quais processos devem ser melhorados inicialmente, a
representação estagiada é uma escolha adequada. Caso a organização tenha intenção de obter
certificados de aderência ao modelo, a representação estagiada possui uma maior aceitação no
mercado, pois permite que as organizações possam ser comparadas através dos respectivos
níveis de maturidade. Essa comparação em muitos casos não será possível em organizações
que escolheram a representação contínua, pois as áreas de processo selecionadas por uma
organização e outra podem ser diferentes.
18
Um nível de capacidade é alcançado dentro de uma área de processo específica, como,
por exemplo, gerenciamento de configuração ou verificação. Por outro lado, um nível de
maturidade é alcançado somente quando todo um conjunto de áreas de processo, que
representam uma unidade organizacional, é atendido.
Os níveis de capacidade estabelecidos pela representação contínua e uma breve
descrição dos requisitos necessários para atingi-los são apresentados a seguir.
1. Incompleto: um processo incompleto é um processo que não é executado ou é
apenas parcialmente executado. Um ou mais dos objetivos específicos da área
de processo não é atingido.
2. Realizado: um processo realizado é um processo que satisfaz os objetivos
específicos da área de processo. Ele apoia e habilita o trabalho necessário para
produzir as saídas identificadas utilizando as entradas especificadas.
3. Gerenciado: um processo gerenciado (nível 1) é um processo realizado que é
planejado e executado de acordo com uma política, por pessoas com
habilidades específicas que utilizam recursos para controle, revisão,
monitoramento e avaliação.
4. Definido: um processo definido é um processo gerenciado (nível 2) que é
concebido a partir de um conjunto de padrões da organização.
5. Gerenciado Quantitativamente: um processo gerenciado quantitativamente é
um processo definido (nível 3) que é controlado por meio de técnicas
estatísticas ou outras técnicas quantitativas.
6. Em Otimização: um processo em otimização é um processo gerenciado
quantitativamente (nível 4) que é modificado e adaptado para atender objetivos
de negócios correntes e projetados relevantes. O foco aqui é a melhoria
contínua por meio de tecnologias inovadoras e incrementais.
Os níveis de maturidade estabelecidos pela representação por estágios são
apresentados a seguir, juntamente com uma breve descrição dos requisitos necessários para
atingi-los.
1. Inicial: processos são geralmente caóticos e desenvolvidos de forma ad-hoc. A
unidade organizacional geralmente não dispõe de um ambiente estável, e o
sucesso depende de competências individuais e do heroísmo dos integrantes da
organização.
19
2. Gerenciado: existe uma garantia de que os requisitos são gerenciados e que os
processos são planejados, documentados, executados, medidos e controlados.
3. Definido: os processos são caracterizados e compreendidos, sendo descritos em
padrões, procedimentos, ferramentas e métodos. A organização define um
conjunto de processos padrão, que são melhorados no decorrer do tempo.
4. Gerenciado Quantitativamente: subprocessos fundamentais para o desempenho
geral do processo são selecionados. Esses subprocessos passam a ser
controlados por meio de técnicas estatísticas ou outras técnicas quantitativas.
5. Em Otimização: os processos são melhorados continuamente por meio de
melhorias tecnológicas inovadoras e incrementais.
5.1 COMPONENTES DO MODELO
O modelo CMMI é composto pelas áreas de processo e suas metas, práticas e sub-
práticas específicas e genéricas, além de produtos de trabalhos típicos e notas de metas e
práticas.
As metas específicas e genéricas são componentes obrigatórios. Elas descrevem o que
a organização precisa alcançar para satisfazer uma área de processo. As metas específicas são
relacionadas apenas a uma área de processo e as metas genéricas estão relacionadas a todas as
áreas de processo.
As práticas específicas e genéricas são os componentes esperados. Elas descrevem o
que uma organização pode implementar para satisfazer uma meta específica ou genérica. Para
que uma avaliação ateste que uma organização alcançou uma meta, as práticas associadas a
essa meta (ou alternativas aceitáveis) devem ser realizadas.
As sub-práticas, os produtos de trabalho típicos e as notas de metas e práticas são
componentes informativos, que passam à organização uma diretriz inicial da abordagem que
deve ser utilizada para atender às metas e práticas da área de processo.
5.1.1 Áreas de Processo
Uma área de processo é um agrupamento de práticas relacionadas em uma área que,
quando executadas coletivamente, satisfazem um conjunto de objetivos considerados
importantes para fazer melhorias nessa área. As 22 áreas de processo do CMMI são:
20
Análise Causal e Resolução (CAR)
Gerência de Configuração (CM)
Análise de Decisão e Resolução (DAR)
Gerência Integrada de Projetos +IPPD (IPM+IPPD)6
Medição e Análise (MA)
Inovação Organizacional e Implantação (OID)
Definição do Processo Organizacional +IPPD (OPD+IPPD)6
Foco no Processo Organizacional (OPF)
Desempenho do Processo Organizacional (OPP)
Treinamento Organizacional (OT)
Integração do Produto (PI)
Monitoração e Controle do Projeto (PMC)
Planejamento do Projeto (PP)
Garantia da Qualidade do Processo e Produto (PPQA)
Gerência Quantitativa do Projeto (QPM)
Desenvolvimento de Requisitos (RD)
Gerência de Requisitos (REQM)
Gerência de Riscos (RSKM)
Gerência de Acordos com Fornecedores (SAM)
Solução Técnica (TS)
Validação (VAL)
Verificação (VER)
5.2 O MODELO IDEAL
O IDEAL é um modelo de ciclo de vida para melhoria do processo de software
baseado no CMM que fornece uma abordagem disciplinada de melhoria. Focado
principalmente na gerencia do programa e melhoria estabelecendo uma estratégia de longo
prazo para a melhoria de processos. O modelo consiste em cinco fazes, conforme a Figura 1.
21
Figura 1 – Representação do modelo IDEAL
Na fase inicial são definidos os objetivos de negocio pelos quais a organização esta
iniciando o ciclo de melhorias, além de levantar os recursos e a infra-estrutura necessária para
o programa de melhoria.
Na fase de diagnostico são levantados os estados atuais da organização e qual o estado
futuro que se pretende atingir
Na fase estabelecimento é desenvolvido um plano de trabalho, onde são considerados
os aspectos levantados na fase anterior, e são definidas as tarefas, prazos, produtos a serem
gerados e equipe.
Na fase ação são executadas as tarefas definidas nas três fases anteriores
Na fase aprendizado finaliza o ciclo de melhoria, é o momento em que são analisadas
possíveis lições aprendidas que podem ser revertidas em melhorias para o próximo ciclo de
melhorias a ser realizado.
22
5.3 REQUISITOS PARA AVALIAÇÃO DO CMMI (ARC)
O CMMI Framework contém um conjunto de modelos que podem ser utilizados para
avaliação do nível atual e para a melhoria dos processos das organizações desenvolvedoras de
software. A condução de uma avaliação é um elemento importante para o conhecimento do
processo, planejamento de sua melhoria, e consequentemente para a obtenção de melhores
produtos de software (KOHAN, 2003).
De modo a possibilitar a implementação consistente desses mecanismos de avaliação,
o CMMI Product Team publicou o ARC V1.1. Esta publicação define os requisitos
considerados essenciais para os métodos de avaliação de processo que têm como base de
melhoria os modelos do CMMI. Adicionalmente, um conjunto de classes de avaliação é
definido, baseado em aplicações típicas de métodos de avaliação. Tais requisitos são alocados
a cada uma das classes conforme apropriado, baseado nos atributos associados com cada
classe. Dessa forma, um método de avaliação em particular pode ser declarado como sendo
um método de avaliação ARC Classe A, B ou C.
A seguir é apresentado um exemplo de requisito, extraído de CMMI Product Team
(ARC, 2001). Como pode ser observado, a indicação das classes para as quais esse requisito é
aplicável encontra-se no início de cada um dos subitens do requisito.
“4.2.3 A documentação do método deve fornecer direções para a identificação do
escopo do(s) modelo(s) CMMI a ser(em) utilizado(s) para a avaliação: a. (ABC) áreas de
processo a serem investigadas (representações contínua ou por estágios); b. (ABC) níveis de
capacidade a serem investigados para cada área de processo (representação contínua)”
Na Tabela 1 são apresentadas as diferenças de características de cada classe.
23
TABELA 1 - Características das classes de métodos de avaliação CMMI
Características Classe A Classe B Classe C
Quantidade relativa
de evidencias de
objetivos coletados
Alta Média Baixa
Geração de graduação Sim Não Não
Quantidade relativa
de recursos
necessários
Alta Média Baixa
Dimensão relativa da
equipe Grande Média Pequena
Requisitos para
liderar a avaliação
Requer um líder
de avaliação
Requer um líder
de avaliação ou
pessoa treinada e
experiente
Requer uma
pessoa treinada e
experiente
24
6 NÍVEIS DE IMPLEMENTAÇÃO
Cada nível de maturidade possui uma característica distinta, como observado a seguir:
Nível 0 (Incompleto) – Corresponde a ausência de qualquer processo de
desenvolvimento. Não se pode fazer qualquer asserção sobre desenvolvimentos futuros.
Nível 1 (Estruturado) – Possui um processo mínimo de desenvolvimento, capaz de
orientar as macro-tarefas o nível operacional.
Nível 2 (Gerenciado) – Tem capacidade de gerenciar um ciclo de desenvolvimento,
isto é, um projeto. Costuma-se caracterizar o nível 2 pela capacidade de gerir projetos, A
maioria das empresas brasileiras estão buscando certificação nesse nível.
Nível 3 (Definido) – São organizações orientadas a processos. Além dos fluxos de
atividades, gerenciam os aspectos organizacionais, técnicos e de integração de equipes e
fornecedores em função da definição do processo.
Nível 4 (Gestão Quantitativa) – Gerem o processo com métricas quantitativas através
do tempo. Conseguem avaliar o desenvolvimento dos vários ciclos de desenvolvimento e
comparar seus indicadores, obtendo previsibilidade.
Nível 5 (Otimização) – Controlam e avaliam o processo quantitativamente, podendo
intervir em sua especificação para otimiza-lo continuamente. É o mais alto nível de
maturidade definido pelo CMMI.
FIGURA 2 - Níveis de implementação do CMMI
25
6.1 Nível de Capacidade 0: Incompleto
É um processo não realizado ou parcialmente realizado. Uma ou mais metas
específicas não são satisfeitas. Não há metas genéricas neste nível, pois não há razão para
institucionalizar um processo parcialmente realizado.
6.2 Nível de Capacidade 1: Estruturado
É um processo completamente realizado. Todas as metas específicas da área do
processo são satisfeitas. A organização consegue entregar todos os produtos e serviços
esperados, mas as atividades realizadas muitas vezes não são planejadas nem documentadas.
O rigor para a execução dessas tarefas depende de ações individuais e os resultados
obtidos podem variar bastante de situação para situação. Embora represente uma evolução
significativa em relação ao nível 0, não é um processo institucionalizado, o que o torna
dependente das pessoas que o realizam.
6.3 Nível de Capacidade 2: Gerenciado
É um processo que é completamente realizado e sua realização é gerenciada. A
infraestrutura básica para sua realização está disponível na própria empresa. É planejado e
executado de acordo com uma política estabelecida pela organização. O planejamento e a
execução do processo devem estar alinhados com os objetivos de custo, prazo e qualidade
estabelecidos para o processo. Stakeholders relevantes para o processo são identificados e
envolvidos no processo através de acordos que descrevem a missão a ser realizada. As
pessoas são habilitadas para a execução das tarefas e o fazem utilizando os recursos
apropriados para isso.
O processo é monitorado, controlado e medido, incluindo as saídas produzidas. O
status dos artefatos produzidos fica visível para a gerência em pontos definidos (marcos). O
processo é avaliado pela adesão à sua descrição. A disciplina com que o processo é executado
garante sua manutenção em períodos de estresse.
6.4 Nível de Capacidade 3: Definido
É um processo gerenciado, estabelecido e padronizado ao nível da organização, que
define um conjunto de processos padrão. Cada projeto define seus processos de acordo com
26
esse conjunto. Podem ser feitas adaptações para cada projeto, mas essas adaptações devem
seguir o guia de adaptação de processos também definido pela organização. Um processo
definido contribui com produtos de trabalho, medidas e outras informações de melhoria de
processo para os ativos do processo organizacional (SEI, 2004). O conjunto de processos
padrão da organização, que é a base de um processo definido, evolui ao longo do tempo. Os
processos padrão descrevem os elementos fundamentais do processo esperados em um
processo definido, além da relação entre esses elementos.
6.5 Nível de Capacidade 4: Gestão Quantitativa
Um processo quantitativamente gerenciado é um processo definido que é controlado
utilizando estatística e outros métodos quantitativos. A qualidade do produto, dos serviços e
os atributos de desempenho do processo são medidos e controlados em todo o projeto.
A gestão quantitativa é planejada a partir do estabelecimento de objetivos baseados na
capacidade do conjunto de processos padrão da organização, nos objetivos de negócio da
organização e nas necessidades do cliente, dos usuários finais, da organização e dos
implementadores do processo. As pessoas que realizam o processo são envolvidas
diretamente na gestão quantitativa do processo.
A gestão quantitativa de um processo é realizada sobre o conjunto de processos que
produz o produto. Os sub-processos que contribuem significativamente para o desempenho
médio do processo são estatisticamente gerenciados: medidas detalhadas de seu desempenho
são coletadas e analisada através de técnicas estatísticas. Variações de desempenho do
processo são identificadas, juntamente com suas causas. Quando apropriado, ações corretivas
são tomadas para evitar a recorrência desses problemas. As medidas de qualidade e
desempenho do processo são armazenadas em um repositório de medidas da organização para
servir de base para decisões futuras.
6.6 Nível de Capacidade 5: Otimização
Um processo otimizado é um processo gerenciado quantitativamente que é adaptado
atender aos objetivos do negócio relevantes, atuais ou planejados, da organização.
O foco de um processo otimizado é na contínua melhoria do desempenho do processo
através de melhorias tecnológicas inovadoras e incrementais ao processo. Processos que
27
apresentam variações de desempenho ou são causa de defeitos ou outros problemas são
identificados pela compreensão quantitativa do processo e oportunidades de melhoria são
identificadas, avaliadas e implantadas quando apropriado.
As melhorias de processo selecionadas são sistematicamente gerenciadas e
implantadas na organização. Os efeitos das melhorias implantadas são medidos e avaliados
em relação aos objetivos quantitativos de melhoria do processo. Num processo otimizado, as
causas comuns de variações do desempenho do processo são atacadas através de mudanças no
processo de forma a reduzir essas variações. Essas alterações no processo são realizadas como
meio para alcançar os objetivos de melhoria de processo estabelecidos para a organização.
Esta é a principal diferença entre um processo otimizado e um processo
quantitativamente gerenciado. Um processo quantitativamente gerenciado identifica causas
específicas de variações de desempenho do processo e coleta medidas detalhadas do processo
para prover previsibilidade quantitativa de seus resultados. Embora o processo possa produzir
resultados previsíveis, esses resultados podem ser insuficientes para a organização alcançar
seus objetivos (SEI, 2004).
28
7 O MÉTODO SCAMPI
Elaborado pelo SEI, o método de avaliação SCAMPI fornece graduação de maturidade
de processo em relação aos modelos CMMI, tendo dois objetivos principais:
Fornecer um método de avaliação integrado e único, capaz de ser utilizado nos
contextos de melhoria interna de processo, seleção de fornecedor e
acompanhamento de processo.
Fornecer um método de avaliação eficiente, possível de ser implementado
dentro de restrições razoáveis de desempenho.
Como um método Classe A de avaliação, ele satisfaz todos os requisitos do ARC V1.1 e
possui as seguintes características principais:
Precisão: a graduação reflete a capacitação e/ ou maturidade da organização e
pode ser utilizada para comparação entre organizações.
Repetibilidade: a graduação e constatações da avaliação são consistentes com
outras avaliações executadas sob as mesmas condições (mesmos escopos).
Eficácia de custos e recursos: o método é eficiente em termos de homens/hora
gastos no planejamento, preparação e execução da avaliação. Traz o retorno
(benefício) previsto pela organização.
Semântica de resultados: a graduação reflete quanto o resultado da avaliação é
útil ao patrocinador para auxílio na tomada de decisões em relação à melhoria
de processo interna, eleição de fornecedor e acompanhamento de processo.
Resumidamente, sua abordagem consiste em agrupar evidências que são coletadas
pelo uso de instrumentos, apresentações, documentos e entrevistas (AHEM, 2005). Após isso,
os dados recolhidos por meio desses elementos são transformados em informações por meio
de um “mecanismo de processamento de informações”, que possui o funcionamento descrito a
seguir:
Inicialmente, a equipe de avaliação3 transforma em anotações o que observa, escuta e
lê dentro da unidade organizacional;
Essas anotações, por sua vez, são transformadas em declarações de falhas ou acertos
nas práticas de implementação do CMMI;
Como passo seguinte, tais declarações são transformadas em descobertas preliminares;
Por fim, as descobertas preliminares são validadas em descobertas definitivas pela
unidade organizacional.
29
Essa série de transformações é aplicada para que se tenha conhecimento do estado real
dos processos da unidade organizacional em comparação ao modelo CMMI e,
consequentemente, à graduação da organização.
7.1 Fases do método SCAMPI
O método SCAMPI é formado por três fases que agregam 11 processos essenciais,
como pode ser observado na tabela 2.
TABELA 2 - Fases do Método SCAMPI
Fase Processo
1. Planejamento e preparação da
avaliação
1.1. Análise de requisitos
1.2. Desenvolvimento do plano de avaliação
1.3. Seleção e preparação da equipe.
1.4. Obtenção e análise de evidência de
objetivo inicial.
1.5. Preparação para a coleta de evidência de
objetivo.
2. Condução da avaliação
2.1. Exame de evidência de objetivo.
2.2. Verificação e validação de evidência de
objetivo.
2.3. Documentação de evidência de objetivo.
Geração de resultados de avaliação.
3. Relato dos resultados
3.1. Entrega de resultados de avaliação.
3.2. Arquivamento das informações de
avaliação.
A descrição de cada uma das fases e seus processos é dada a seguir:
30
7.1.1 Planejamento e preparação da avaliação
A fase de levantamento de requisitos é considerada como a mais crucial do método,
pois as duas outras fases dependem dela. Todos os objetivos de avaliação que o patrocinador
deseja são definidos, e para evitar-se ou minimizar-se ao máximo possíveis falhas, um alto
grau de interação entre a equipe de avaliação e a unidade organizacional torna-se necessária.
Nessa fase, o líder da equipe de avaliação, obrigatoriamente certificado pelo SEI, e o
patrocinador do projeto negociam e definem o tempo de duração da avaliação, bem como qual
é o escopo organizacional (projetos a serem avaliados) e o escopo do CMMI (áreas de
processo). Após isso, todos os custos são calculados baseados nessas definições.
Como passo seguinte, as pessoas ligadas à unidade organizacional iniciam o
levantamento de evidências de objetivos, que são dados, registros ou relatos de natureza
qualitativa ou quantitativa referentes à implementação de um elemento de processo a ser
avaliado.
A validação dessas evidências de objetivos é realizada pela equipe de avaliação para
determinarem-se os pontos fortes e fracos em relação ao modelo CMMI. Logo que concluída,
os dados são submetidos ao “mecanismo de processamento de informações”.
A seguir são mostrados os objetivos de cada processo fundamental integrante dessa
fase.
Análise de requisitos: o líder da equipe de avaliação coleta informações e busca o
entendimento das necessidades da organização. Além disso, ele ajuda o patrocinador a
relacionar os objetivos da avaliação com os objetivos de negócio.
Desenvolvimento do plano de avaliação: documentação de todos os aspectos da
avaliação, incluindo requisitos, estimativas, acordos, riscos, entre outros. O
patrocinador deve aprovar o planejamento apresentado.
Seleção e preparação da equipe: seleção de pessoas devidamente treinadas e
preparadas para a execução da avaliação.
Obtenção e análise de evidência de objetivo inicial: coleta de informações que
permitem a verificação das práticas de implementação dos processos CMMI na
organização. Identificação de falhas ou riscos potenciais para refinamento do plano de
avaliação.
31
Preparação para coleta de evidência de objetivo: especificação e documentação de
quais são as estratégias de coleta de dados, incluindo as fontes de dados, ferramentas e
técnicas a serem utilizadas e contingências de gerenciamento de risco de dados
insuficientes.
7.1.2 Condução da avaliação
O principal objetivo dessa fase é analisar os dados anteriores e coletar novos dados, de
acordo com o planejamento, para que a equipe de avaliação verifique e julgue o quanto a
organização avaliada implementa os processos do modelo CMMI.
O conceito de “cobertura” é utilizado nessa fase. Tal conceito denota a ação de coletar
dados suficientes sobre cada elemento de modelo do CMMI utilizado no escopo de avaliação
que é requisitado como exemplo representativo de processo em execução na organização.
A partir do momento que fica definido que existe cobertura suficiente, é possível que a
graduação da organização seja obtida. Os objetivos de cada processo fundamental dessa fase
são brevemente descritos a seguir:
Exame de evidência de objetivo: coleta de informações, de acordo com a evidência de
objetivo inicial, sobre as práticas de implementação do modelo CMMI. Além disso,
outra finalidade é a reavaliação do planejamento de coleta de dados, quando
necessário.
Verificação e validação de evidência de objetivo: validação das descobertas iniciais e
verificação das práticas de implementação da organização. Essa verificação é feita
para cada implementação de cada prática, de modo que a comparação com as práticas
estabelecidas pelo modelo CMMI possa ser realizada (KOHAN, 2003). As falhas
descobertas nesse processo são validadas pelos membros da organização e os acertos
são destacados para serem incluídos no resultado da avaliação.
Documentação de evidência de objetivo: criação de documentos que armazenam as
informações obtidas anteriormente, transformando os dados em registros que apontam
as práticas de implementação da organização (pontos fortes e fracos).
Geração de resultados de avaliação: indicação do grau de satisfação que um
determinado objetivo alcançou em relação ao modelo CMMI. A graduação da
32
capacidade e/ou maturidade da organizacional é guiada pelos graus de satisfação dos
objetivos.
7.1.3 Relato dos resultados
De acordo com o contrato firmado na primeira fase, os registros gerados são
considerados como informações confidenciais pertencentes à organização avaliada. Sendo
assim, os resultados da avaliação (graduação e descobertas) realizada são entregues ao
patrocinador e à organização. Além disso, esses resultados também são submetidos ao
Organizador CMMI, que os adiciona a um banco de dados confidencial (CARR, 2004). Esses
dados são utilizados para a criação de um perfil da organização, que é incluído ao conjunto de
outros perfis de níveis de capacidade e/ou maturidade de organizações avaliadas
anteriormente.
A seguir são descritos os objetivos dos processos essenciais pertencentes a essa fase:
Entrega dos resultados de avaliação: representando os acertos e falhas dos processos
em uso na organização, os resultados podem ser utilizados para a tomada de decisão.
Além disso, esses refletem com precisão o nível de capacidade e/ou maturidade da
organização avaliada.
Arquivamento das informações da avaliação: armazenamento dos registros da
avaliação para uso futuro.
7.2 RESULTADOS DA APLICAÇÃO DOS MODELOS CMMI E
SCAMPI
Trabalhos diretamente ligados com SCAMPI estão sempre relacionados com CMMI.
Dessa forma, é natural incluir alguns resultados da implementação do CMMI quando se
escreve sobre o SCAMPI. Tem-se a seguir alguns exemplos de companhias que vêm
aplicando o modelo CMMI juntamente com avaliações por meio do SCAMPI. A maioria
dessas avaliações foi feita entre 2002 e 2004, e podem ser encontradas em SEI (SEI, 2004).
Em 2002, a Accenture, que atua em consultorias e serviços de tecnologia, foi avaliada
com o SCAMPI, obtendo nível 3 no CMMI em algumas partes da organização. Após isso, em
33
Julho de 2004, duas de suas organizações integrantes, a US Government Group e a National
Security Services, também foram avaliadas e conseguiram nível 4 no modelo CMMI (SOH,
2004), utilizando o mesmo método de avaliação. Uma avaliação por meio do SCAMPI com
resultado dessa expressão dá crédito aos processos internos da Accenture, e é um fator
diferencial em relação à aquisição de novos clientes e à permanência dos clientes atuais. O
custo da primeira avaliação foi de 232 horas de planejamento e 400 horas de atuação
(GOLDENSON, 2004). Os efeitos da melhoria de nível no CMMI foram significantes, e a
Accenture informou um possível retorno de investimento de até 5:1 nas horas gastas em
melhoria da qualidade de seus processos (DENNIS, 2003).
A Boeing Ltd. Australia decidiu, em 2001, pela continuidade da aplicação do CMMI
Framework, que inclui o SCAMPI, e do uso da ISO/IEC 15504 para avaliar a maturidade dos
processos de fornecimento. Em um período de 18 meses o custo médio de reparação de erros
caiu em 33%, o release-time (tempo para lançamento de uma nova versão) para entrega foi
reduzido pela metade, e houve uma redução de 60% no trabalho de auditorias pré-teste e pós-
teste. Além disso, os desenvolvedores também puderam ficar mais focados em melhorar os
processos internos (GOLDENSON, 2004).
A Thales Traing & Simulation (TT&S) conseguiu obter nível 2 no CMMI em umas das
primeiras avaliações com SCAMPI em 2001. Ao passo que o nível de maturidade dos
processos internos cresceu, a variação de custo e tempo diminuiu.
A Lockheed & Martin Management and Data System passou de CMMI-SW nível 2 para
nível 3 em 1996, e para CMMI nível 5 em 2002, usando uma avaliação de CAM (Continuous
Appraisal Method) (CARR, 2004) nas duas primeiras, e SCAMPI na última. Como resultados
mais visíveis de melhoria na qualidade, teve um crescimento de 55% nos prêmios ganhos pela
empresa. A produtividade do software cresceu em 30% enquanto o custo do desenvolvimento
caiu em 20%, e ao mesmo tempo as falhas no software desenvolvido caíram em 15%.
34
8 VANTAGENS E DESVANTAGENS
O modelo de qualidade CMMI é reconhecido internacionalmente e é referencia no
mercado de software. Empresas de grande porte, podemos citar a Microsoft, já adotam o
modelo como estratégia para exportação da mão-de-obra brasileira, buscando obter um
diferencial competitivo.
Além do diferencial, existem algumas outras vantagens que podem ser citadas como
resultado da implantação do CMMI. São elas:
Aderência dos processos: Atividades da organização serão ligadas diretamente
a seus objetivos estratégicos do negocio.
Custo: Redução em custos de produtos e processos.
Prazo: Melhora estimativa de prazos, com redução em tempo necessário para
realizar tarefas.
Produtividade Principal objetivo das organizações, realizar entregas com baixo
tempo e custo torna-se possível com a melhoria e padronização dos processos.
Qualidade: Redução dos defeitos em processos garante que haja maior
qualidade no produto final, garantindo sua confiabilidade.
Satisfação do cliente: Visibilidade das atividades permite garantir que o
produto ou serviço esteja de acordo com as expectativas dos clientes.
A principal desvantagem que pode ser destacada é a vasta documentação necessária
para viabilização do modelo, que exige um alto conhecimento técnico para sua correta
implantação. Frequentemente necessário que empresas invistam fortemente na contratação de
consultores e no treinamento de seus funcionários, tornando o CMMI quase impraticável por
organizações pequenas. (KULPA; JOHNSON, 2008).
Geralmente o custo fica entre R$ 200 mil e R$ 1 milhão dependendo da complexidade
do processo, sem contar o tempo que para chegar aos níveis de maturidade mais elevados,
leva-se em média 4 a 8 anos.
35
9 CONCLUSÃO
A exigência de melhoria contínua dos projetos faz com que o gerenciamento da
maturidade dos projetos de uma empresa seja efetivamente implantado. Entretanto, a
experiência diz que tentar atropelar e forçar os limites da organização pode piorar as
coisas. A estratégia é adotar uma política passo a passo, descobrindo inicialmente o nível
de maturidade da empresa, criando definições claras para os envolvidos no projeto e
realizando um monitoramento do desempenho geral dos projetos, de modo a ter uma visão
global de como se estava há um ano e o que se tem agora.
O mais importante, ao se considerar a avaliação de maturidade da empresa, é
adaptar as metodologias existentes às características da organização, tanto no que se refere
a tamanho quanto à interoperabilidade. Engessar uma empresa a um dado modelo é quase
tão catastrófico quanto não controlar o nível de maturidade.
O SCAMPI é um método padrão que possibilita o diagnóstico do estado atual de
qualidade de processo de uma organização, baseado nos modelos de qualidade definidos
no CMMI. Esses modelos de qualidade são aplicáveis em organizações de qualquer porte,
e o SCAMPI pode ser utilizado para avaliar o nível de adequação a esses modelos,
direcionando essas organizações para a melhoria progressiva de seus processos.
Pode ser observado que as empresas que adotaram o CMMI como modelo de
qualidade, e utilizaram os resultados de avaliações obtidas com o método SCAMPI,
obtiveram melhorias expressivas em seus processos de software. Dessa forma, uma
crescente utilização do SCAMPI pelas empresas que adotaram o CMMI pode ser uma
tendência.
O método SCAMPI é utilizado para avaliação do nível de capacidade, no caso de
uma área de processos, ou do nível de maturidade do processo de software, no caso de
uma unidade organizacional. Entretanto, a qualidade dos produtos de software resultante
desses processos não é avaliada, tornando-se necessária à utilização de outros métodos
específicos. Tal fato implica em maiores custos e maior demanda de tempo, pois seria
necessária, a princípio, uma nova equipe de avaliação, que teria que receber os devidos
treinamentos.
Seria interessante a proposta de um método único, que ao final de sua aplicação,
resultasse na avaliação da qualidade tanto do processo quanto dos produtos resultantes
desse processo.
36
10 REFERÊNCIAS
AHEM, D. M. et al. CMMI® SCAMPI distilled appraisals for process improvement. New
Jersey, EUA: Addison Wesley Professional, 2005.
ALMEIDA, J. A., et al. Visão geral do método de avaliação padrão CMMI para melhoria de
processos, SCAMPI, v. 1.1. Brasília: Universidade Católica de Brasília.
ARC, 2001; CMMI Product Team Appraisal Requirements for CMMI, Version 1.1 (ARC,
V1.1). Technical Report CMU/SEI-2001-TR-034, Software Engineering Institute, Carnegie
Mellon University, Pittsburgh/PA - USA, 2001.
CARR, M. Lockheed Martin’s Capability Assessment and CMMI. Disponível em
http://www.sei.cmu.edu/reports/03sr009.pdf - acessado em 01/10/2012
CHRISSIS, M. B.; KONRAD, M.; SHRUM, S. CMMI® guidelines for process integration
and product improvement. [S.I.]: Addison Wesley, 2003.
DENNIS R. Goldenson, D. L. G. Demonstrating the impact and benefits of CMMI: An update
and preliminary results. Special Report CMU/SEI-2003-SR-009, Software Engineering
Institute, Carnegie Mellon University, Pittsburgh/PA - USA, 2003.
GOLDENSON, D. R.; Robert W. Ferguson, D. L. G. Why make the switch? Evidence of the
benefits of CMMI. In: Proc. of the Software Engineering Process Group Conference
(SEPG2004), Orlando/FL - USA, 2004.
HELDMAN, K. Gerência de Projetos: guia para o exame oficial PMI. 5. ed. Rio de Janeiro:
Elsevier, 2009.
KOHAN, S. Quicklocus: Proposta de um método de avaliação de processo de
desenvolvimento de software em pequenas organizações. Dissertação de Mestrado, Instituto
de Pesquisas Tecnológicas do Estado de São Paulo - IPT, São Paulo/SP - Brasil, 2003.
KULPA, M. K.; JOHNSON, H. A. Interpreting the CMMI: a process improvement approach.
2nd ed. Flórida, EUA: Auerbach Publications, 2008.
PESSOA, M. S. P. Introdução ao CMMI, Modelo Integrado de Maturidade e Capacidade de
Processos: o novo modelo que substitui o SW-CMM. Lavras: UFLA/FAEPE, 2004.
ROCHA A. R. C.; MALDONADO, J. C.; WEBER, K. C. Qualidade de Software. Prentice
Hall, 2001
SEI List of published SCAMPI appraisals CMMI e SCAMPI: uma visão geral dos modelos de
qualidade e de um método formal para sua avaliação. Disponível em
http://seir.sei.cmu.edu/pars/pars_list_iframe.asp - acessado em 19/09/2012.
SOH, 2004; Soh, P. Accenture’s U.S. Government Group achieves level 4 CMMI rating from
Software Engineering Institute. Disponível em http://www.accenture.com/ - acessado em
25/09/2012.