CAPABILITY MATURITY MODEL CMM CAPACITAO EM DESENVOLVIMENTO DE
CAPABILITY MATURITY MODEL (CMM) CAPACITAÇÃO EM DESENVOLVIMENTO DE SOFTWARE
Capacitação em desenvolvimento de software O problema da qualidade de software Insatisfação dos usuários Atrasos de entrega Correções dispendiosas A qualidade dos produtos depende da qualidade dos processos
Capacitação em desenvolvimento de software O processo de software Conjunto de atividades, métodos, práticas e transformações, destinados ao desenvolvimento e manutenção do software Processo definido Documentado, detalha como o SW é feito
Capacitação em desenvolvimento de software A maturidade do processo de SW Indica até que ponto o processo é: definido gerido medido controlado eficaz
O CMM Capability Maturity Model Um modelo de capacitação em qualidade de software Proposto pelo Software Engineering Institute (Carnegie-Mellon University) Encomendado pelo governo americano Futuro requisito para contratos com o governo americano Documentação Ftp: ftp. sei. cmu. edu WWW: www. sei. cmu. edu
O CMM: fundamentos Baseado nos conceitos de W. E. Deming A qualidade é definida pelo cliente Reação em cadeia qualidade , custos ¯, produtividade , preços ¯, mercado , emprego , retorno Controle estatístico do processo Coleta de dados padronizada Gerido por um conselho Focaliza os processos
O CMM: aplicações AVALIAÇÕES Orientam contratantes a identificar fornecedores de SW qualificados AFERIÇÕES (assessments) Orientam a melhoria dos próprios processos de SW
O CMM: estrutura NÍVEIS DE MATURIDADE Indicam a capacidade dos processos ÁREAS-CHAVE DE PROCESSO Realizam objetivos PRÁTICAS-CHAVE Descrevem atividades
O CMM: identificação dos níveis de maturidade Representar níveis de maturidade Prover degraus intermediários de evolução Sugerir medidas de progresso e objetivos intermediários Definir prioridades imediatas de melhoria
O CMM: os níveis de maturidade 1. INICIAL: imprevisível, incontrolável 2. REPETÍVEL: consegue repetir tarefas 3. DEFINIDO: processos bem entendidos 4. GERIDO: processo medidos e controlados 5. OTIMIZANTE: melhoria contínua dos processos
O CMM: o nível 1 Processo ad hoc, caótico Inexistência de procedimentos formais Ferramentas não integradas com o processo Controle de mudanças frouxo Gerenciamento problemático Instalação e manutenção deficientes Em crise, os métodos são abandonados
O CMM: passagem do nível 1 ao 2 Gestão básica de projetos Permite controle efetivo dos compromissos Supervisão gerencial Revê, aprova compromissos e comformidade Controle de qualidade Grupo independente Controle das mudanças Em todo o ciclo de vida
O CMM: o nível 2 Áreas-chave Gerência de requisitos Planejamento de projeto de SW Supervisão de projeto de SW Controle de qualidade de SW Gerência de configurações Gerência de subcontratação
O CMM: o nível 2 (cont. ) Organização Sabe estimar e controlar projetos semelhantes a projetos anteriores mas é instável diante de mudanças de métodos, ferramentas, tipos de produtos ou estrutura organizacional
O CMM: passagem do nível 2 ao 3 Grupo de processos de engenharia de SW Ciclo de vida padrão Métodos de engenharia de SW Revisões técnicas Metodologias de análise e desenho Metodologias de teste
O CMM: o nível 3 Áreas-chave Engenharia de produto Gestão integrada de SW Definição de processo padrão Focalização no processo padrão Revisões técnicas Coordenação entre grupos Programa de treinamento
O CMM: o nível 3 (cont. ) Organização Mantém-se dentro do processo, mesmo durante crises, mas o conhecimento do processo ainda é qualitativo, não sabendo o que medir
O CMM: passagem do nível 3 ao 4 Medidas do processo Base de dados do processo Aferição da qualidade dos produtos
O CMM: o nível 4 Áreas -chave de processo Gerenciamento quantitativo da qualidade Planejar metas de número de defeitos Gerenciamento quantitativo do processo Manter base de dados da qualidade
O CMM: o nível 4 (cont. ) Organização Define com precisão e antecipação os dados que serão coletados, gerindo a base de dados de processo Conduz da engenharia de processos à qualidade de processos e produtos
O CMM: passagem do nível 4 ao 5 Coleta automatizada de dados de processo Uso dos dados de processo para análise e modificação destes Dados nunca são usados para comparar projetos ou indivíduos
O CMM: o nível 5 Áreas chave Gestão das mudanças de processos Gestão das mudanças de tecnologia Prevenção de defeitos
O CMM: o nível 5 (cont. ) Organização Prevenção de defeitos através de inspeções Avaliação estatística da qualidade de projeto Avaliação de custos e benefícios da melhoria dos processos Para permanecer no nível 5, requer-se melhoria contínua dos processos
O CMM: conclusão Complexo Visa a instituição de métodos disciplinados, apoiados em comunicação precisa e quantitativa, orientada ao entendimento do próprio desempenho pelos profissionais, realçando talentos pessoais
CMM Integrated (CMMI) Em uma tentativa de integrar a multiplicidade de modelos de capacidade com base na noção de maturidade de processos (incluindo seus próprios modelos), o SEI embarcou em um novo programa para desenvolver um modelo de capacidade integrado (CMMI). O framework do CMMI substitui os CMM’s de Engenharia de Sistemas e de Software e integra outros modelos de maturidade e de capacidade. Ele tem duas instâncias, por estágio e contínua, e aborda alguns dos pontos fracos relatados no CMM para Software.
CMM Integrated (CMMI) Sua versão por estágios é compatível com o CMM para Software e permite que o desenvolvimento de sistemas e processos de gerenciamento de uma organização seja avaliado e que a ele seja atribuído um nível de maturidade classificado como de 1 a 5. Sua versão contínua permite uma classificação de granularidade mais baixa de maturidade de processo. Esse modelo fornece uma maneira de classificar 22 áreas de processo em uma escala de 0 a 5.
CMM Integrated (CMMI) Principais componentes Um conjunto de áreas de processo relacionadas as atividades de processos de software. Um número de metas, que são associadas a cada área de processo, e define o estado desejável para cada área. Um conjunto de boas práticas, que são as descrições da forma de como alcançar uma meta.
Áreas de processo no CMMI Gerenciamento de processos Definição de processo organizacional (OPD, do inglês organizational process definition) Foco de processo organizacional (OPF, do inglês organizational process focus) Treinamento organizacional (OT, do inglês organizational training) Desempenho de processo organizacional (OPP, do inglês organizational process performance) Inovação e implantação organizacional (Ol. D, do inglês organizational innovation and deployment)
Áreas de processo no CMMI Gerenciamento de projetos Planejamento de projeto (PP, do inglês project planning) Monitoração e controle de projeto (PMC, do inglês project monitoring and control) Gerenciamento de acordo com fornecedores (SAM, do inglês supplier agreement management) Gerenciamento de projeto integrado (IPM, do inglês integrated project management) Gerenciamento de riscos (RSKM, do inglês risk management) Gerenciamento quantitativo de projeto (QPM, do inglês quantitative project management)
Áreas de processo no CMMI Engenharia Gerenciamento de requisitos (REQM, do inglês requirements management) Desenvolvimento de requisitos (RD, do inglês requirements development) Solução técnica (TS, do inglês technical solution) Integração de produto (PI, do inglês product integration) Verificação (VER, do inglês verification) Validação (VAL, do inglês validation)
Áreas de processo no CMMI Suporte Gerenciamento de configuração (CM, do inglês configuration management) Garantia de qualidade de processo e produto (PPQA, do inglês process and product quality management) Medição e análise (MA, do inglês measurement and analysis) Analise de decisão e resolução (DAR, do inglês decision analysis and resolution) Analise causal e resolução (CAR, do inglês causal analysis and resolution)
Metas do CMMI Ações corretivas são gerenciadas até a conclusão, quando o desempenho ou os resultados do projeto se desviam significativamente do plano. O desempenho real e o progresso do projeto são monitorados contra o plano de projeto. Os requisitos são analisados e validados, e uma definição da funcionalidade requerida é desenvolvida. Causas raiz de defeitos e outros problemas são sistematicamente determinados. O processo é institucionalizado como um processo definido.
Práticas Analisar sistematicamente os requisitos derivados para garantir que eles são necessários e suficientes. Validar os requisitos para garantir que o produto resultante executará conforme pretendido no ambiente do usuário, usando várias técnicas conforme apropriado. Selecionar os defeitos críticos e outros problemas para análise. Determinados. Realizar uma análise causal de defeitos selecionados e outros problemas e propor ações para solucioná-los. Estabelecer e manter uma política organizacional para planejar e executar o processo de desenvolvimento de requisitos. Atribuir responsabilidade e autoridade para executar o processo, desenvolver os produtos de trabalho e prestar os serviços do processo de desenvolvimento de requisitos.
Escala de maturidade 1. Incompleto Pelo menos uma das metas específicas associadas com a área de processo não está satisfeita. Não existem metas genéricas nesse nível, pais a institucionalização de um processo incompleto não faz sentido 2. Executado As metas associadas com a área de processo são satisfeitas e, para todos os processos, o escopo de trabalho a ser realizado é explicitamente definido e comunicado para os membros da equipe.
Escala de maturidade 3. Gerenciado Nesse nível, as metas associadas com a área de processo são cumpridas e as políticas organizacionais definem quando cada processo deve ser usado. Deve haver planos de projeto documentados, que definam as metas de projeto. Os procedimentos de gerenciamento de recursos e de controle de processos devem estar em ordem, em toda a instituição. 4. Definido Esse nível concentra-se na padronização e implantação de processos organizacionais. Cada projeto tem um processo gerenciado que é adaptado aos requisitos de projeto de um conjunto definido de processos organizacionais. Ativos e medições de processo devem ser coletados e usados para melhoria de processos.
Escala de maturidade 5. Gerenciado quantitativamente Nesse nível, existe uma responsabilidade organizacional de usar métodos estatísticos e outros métodos quantitativos para controlar os subprocessos; ou seja, as medições de processo e produto coletados devem ser usadas no gerenciamento de processos. 6. Otimizando Nesse nível mais alto, a organização deve usar as medições de processo e produto para dirigir a melhoria de processos. Devem ser analisadas as tendências e os processos adaptados as mudanças de necessidades de negócios
Representações do CMMI O CMMI tem duas representações CMMI por Estágios CMMI Contínuo CMMI por Estágios permite avaliação da maturidade do processo em 5 níveis CMMI Contínuo permite uma classificação mais fina Classifica cada área de processo
CMMI por Estágios Permite avaliar a capacitação do processo em cinco níveis Descreve os objetivos que devem ser alcançados em cada nível de maturidade O aprimoramento do processo é atingido pela implementação das áreas de processo associadas a cada nível As áreas permitem uma organização mover dos níveis mais baixos para os mais altos
Os cinco níveis de maturidade
Exemplos de Áreas do Nível 2 Gerenciamento de requisitos Gerenciar os requisitos e identificar inconsistências Planejamento de projeto Manter planos que definem as atividades Medição e análise Manter dados para apoiar as decisões gerenciais E outras 4 áreas
Vantagens e Desvantagens Vantagens do CMMI por Estágios Compatível com a versão anterior do CMM para Software Define um caminho claro de aprimoramento para as organizações Desvantagens do CMMI por Estágios Impede que uma organização se mova para níveis mais altos sem cumprir todas as áreas dos níveis anteriores
CMMI Contínuo Não classifica uma organização em níveis discretos Considera as 24 áreas de processo individualmente Motivação As organizações operam em diferentes níveis de maturidade para as várias áreas de processo
Níveis de maturidade das áreas A avaliação envolve o exame das áreas de processo em uma escala de seis níveis 1. Não realizado 2. Realizado 3. Gerenciado 4. Definido 5. Quantitativamente gerenciado 6. Em otimização
Exemplo de Avaliação (parcial)
Principal Vantagem A organização pode escolher as áreas de processo a serem aprimoradas
- Slides: 45