Capability Maturity Model Integration CMMI Gláucya Carreiro Boechat [email protected] Roteiro • • • • • Introdução Histórico Representações Estrutura do Modelo CMMI Conclusão Processos de Software • Processo é uma seqüência de passos realizados para um determinado propósito. • Produto é o que resulta do processo Modelo de Processos • Modelos não são processos, mas descrevem suas características. “Um conjunto estruturado de práticas que descrevem as características de um processo eficaz.” (SEI) • Modelos de processos criam uma estrutura para a realização de avaliações confiáveis e consistentes. Objetivo • Atender aos diversos setores da indústria de software, EIA 731 Systems Engr CMM IPD CMM Software CMM SE CM Systems Security Engr CMM Software Acq CMM FAA iCMM People CMM •Modelos com finalidades específicas •Inconsistência quando aplicados simultaneamente CMM IntegrationSM Project • O CMM IntegrationSM Project foi montado para solucionar o problema do uso de múltiplos CMMs. • Missão de combinar 3 modelos básicos: – Capability Maturity Model for Software (SW-CMM) v2.0 draft C – Systems Engineering Capability Model (SECM) • Também conhecido como Electronic Industries Alliance Interim Standard (EIA/IS) 731 – Integrated Product Development Capability Maturity Model (IPD-CMM) v0.98 Histórico • Agosto 2000 – Versão 1.0 • Março 2002 – Versão 1.1 • Agosto 2006 – Versão 1.2 – CMMI for Development (CMMI-DEV) • Dirige-se ao processo de desenvolvimento de produtos e serviços. • Novembro 2007 – Versão 1.2 – CMMI for Acquisition (CMMI-ACQ) • Dirige-se aos processos de aquisição e terceirização de bens e serviços. Histórico • Proposta de um modelo integrado que pode ser utilizado em várias disciplinas; – engenharia de sistemas, – engenharia de software, – aquisição de software, – desenvolvimento de processo e etc. Por que usar CMMI? • Integração dos modelos • Redução dos custos com melhorias de processo, – Gerenciar o desenvolvimento, – Aquisição e manutenção de seus serviços e produtos. – Aumentar o foco das atividades; – Eliminar inconsitências; – Reduzir duplicações; CMMI • CMMI é um modelo que descreve orientações para a definição/melhoria e implantação de processos • Não é um processo, mas sim uma descrição de características de um processo efetivo • Mostra O QUE fazer, – e não COMO fazer – ou QUEM deve fazer CMMI (Capability Maturity Model Integration) • O objetivo do CMMI é – Fornecer direcionamentos para melhorar os processos de uma organização – Gerenciar o desenvolvimento, aquisição e manutenção de produtos e serviços • O conjunto de produtos CMMI (CMMI Product Suite) – contém e é produzido a partir de um framework que oferece a capacidade de gerar múltiplos modelos e seus materiais de treinamento e avaliação associados Método de avaliação • O método de avaliação SCAMPI (Standard CMMI Appraisal Method for Process Improvement) foi desenvolvido pelo SEI – Objetivo • suportar a condução de avaliações em conformidade com o então emergente relatório ISO 15504 • Existem cerca de 180 avaliadores SCAMPI no mundo autorizados a realizar avaliações do CMMI pelo SEI REPRESENTAÇÕES • A CMMI incorporou uma novidade em relação ao CMM – Além da tradicional representação por Estágios, incorporou uma nova representação denominada Contínua – Compatível com a Norma 15504. Representação • 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 Representação • Por Estágio: 5 níveis de maturidade – Áreas de Processo agrupadas por nível de maturidade – Níveis de maturidade se aplicam ao nível de maturidade geral da organização • Contínua: 6 níveis de capacidade – Áreas de Processo agrupadas por Categoria – Avaliação da capacidade das Áreas de Processo Representação • Por que duas representações? – Modelos fontes com representações diferentes • SW-CMM – Por estágio • SECM – Contínua • IPD-CMM – Híbrido – Na equipe de desenvolvimento do CMMI, existiam “defensores” de ambas representações – Cada representação possui benefícios inerentes Representações - Vantagens Níveis de Maturidade (Representação Por Estágio) • Nível de maturidade – plano bem definido de um caminho para tornar a organização mais madura. • Existem cinco níveis de maturidade, definidos de 1 a 5. – Cada nível representa uma camada na base para a melhoria contínua do processo. Níveis de Maturidade (Representação Por Estágio) Níveis de Maturidade (Representação Por Estágio) • Nível 1 - Inicial – As organizações podem, perfeitamente, desenvolver produtos de software de alta qualidade, • mas seu desempenho depende da competência das pessoas. • Mudando as pessoas, a qualidade pode cair. – problemas são de ordem gerencial e não técnica. Níveis de Maturidade (Representação Por Estágio) • Nível 2 – Gerenciado – os métodos de gerenciamento de software são documentados e acompanhados. – Práticas bem sucedidas podem ser repetidas em novos projetos. – Cumprimento de custos e prazos em projetos similares Níveis de Maturidade (Representação Por Estágio) • Nível 3 - Definido – A organização possui um processo de engenharia bem definido. – Existe uma preocupação com um processo padronizado para a organização, – O processo é definido, documentado e compreendido Níveis de Maturidade (Representação Por Estágio) • Nível 4 – Gerenciado Quantitativamente – A gerência tem bases objetivas para a tomada de decisão, • O processo é medido e gerenciado quantitativamente. – É possível prever o desempenho dentro de limites quantificados. Níveis de Maturidade (Representação Por Estágio) • Nível 5 - em Otimização – O foco é na melhoria contínua do processo, • a mudança de tecnologia e as mudanças no próprio processo são gerenciadas de forma a não causarem impacto na qualidade do produto final Níveis de Capacidade (representação contínua) • Um nível de capacidade – plano bem definido que descreve a capacidade de uma área de processo. • Existem seis níveis de capacidade, definidos de 0 a 5. – Cada nível representa uma camada na base para a melhoria contínua do processo. – Os níves de capacidade são acumulativos • um nível de capacidade mais alto inclui os atributos dos níveis mais baixos. Níveis de Capacidade (representação contínua) 5 Optimizing 4 Quantitatively Managed 3 Defined 2 Managed 1 Performed 0 Incomplete Níveis de Capacidade (representação contínua) • Nível 0 – incompleto: – o processo não é executado ou é executado parcialmente • Nível 1 – executado: – o processo satisfaz as metas específicas da área de processo. • Nível 2 – gerenciado: – o processo é executado e também planejado, monitorado e controlado para atingir um objetivo (em projetos individuais, grupos ou processos isolados). Níveis de Capacidade (representação contínua) • Nível 3 – definido: – o processo é gerenciado, adaptado de um conjunto de processos padrão da organização. • Nível 4 – gerenciado quantitativamente: – o processo é definido, controlado utilizando estatística ou outras técnicas quantitativas. • Nível 5 – em otimização: – o processo é gerenciado quantitativamente para a melhoria contínua do desempenho do processo. Níveis de Capacidade (representação contínua) • Uma organização pode possuir processos com níveis de capacidade diferentes, conforme o estágio de cada atividade realizada. • Por exemplo, uma organização pode ter o seguinte perfil de capacidade: Gerenciamento de requisitos nível 1 Planejamento de projeto nível 2 Monitoração e controle de projeto nível 2 Medições e análises nível 0 Treinamento organizacional nível 1 Estrutura do Modelo CMMI • Áreas de processo (PA - Process Área) – Conjunto de atividades relacionadas em uma área que, quando realizadas adequadamente, atendem um conjunto de metas consideradas importantes para trazer uma melhoria significativa naquela área. Áreas de processo (Representação Por Estágio) Áreas de processo (Representação Contínua) Estrutura do Modelo CMMI • Metas Específicas – Tratam de características únicas que descrevem o que deve ser implementado para satisfazer a Área de Processo – Exemplo - Gerenciamento de Requisitos • meta específica: – Gerenciar Requisitos: » Os requisitos são gerenciados e são identificadas inconsistências entre os planos do projeto e produtos de trabalho. Estrutura do Modelo CMMI • Práticas Específicas – Nível mais detalhado de descrição – Atividade que é considerada importante na satisfação de uma meta específica associada: – Exemplo - Gerenciamento de Requisitos • Prática Específica – uma prática específica ligada à meta anterior é obter a compreensão dos requisitos Estrutura do Modelo CMMI • Metas Genéricas – Significa obter um melhor controle para planejar e implementar os processos associados com a Área de Processo, – Cada área de processo tem apenas uma meta genéricas por nível – Exemplos do Nível 2 de capacidade ou maturidade: • Meta: Institucionalizar um processo gerenciado Estrutura do Modelo CMMI • Práticas Genéricas – Estabelecem a institucionalização do processo. • Isto é, garantir que o processo é treinado, disseminado, praticado por todos na organização. – Exemplos do Nível 2 de capacidade ou maturidade: • Prática: Estabelecer uma política organizacional Estrutura do Modelo CMMI Representação Contínua … Área de Processo 1 Meta Específica 1 Prática Específica 1 … … Nível 0: Incompleto Meta Específica n Prática Específica n Á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 Práticas Genéricas Nível 3 Nível 3: Definido Meta Genérica 4 Práticas Genéricas Nível 4 Nível 4: Gerenciado Quantitativamente Meta Genérica 5 Práticas Genéricas Nível 5 Estrutura do Modelo 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 Práticas Genéricas Implementação direta Verificação Práticas Específicas Equivalência entre as Representações Empresas nível 5 do CMMI • 2004 – TCS (TATA Consultancy Services) Brazil • 2005 – IBM Brazil • 2006 – Politec • 2007 – Ci&T – CPM Braxis Conclusões • Por ter sido desenvolvido com base na estrutura do CMM, o CMMI reune as melhores práticas de outros modelos • É mais abrangente pois engloba diversas disciplinas em um modelo único – Única estrutura, metodologia comum, nomeclatura padrão, etc. • Por ter sido desenvolvido com base na estrutura do CMM, o CMMI reune as melhores práticas de outros modelos Referências • http://www.sei.cmu.edu/ • http://www.cin.ufpe.br/~processos/TAES3/slides2007.2/cmmi_turah.ppt • www.cin.ufpe.br/~if720/slides/CMMI_2005.ppt • Marcelo S. P. Pessôa. Introdução ao CMMI - Modelo Integrado de Maturidade da Capacidade de Processo. Lavras: UFLA/FAEPE, 2004. • http://pt.wikipedia.org/wiki/CMMI Capability Maturity Model Integration CMMI Gláucya Carreiro Boechat [email protected]