Qualidade em Tecnologia
da Informação
Universidade Salgado de
Oliveira
Diretória de Pós-Graduação e Pesquisa
Especialização em Tecnologia da Informação
Prof. MSc. Edigar Antônio Diniz Jr
Capability Maturity Modelsw
for Software
Carnegie Mellon University - Pittsburgh
www.sei.cmu.edu
Histórico do CMM
• Projeto teve início em Novembro de 1986
• SEI – Software Engineering Institute com a
assistência da Mitre Corporation foram os
responsáveis por este projeto.
• O intuito era desenvolver uma Estrutura de
Maturidade de Processos que iria ajudar
organizações a melhorar seu processo de
software.
• Esta estrutura deveria apoiar o Governo
Federal Americano (em especial o DoD), a
avaliar fornecedores de software.
4 - CMM
Histórico do CMM
• Em 1987, foi publicada a primeira
descrição do CMM [Humphrey87a] e o
Questionário de Maturidade [Humphrey87b].
• O Questionário de Maturidade foi criado
para identificar as áreas que uma
organização necessita melhorar.
• Depois de 4 anos, a Estrutura de
Maturidade de Processo (e o Questionário)
evoluíram para o modelo denominado CMM.
4 - CMM
Histórico do CMM
• Em 1987, foi publicada a primeira
descrição do CMM [Humphrey87a] e o
Questionário de Maturidade [Humphrey87b].
• O Questionário de Maturidade foi criado
para identificar as áreas que uma
organização necessita melhorar.
• Depois de 4 anos, a Estrutura de
Maturidade de Processo (e o Questionário)
evoluíram para o modelo denominado CMM.
4 - CMM
Estrutura de Maturidade de
Processo
Conceitos Fundamentais:
- Capacidade do Processo de Software:
descreve a gama de resultados que se espera
alcançar ao seguir um processo de software.
- Execução do Processo de Software:
representa os resultados atuais obtidos na
realização de um processo de software.
- Maturidade do Processo de Software:
descreve em que nível um processo específico é
definido, gerenciado, medido, controlado e efetivado.
Indica o potencial de evolução da capacidade do
processo de software.
4 - CMM
Estrutura de Maturidade de
Processo
Conceitos Fundamentais:
- Capacidade do Processo de Software:
descreve a gama de resultados que se espera
alcançar ao seguir um processo de software.
- Execução do Processo de Software:
representa os resultados atuais obtidos na
realização de um processo de software.
- Maturidade do Processo de Software:
descreve em que nível um processo específico é
definido, gerenciado, medido, controlado e efetivado.
Indica o potencial de evolução da capacidade do
processo de software.
4 - CMM
Modelo de Maturidade de
Capacidade
• Engenheiros conhecem profundamente os
problemas de sua organização com relação ao
processo de software.
• A grande dificuldade aparece no momento de
decidir quais problemas devem ser solucionados
primeiro, e como como esta melhora deve ocorrer.
• Assim, para se melhorar a qualidade de uma
organização, é necessário projetar um caminho de
evolução para a mesma.
4 - CMM
Modelo de Maturidade de
Capacidade
• Modelo de Maturidade de Capacidade: fornece
às organizações um conjunto de orientações para
que as mesmas possam controlar seu atual
processo de software e para que as mesmas
possam evoluir em direção a uma excelente
cultura de engenharia de software e
gerenciamento de software.
4 - CMM
Cinco Níveis de Maturidade do
Processo de Software - CMM
• CMM fornece uma estrutura com cinco níveis de
maturidade que permite a uma organização
executar pequenos e sucessivos passos
evolucionários.
• Estes níveis de maturidade definem um escala
ordinal para medir a maturidade do processo de
software de uma organização e para avaliar a
capacidade do processo de software da mesma.
4 - CMM
Cinco Níveis de Maturidade do
Processo de Software - CMM
• Um Nível de Maturidade é uma bem-definida
base evolucionária para se alcançar um processo
de software mais maduro.
• Cada nível é uma camada necessária para se
caminhar em direção a maturidade desejada pela
comunidade de desenvolvimento.
4 - CMM
Cinco Níveis de Maturidade do
Processo de Software - CMM
4 - CMM
CMM x SPICE
Nível 5 – Otimizado
Nível 4 – Previsível
Nível 3 – Estabelecido
Nível 2 – Gerenciado
Nível 1 – Executado
Nível 0 – Incompleto
4 - CMM
Cinco Níveis de Maturidade do
Processo de Software - CMM
A seguir temos uma caracterização dos cinco níveis
de capacidade do CMM:
• Inicial (Nível 1): O processo de software é
caracterizado como sendo ad hoc, e ocasionalmente
até caótico. Poucos processos são definidos e o
sucesso depende do esforço individual.
• Repetível (Nível 2): Processos básicos de
gerenciamento do projeto são estabelecidos para
mapear custos, agendamento e funcionalidade. A
disciplina necessária nos processos é aplicada de
forma repetível dentre os projetos similares.
4 - CMM
Cinco Níveis de Maturidade do
Processo de Software - CMM
• Definido (Nível 3): O processo de software tanto
para as atividades de engenharia quanto para as
atividades de gerência está documentado,
padronizado e integrado à um processo de
software padrão da organização.
• Gerenciado (Nível 4): Medidas detalhadas do
processo de software e da qualidade do produto
são coletadas. Tanto o processo quanto o produto
são quantitativamente compreendidos e controlados.
4 - CMM
Cinco Níveis de Maturidade do
Processo de Software - CMM
• Definido (Nível 5): Um processo de melhoria
contínua é ativado, tomando como base as
medidas do processo de software e fazendo uso de
idéias e tecnologias criativas e inovadoras.
4 - CMM
Comportamento dos Níveis de
Maturidade
As principais características das organizações em
cada um dos níveis do CMM são:
• Nível 1 (Inicial)
- Não possui um ambiente estável para
desenvolvimento
- Não existe um gerenciamento das práticas
/ atividades
- Durante um crise a organização abandona
os procedimentos planejados e parte para a
codificação e teste.
- Processo de software é imprevisível
devido as constantes mudanças nas atividades de
desenvolvimento.
4 - CMM
Comportamento dos Níveis de
Maturidade
• Nível 2 (Repetível)
- Políticas para gerenciar os projetos de
software e os procedimentos para implementar
estas políticas são estabelecidas.
- Planejamento e o gerenciamento de
novos projetos são baseados em experiências
com projetos passados similares.
- Compromissos reais (custo e prazo) podem
são assumidos e cumpridos.
- Sucessos passados são repetíveis.
- Planejamento e acompanhamento dos
projetos são estáveis.
4 - CMM
Comportamento dos Níveis de
Maturidade
• Nível 3 (Definido)
- Um Processo Padrão para desenvolver e
manter o software na organização é documentado,
incluindo tanto a engenharia de software quanto
o gerenciamento do processo.
- O processo é utilizado (e modificado quando
necessário) para ajudar os gerentes e engenheiros
técnicos a melhorar sua eficiência.
- Há uma equipe responsável por cada
atividade do processo de software.
- Um programa de treinamento para toda a
organização é implementado.
4 - CMM
Comportamento dos Níveis de
Maturidade
• Nível 4 (Gerenciado)
- A organização define quantitativamente
objetivos de qualidade tanto para o produto
quanto para o processo de software.
- Produtividade e qualidade são
mensurados, para todos os projetos da
organização, como parte de um programa de
mensuração da organizacional.
- Um banco de dados sobre o processo de
software da organização é utilizado para coletar e
analisar as informações disponíveis.
4 - CMM
Comportamento dos Níveis de
Maturidade
• Nível 5 (Otimizado)
- Toda a organização foca em um processo
contínuo de otimização (melhoramento) do
processo de software.
- A organização possui meios para identificar
pontos fracos e fortalecer o processo de software
pró-ativamente, isto com o objetivo de prevenir
defeitos.
- Dados sobre eficiência são utilizados para
avaliar a relação custo-benefício de novas
tecnologias e mudanças propostas.
- Inovações para a engenharia de software
são propostas e difundidas em toda a organização.
4 - CMM
Entendendo os Níveis de
Maturidade
• O CMM é um modelo descritivo no sentido que
descreve os atributos (chaves) essenciais que são
necessários para caracterizar uma organização em
um particular nível de maturidade.
• É um modelo normativo no sentido que detalha
as práticas convencionais e esperadas para uma
organização que trabalha sobre grandes projetos em
um contexto de contratos governamentais.
• O CMM não é prescritivo, ou seja, não diz para a
organização como melhorar, só que o que deve ser
melhorado.
4 - CMM
Entendendo os Níveis de
Maturidade
• É estimado que para uma organização passar de
um nível para outro são consumidos dois anos.
• Os Níveis 2 e 3 os focos principais são: definir,
documentar e gerenciar o processo de software.
• Nos níveis 4 e 5 o foco principal é melhorar, ou
seja, otimizar o processo de software (ver figura
seguinte).
4 - CMM
Entendendo os Níveis 4 e 5 de
Maturidade
Entendendo os Níveis de
Maturidade
• A figura a seguir exemplifica, de forma abstrata,
como ocorre o trabalho em cada um dos níveis de
maturidade do CMM.
4 - CMM
Entendendo os Níveis de
Maturidade
Otimização
Atividades
de Chaves
Controle /
Avaliação
Etapa do
Processo
Entendendo os Níveis de
Maturidade
• Nenhum Nível do CMM pode ser ignorado. Um
nível fornece a base para que o outro possa ser
aplicado.
• Contudo, é perfeitamente viável e necessário
que uma organização faça uso de processos
definidos nos níveis mais altos de maturidade.
• Esta necessidade vem do fato de processos
referentes à: engenharia de requisitos, análise,
projeto e testes só venham a aparecer nos níveis
mais elevados de maturidade, nem por isso, estes
processos deixam de existir em um organização
locada nos níveis mais inferiores do CMM.
4 - CMM
Estrutura Interna dos Níveis de
Maturidade
• Cada Nível de Maturidade é decomposto em partes
constituintes.
• Cada Nível de Maturidade é composto por várias
Áreas-Chave de Processo.
• Cada Área-Chave de Processo é organizada em
cinco seções chamadas de Características
Comuns.
• As Características Comuns especificam Práticas
Chaves que vão ao encontro dos objetivos gerais da
Área-Chave de Processo.
4 - CMM
Estrutura Interna dos Níveis de
Maturidade
Áreas-Chave de Processo
• Exceto para o Nível 1 de Maturidade, todos os
Níveis são divididos em Áreas-Chave de Processo
que indicam as áreas que uma organização irá se
concentrar para melhorar seu processo de
software.
• Áreas-Chave de Processo identifica os assuntos
(temas) que devem ser endereçados para se alcançar
o nível de maturidade.
• Cada Área-Chave de Processo identifica um
grupo (cluster) de atividades relacionadas que,
quando executadas corretamente, conduzem a
uma melhor capacidade do processo.
4 - CMM
Áreas-Chave de Processo
• Os caminhos (como fazer) para se alcançar os
objetivos de uma Área-Chave de Processo podem
ser diferentes para cada organização ou para cada
projeto.
• Todos os objetivos de uma Área-Chave de
Processo devem ser alcançados para que uma
organização satisfaça tal Área-Chave.
• A seguir são listadas todas as Áreas-Chave de
Processo:
4 - CMM
Áreas-Chave de Processo
4 - CMM
Áreas-Chave de Processo
4 - CMM
Áreas-Chave de Processo
4 - CMM
Áreas-Chave de Processo
4 - CMM
Áreas-Chave de Processo
• Para se alcançar um Nível de Maturidade, todas as
Áreas-Chave de Processo do mesmo devem ser
satisfeitas.
• Exercício: Compreender e explicar cada uma
das Áreas-Chave de Processo do CMM?
4 - CMM
Características Comuns
• Características Comuns são atributos que
indicam se a implementação e institucionalização
de uma Área-Chave de Processo é efetiva,
repetível e duradoura.
• Sempre existem 5 Características Comuns para
cada Nível de Maturidade.
4 - CMM
Características Comuns
As 5 Características Comuns são:
• Compromissos (Commitment to Perform):
Descreve ações que a organização deverá tomar
para garantir que o processo seja estabelecido e
duradouro. Tipicamente envolve estabelecer
políticas organizacionais e patrocinar um
gerenciamento.
4 - CMM
Características Comuns
• Habilidades (Ability to Perform): Descreve
pré-condições que devem existir para
implementar completamente o processo de
software. Tipicamente envolve recursos, estrutura
organizacional e treinamento.
4 - CMM
Características Comuns
• Atividades (Activities Performed): Descrevem
regras e procedimentos necessários para
implementar uma Área-Chave de Processo.
Tipicamente envolve estabelecer planos e
procedimentos para executar, acompanhar e
tomar medidas corretivas sobre o trabalho.
4 - CMM
Características Comuns
• Medir e Analisar (Measurament and Analysis):
Descreve a necessidade de medir o processo e
avaliar esta medida. Tipicamente inclui exemplos de
medidas que podem indicar o status de
progresso e efetividade de uma atividade.
4 - CMM
Características Comuns
• Verificando a Implementação (Verifying
Implementation): Descreve os passos para
garantir que as atividades são executadas em
conformidade com o processo que foi
estabelecido. Tipicamente envolvem revisões e
auditoria para garantir a qualidade e a gerência do
processo.
4 - CMM
Práticas Chaves
• Cada Área-Chave de Processo é descrita em
termos das Práticas Chave que contribuem para
satisfazer seus objetivos.
• As Práticas Chave descrevem a infra-estrutura
e as atividades que mais contribuem para a
efetiva implementação e institucionalização das
Áreas-Chave de Processo.
• Cada Prática Chave é constituída de uma
única sentença, normalmente seguida por um
descrição detalhada, na qual pode incluir exemplos e
elaborações.
4 - CMM
Práticas Chaves
• As Práticas Chave (Práticas de Baixo Nível)
declaram políticas fundamentais,
procedimentos e atividades para a Área-Chave.
• Cada Prática Chave é descrita através de seus
componentes, denominados de Sub-práticas
Chave.
• As Práticas Chave definem o que deve ser feito,
mas não endereçam como isso será alcançado.
4 - CMM
Práticas Chaves
Utilizando o CMM
• Existem dois métodos (desenvolvidos pela SEI)
para visualizar a maturidade da execução de um
Processo de Software de uma organização:
1) Medida do Processo de Software: é
utilizado para determinar o estado de um atual
Processo de Software e para determinar os
pontos de mais alta prioridade a serem
implementados para que a organização melhore
seu Processo de Software.
4 - CMM
Utilizando o CMM
• continuação ...
2) Avaliação da Capacidade de Software:
utilizado para identificar contratantes que são
qualificados para desenvolver um software ou
para monitorar o estado atual de um Processo de
Software Utilizado.
4 - CMM
Utilizando o CMM
• Os objetivo destes métodos são completamente
diferentes, apesar de suas aplicações não
possuírem diferenças tão sensíveis.
• O CMM estabelece uma estrutura comum de
referência para executar os dois métodos
supracitados.
• A figura a seguir apresenta os passos comuns a
serem executados em ambos os métodos:
4 - CMM
Aplica-se o
Questionário
de
Maturidade
Time visita o
local;
Entrevistas
são
realizadas
para
compreender
resultados
Utilizando o CMM
Registra
respostas;
identifica
áreas a
serem
exploradas
Documenta
pontos
fortes e
fracos do
processo
É
Estabelecido
um Perfil
para KPA
Utilizando o CMM
Utilizando o CMM
Maturity Questionary (MQ) – Questionário de
Maturidade
• É um conjunto de perguntas com respostas
objetivas, respostas estas que devem ser
acompanhadas por justificativas e comentários.
• Estas perguntas são locadas dentro de seções,
uma para cada KPA (todas as KPA’s de todos os
níveis são contempladas).
• Nem toda Prática Chave é contemplada
diretamente através de uma pergunta do
Questionário de Maturidade.
4 - CMM
Utilizando o CMM
Maturity Questionary (MQ) – Questionário de
Maturidade
4 - CMM
Utilizando o CMM
Maturity Questionary (MQ) – Questionário de
Maturidade
• Foi projetado para ser respondido em 1 hora.
Por isso, não contempla todas as Práticas Chaves
diretamente.
• Cada entrevistado responderá a somente um
sub-conjunto das questões, que se apliquem ao
seu contexto de trabalho.
4 - CMM
Somente um subconjunto das Práticas
Base são utilizadas na
Avaliação
SPICE
Categorias de Processo
Processos
Práticas Chaves
Instrumentos de Medida
Nível de
Maturidade
Características
Comuns
Sub-Indicadores de Processo
Práticas Genéricas
Indicadores de Processo
A Organização define
que Práticas Base são
adequadas a ela
CMM
Estrutura mais fixa e
rígida, não pode ser muito
flexionada de acordo com
os anseios da organização
Práticas Chaves são dependentes do
Nível de Maturidade
QM é um ótima ferramenta
para apoiar o processo de
avaliação.
Questionário
de Maturidade
Sub-Práticas Base
Informações
Complementares
Futuras Direções do CMM
• O que o CMM não cobre:
- Não determina como selecionar, motivar e
reter pessoas competentes.
- Não endereça aspectos específicos de certos
tipos de aplicações especialistas.
- Não advoga a favor de tecnologias
específicas.
• Evolução:
- O CMM atual será abandonado em três anos.
O CMMI (CMM Integrated) irá substitui-lo. O CMMI
segue o padrão e a estrutura incremental do SPICE,
ou seja o CMMI está em conformidade com a
arquitetura proposta pelo SPICE.
4 - CMM
Download

- GEOCITIES.ws