Upload
internet
View
103
Download
0
Embed Size (px)
Citation preview
Universidade Salgado de Universidade Salgado de OliveiraOliveira
Diretória de Pós-Graduação e PesquisaDiretória de Pós-Graduação e Pesquisa
Especialização em Tecnologia da InformaçãoEspecialização em Tecnologia da Informação
Prof. MSc. Edigar Antônio Diniz JrProf. MSc. Edigar Antônio Diniz Jr
Qualidade em Tecnologia Qualidade em Tecnologia da Informaçãoda Informação
Capability Maturity ModelCapability Maturity Modelswsw for Softwarefor Software
Carnegie Mellon University - Pittsburghwww.sei.cmu.edu
Histórico do CMM Histórico do CMM
4 - 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.
Histórico do CMM Histórico do CMM
4 - 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.
Histórico do CMM Histórico do CMM
4 - 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.
Estrutura de Maturidade de Estrutura de Maturidade de ProcessoProcesso
4 - CMM
Conceitos Fundamentais: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.
Estrutura de Maturidade de Estrutura de Maturidade de ProcessoProcesso
4 - CMM
Conceitos Fundamentais: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.
Modelo de Maturidade de Modelo de Maturidade de CapacidadeCapacidade
4 - CMM
• 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.
Modelo de Maturidade de Modelo de Maturidade de CapacidadeCapacidade
4 - CMM
• 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.
Cinco Níveis de Maturidade do Cinco Níveis de Maturidade do Processo de Software - CMMProcesso de Software - CMM
4 - 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.
Cinco Níveis de Maturidade do Cinco Níveis de Maturidade do Processo de Software - CMMProcesso de Software - CMM
4 - 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.
Cinco Níveis de Maturidade do Cinco Níveis de Maturidade do Processo de Software - CMMProcesso de Software - CMM
4 - CMM
CMM x SPICECMM x SPICE
4 - CMM
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
Cinco Níveis de Maturidade do Cinco Níveis de Maturidade do Processo de Software - CMMProcesso de Software - CMM
4 - 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.
Cinco Níveis de Maturidade do Cinco Níveis de Maturidade do Processo de Software - CMMProcesso de Software - CMM
4 - 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.
Cinco Níveis de Maturidade do Cinco Níveis de Maturidade do Processo de Software - CMMProcesso de Software - CMM
4 - 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.
Comportamento dos Níveis de Comportamento dos Níveis de Maturidade Maturidade
4 - CMM
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.
Comportamento dos Níveis de Comportamento dos Níveis de Maturidade Maturidade
4 - CMM
• 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.
Comportamento dos Níveis de Comportamento dos Níveis de Maturidade Maturidade
4 - CMM
• 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.
Comportamento dos Níveis de Comportamento dos Níveis de Maturidade Maturidade
4 - CMM
• 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.
Comportamento dos Níveis de Comportamento dos Níveis de Maturidade Maturidade
4 - CMM
• 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.
Entendendo os Níveis de Entendendo os Níveis de Maturidade Maturidade
4 - CMM
• 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.
Entendendo os Níveis de Entendendo os Níveis de Maturidade Maturidade
4 - CMM
• É 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).
Entendendo os Níveis 4 e 5 de Entendendo os Níveis 4 e 5 de Maturidade Maturidade
Entendendo os Níveis de Entendendo os Níveis de Maturidade Maturidade
4 - CMM
• A figura a seguir exemplifica, de forma abstrata, como ocorre o trabalho em cada um dos níveis de maturidade do CMM.
Entendendo os Níveis de Entendendo os Níveis de Maturidade Maturidade
Etapa doEtapa doProcessoProcesso
Controle / Controle / AvaliaçãoAvaliação
Atividades Atividades de Chavesde Chaves
OtimizaçãoOtimização
Entendendo os Níveis de Entendendo os Níveis de MaturidadeMaturidade
4 - CMM
• 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.
Estrutura Interna dos Níveis de Estrutura Interna dos Níveis de MaturidadeMaturidade
4 - CMM
• 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.
Estrutura Interna dos Níveis de Estrutura Interna dos Níveis de MaturidadeMaturidade
Áreas-Chave de ProcessoÁreas-Chave de Processo
4 - CMM
• 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.
Áreas-Chave de ProcessoÁreas-Chave de Processo
4 - CMM
• 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:
Áreas-Chave de ProcessoÁreas-Chave de Processo
4 - CMM
Áreas-Chave de ProcessoÁreas-Chave de Processo
4 - CMM
Áreas-Chave de ProcessoÁreas-Chave de Processo
4 - CMM
Áreas-Chave de ProcessoÁreas-Chave de Processo
4 - CMM
Áreas-Chave de ProcessoÁreas-Chave de Processo
4 - CMM
• 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 Exercício: Compreender e explicar cada uma das Áreas-Chave de Processo do CMM? das Áreas-Chave de Processo do CMM?
Características ComunsCaracterísticas Comuns
4 - CMM
• 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.
Características ComunsCaracterísticas Comuns
4 - CMM
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.
Características ComunsCaracterísticas Comuns
4 - CMM
• 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.
Características ComunsCaracterísticas Comuns
4 - CMM
• 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.
Características ComunsCaracterísticas Comuns
4 - CMM
• 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.
Características ComunsCaracterísticas Comuns
4 - CMM
• 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.
Práticas ChavesPráticas Chaves
4 - CMM
• 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.
Práticas ChavesPráticas Chaves
4 - CMM
• 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.
Práticas ChavesPráticas Chaves
Utilizando o CMMUtilizando o CMM
4 - 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.
Utilizando o CMMUtilizando o CMM
4 - 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.
Utilizando o CMMUtilizando o CMM
4 - 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:
Utilizando o CMMUtilizando o CMMRegistra Registra
respostas; respostas; identifica identifica áreas a áreas a serem serem
exploradasexploradas
Aplica-se o Aplica-se o Questionário Questionário
de de MaturidadeMaturidade
Time visita o Time visita o local; local;
Entrevistas Entrevistas são são
realizadas realizadas para para
compreender compreender resultados resultados
Documenta Documenta pontos pontos fortes e fortes e
fracos do fracos do processoprocesso
É É Estabelecido Estabelecido
um Perfil um Perfil para KPApara KPA
Utilizando o CMMUtilizando o CMM
Utilizando o CMMUtilizando o CMM
4 - CMM
Maturity Questionary (MQ) – Questionário de Maturity Questionary (MQ) – Questionário de MaturidadeMaturidade
• É 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.
Utilizando o CMMUtilizando o CMM
4 - CMM
Maturity Questionary (MQ) – Questionário de Maturity Questionary (MQ) – Questionário de MaturidadeMaturidade
Utilizando o CMMUtilizando o CMM
4 - CMM
Maturity Questionary (MQ) – Questionário de Maturity Questionary (MQ) – Questionário de MaturidadeMaturidade
• 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.
Características
Características
Com
unsC
omuns
SPICESPICE
Categorias de ProcessoCategorias de Processo
ProcessosProcessos
Práticas ChavesPráticas Chaves
Indicadores de ProcessoIndicadores de Processo
Sub-Indicadores de ProcessoSub-Indicadores de Processo
Instrumentos de MedidaInstrumentos de Medida
A Organização define que Práticas Base são
adequadas a ela
Somente um sub-conjunto das Práticas Base são utilizadas
na Avaliação
Nível de
Nível de
Maturidade
Maturidade
Práticas G
enéricasP
ráticas Genéricas
CMMCMM Estrutura mais fixa e rígida, não pode ser muito flexionada de acordo com os anseios da organização
Sub-Práticas Base
Informações Complementares
Práticas Chaves são dependentes do Nível de Maturidade
Questionário Questionário de Maturidadede Maturidade
QM é um ótima ferramenta para apoiar o processo de avaliação.
Futuras Direções do CMMFuturas Direções do CMM
4 - 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.