CMMI – Capability Maturity Model Integration Introdução e Experiência de Implantação Alexandre Vasconcelos [email protected] Introdução ao CMMI ©2006, Alexandre Vasconcelos 1/34 Motivação Proliferação de Modelos e Padrões em diversas áreas • Diferentes estruturas, formatos, termos, maneiras de medir maturidade SE CM EIA 731 Software CMM Systems Engr CMM Systems Security Engr CMM Software Acq CMM FAA iCMM People CMM IPD CMM Introdução ao CMMI • Causa confusão, especialmente quando mais de um modelo é utilizado • Difícil de integrar num único programa de melhoria ©2006, Alexandre Vasconcelos 2/34 CMMI - Histórico Agosto 2000 – Versão 1.0 Março 2002 – Versão 1.1 Agosto 2006 – Versão 1.2 Proposta de um modelo integrado que pode ser utilizado em várias disciplinas; Possui foco nas disciplinas de: Desenvolvimento integrado do produto e processo (usada junto com práticas de produção de um produto específico); Desenvolvimento de sistemas (desenvolvimento de sistemas como um todo, incluindo software ou não); Desenvolvimento de Software; Subcontratação (aquisição de produtos de fornecedores). Introdução ao CMMI ©2006, Alexandre Vasconcelos 3/34 Objetivos do CMMI Além da integração dos modelos e redução dos custos com melhorias de processo, os seguintes objetivos também fazem parte do projeto CMMI: Aumento do foco das atividades; Integração dos processos existentes; Eliminar inconsitências; Reduzir duplicações; Fornecer terminologia comum; Assegurar consistência com a norma ISO 15504; Flexibilidade e Extensão para outras disciplinas. Introdução ao CMMI ©2006, Alexandre Vasconcelos 4/34 Introdução Centenas de organizações do mundo inteiro estão migrando seus esforços de melhoria de processos para o modelo integrado CMMI… Até o final de 2002 cerca de 7000 pessoas realizaram o curso de Introdução ao CMMI ministrado pelo SEI e pelos seus parceiros autorizados; O Brasil foi autorizado a ministrar esse treinamento desde junho de 2003. Introdução ao CMMI ©2006, Alexandre Vasconcelos 5/34 Introdução É um modelo que descreve orientações para a definição e implantação de processos: “O que” X “Como”. O modelo não descreve processo algum, são orientações definidas através das práticas especificadas; B A D C Process Introdução ao CMMI ©2006, Alexandre Vasconcelos 6/34 Introdução Método de avaliação utilizado: SCAMPI SCAMPI (Standard CMMI Assessment Method for Process Improvement): Desenvolvido pelo Software Engineering Institute (SEI) Método que reune as melhores práticas do CBA-PI e SCE Métodos amplamente utilizados pelo SW-CMM e outros modelos de melhoria de processos Existem cerca de 180 avaliadores SCAMPI no mundo: Autorizados pelo SEI a realizar avaliações do CMMI. Introdução ao CMMI ©2006, Alexandre Vasconcelos 7/34 Representações Contínua Níveis de Capacidade Agrupamento das Áreas de Processo por Categoria Avaliação da capacidade das Areas de Processo Por Estágios Níveis de Maturidade Agrupamento de Áreas de Processo por Nível Avaliação da Organização como um todo Introdução ao CMMI ©2006, Alexandre Vasconcelos 8/34 Por que duas representações? Herança de Modelos Software CMM – Staged SECM – Continuous IPD CMM – Hybrid Proponentes de cada representação participaram do time de desenvolvimento do produto CMMI. Escolher uma única abordagem para representação tornou-se “muito difícil”. Ficou acordado que inicialmente seriam abordadas duas representações do modelo com conteúdos equivalentes. Introdução ao CMMI ©2006, Alexandre Vasconcelos 9/34 Comparando as Representações Staged Continuous Process Area Capability ML5 ML4 ML3 ML2 ML 1 PA PA PA . . .para um conjunto de áreas de processo estabelecidas pela . . .para uma única área de processo ou um conjunto de áreas de processo. organização. Introdução ao CMMI ©2006, Alexandre Vasconcelos 10/34 Representações - Vantagens Contínua Fornece maior flexibilidade focando em áreas de processo específicas de acordo com metas e objetivos de negócio Permite a comparação de áreas de processo entre diferentes organizações Estrutura familiar para aqueles que estão migrando da comunidade de engenharia de sistemas Foco bem definido nos riscos especificos de cada área de processo Estrutura compativel com o padrão ISO/IEC 15504 Introdução ao CMMI ©2006, Alexandre Vasconcelos 11/34 Representações - Vantagens Por estágios: Fornece uma rota de implementação através de: grupos de área de processo implementação em sequência cada nível funciona como a fundação para o próximo nível Estrutura familiar para aqueles que estão migrando do SW-CMM Habilidade de gerenciar processos através da organização Atribui uma nota de classificação do nível de maturidade em que a organização se encontra através dos resultados das avaliações: permitindo dessa forma a comparação de forma direta entre as organizações Introdução ao CMMI ©2006, Alexandre Vasconcelos 12/34 Componentes do Modelo Os componentes do modelo são os mesmos para a representação contínua e por estágios São eles: áreas de processo, metas específicas, práticas específicas, metas genéricas, práticas genéricas, produtos de trabalho típicos, subpráticas, amplificações de disciplinas, elaboração de praticas genéricas e referências Introdução ao CMMI ©2006, Alexandre Vasconcelos 13/34 Dimensões para Medição do Processo de Melhoria Níveis de Capacidade (representação contínua) Um nível de capacidade é um plano bem definido que descreve a capacidade de uma área de processo. Existem seis níveis de capacidade. Cada nível representa uma camada na base para a melhoria contínua do processo. Assim, níves de capacidade são cumulativos, ou seja, um nível de capacidade mais alto inclui os atributos dos níveis mais baixos. Introdução ao CMMI ©2006, Alexandre Vasconcelos 14/34 Dimensões para Medição da Melhoria do Processo Níveis de Capacidade 5 Optimizing 4 Quantitatively Managed 3 Defined 2 Managed 1 Performed 0 Incomplete Introdução ao CMMI ©2006, Alexandre Vasconcelos 15/34 Dimensões para Medição da Melhoria do Processo Níveis de Maturidade (representação por estágio) Um nível de maturidade é um plano bem definido de um caminho para tornar a organização mais madura. Existem cinco níveis de maturidade. Cada nível representa uma camada na base para a melhoria contínua do processo. Introdução ao CMMI ©2006, Alexandre Vasconcelos 16/34 Dimensões para Medição da Melhoria do Processo Níveis de Maturidade Optimizing 5 Foco na melhoria do processo 4 Processo medido e controlado 3 Processo proativo e caracterizado para a organização 2 Processo caracterizado para projetos e frequentemente reativo 1 Processo imprevisível, pouco controlado Introdução ao CMMI Quantitatively Managed Defined Managed Performed ©2006, Alexandre Vasconcelos 17/34 Áreas de Processo Representação Contínua Introdução ao CMMI ©2006, Alexandre Vasconcelos 18/34 Áreas de Processo Representação por Estágios Introdução ao CMMI ©2006, Alexandre Vasconcelos 19/34 Metas e Práticas - Específicas e Genéricas Metas Específicas e Práticas Específicas aplicam-se a uma Área de Processo particular relacionadas à dimensão do processo Metas Genéricas e Práticas Genéricas relacionadas à dimensão da capacidade ou maturidade aplicam-se a todas as áreas de processo. Introdução ao CMMI ©2006, Alexandre Vasconcelos 20/34 Exemplo: Meta Específica e Prática Específica Meta Específica (da AP Gerenciamento de Requisitos) Requisitos são mantidos e refletem-se cuidadosamente nos planos de projeto, atividades e produtos. Prática Específica (da AP Gerenciamento de Requisitos) Manter rastreabilidade entre requisitos e fontes de requisitos. Introdução ao CMMI ©2006, Alexandre Vasconcelos 21/34 Exemplo: Meta Genérica e Prática Genérica Meta Genérica (do Nível 2 de Capacidade ou Maturidade) Institucionalizar um processo gerenciado. Prática Genérica (do Nível 2 de Capacidade ou Maturidade) Estabelecer uma política organizacional. Introdução ao CMMI ©2006, Alexandre Vasconcelos 22/34 Estrutura do CMMI Representação Contínua … Área de Processo 1 Meta Específica 1 Prática Específica 1 … … Meta Específica n Prática Específica n Nível 0: Incompleto Introdução ao CMMI Área de Processo n Meta Genérica 1 Meta Genérica 2 Práticas Genéricas Nível 1 Práticas Genéricas Nível 2 Nível 1: Executado Nível 2: Gerenciado Meta Genérica 3 Meta Genérica 4 Práticas Genéricas Nível 3 Nível 3: Definido Práticas Genéricas Nível 4 Nível 4: Gerenciado Quantitativamente ©2006, Alexandre Vasconcelos Meta Genérica 5 Práticas Genéricas Nível 5 Nível 5: Otimizando 23/34 Estrutura do CMMI Representação por Estágios Nível de Maturidade Área de Processo Área de Processo Área de Processo Metas Genéricas Metas Específicas Características Comuns Compromisso para Executar Habilidade para executar Implementação direta Verificação Práticas Genéricas Introdução ao CMMI Práticas Específicas ©2006, Alexandre Vasconcelos 24/34 Equivalência entre as Representações Introdução ao CMMI ©2006, Alexandre Vasconcelos 25/34 Experiência de Implantação do CMMI em Pequenas Empresas Introdução ao CMMI ©2004, Alexandre Vasconcelos 26/34 Contexto do Projeto 10 empresas selecionadas para implantação do CMMI staged nível 2, num período de 20 meses Organização patrocinadora: Softex Organizações executoras As empresas selecionadas faziam também uma pequena contribuição CESAR Qualiti ISD Brasil Início: Março de 2004 Finalização prevista: Novembro de 2005 Finallização real: Abril de 2006 Introdução ao CMMI ©2006, Alexandre Vasconcelos 27/34 Etapas do Projeto Diagnóstico Inicial Levantamento do estado atual de cada empresa Necessário para a aglutinação das empresas em três grupos (cada grupo supervisionado por um consultor - 2 do CESAR e 1 da Qualiti) Definição dos Processos Treinamentos e Workshops (CMMI e Áreas de Processo) Consultorias de acompanhamento (CESAR e Qualiti) Escrita dos processos (pelas próprias empresas) Consultoria de Direcionamento (ISD Brasil) Introdução ao CMMI ©2006, Alexandre Vasconcelos 28/34 Etapas do Projeto (cont.) Institucionalização Aplicação dos processos em projetos-piloto Ajustes nos processos Pré-avaliação Simulação de uma avaliação formal a ser conduzida pelo CESAR e pela Qualiti Após a pré-avaliação, cada empresa ficaria responsável por viabilizar financeiramente a sua avaliação formal Introdução ao CMMI ©2006, Alexandre Vasconcelos 29/34 Etapas do Projeto (cont.) Diagnóstico Inicial Realizado em março de 2004 Definição dos Processos Finalizado em Dezembro de 2004 Durante esta etapa, 5 empresas desistiram do projeto Institucionalização Iniciada em Março de 2005 Execução de Projetos-piloto Pré-avaliação Realizada em 3 empresas em abril de 2006 Introdução ao CMMI ©2006, Alexandre Vasconcelos 30/34 Conclusões O CMMI é considerado o futuro da melhoria de processos: É mais abrangente, engloba diversas disciplinas em um único modelo, com uma única estrutura, metodologia comum, nomenclatura padrão… Diversas pesquisas têm corroborado essa premissa. Pode ser utilizado no desenvolvimento de produtos, serviços e manutenção. Reune melhores práticas de outros modelos. Introdução ao CMMI ©2006, Alexandre Vasconcelos 31/34 Conclusões O CMMI foi construído sobre a estrutra do CMM, o modelo de melhoria de processo mais difundido e utilizado na comunidade de software É mais abrangente, engloba diversas disciplinas em um único modelo, com uma única estrutura, metodologia comum, nomenclatura padrão… Pode ser utilizado no desenvolvimento de produtos, serviços e manutenção Reune melhores práticas de outros modelos Introdução ao CMMI ©2006, Alexandre Vasconcelos 32/34 Conclusões Visto que ainda está em uso há muito pouco tempo, ainda são poucas as experiências relatadas que desmonstram o retorno no investimento realizado e benefícios quantificáveis do uso do CMMI No entanto… Os diversos benefícios relatados através da implantação do SW-CMM podem ser considerados para o CMMI, umas vez que praticamente todos os conceitos foram mantidos no projeto CMMI A participação na implantação do CMMI em pequenas empresas tem sido bastante gratificante (estamos aprendendo muito) e desafiadora (como tornar a implantação simples e barata?) Introdução ao CMMI ©2006, Alexandre Vasconcelos 33/34 Referências Gerold Keefer, Hanna Lubecka, The CMMI in 45 Minutes, Dec. 2001 CMMI Product Development Team, CMMI for Systems Engineering and Software Engineering – Continuous Representation, Version 1.1. CMU/SEI-2002-TR-001, Dec. 2001. CMMI Product Development Team, CMMI for Systems Engineering and Software Engineering – Staged Representation, Version 1.1. CMU/SEI2002-TR-001, Dec. 2001. Dennis A. Ahern, Aaron Clouse, Richard Turner, CMMI Distilled. AddinsonWesley, 2001. Upgrading from SW-CMM to CMMI. Software Engineering Institute, The Road to CMMI. Mary Beth Chrissis, Mike Konrad, Sandy Shrum, CMMI Guidelines for Process Integration and Product Improvement, Addinson-Wesley, 2003. www.sucesues.org.br/eventos/57/cmm.pdf http://www.process-strategies.com/105.htm Introdução ao CMMI ©2006, Alexandre Vasconcelos 34/34