Visão Geral do CMMI Motivação • Proliferação de Modelos e Padrões em diversas áreas EIA 731 Software CMM Systems Engr CMM Systems Security Engr CMM Software Acq CMM FAA iCMM People CMM IPD CMM SE CM • Diferentes estruturas, formatos, termos, maneiras de medir maturidade • Causa confusão, especialmente quando mais de um modelo é utilizado • Difícil de integrar num único programa de melhoria 2/51 Objetivos do CMMI • • • • • • Eliminar inconsitências Reduzir duplicações Aumentar entendimento Fornecer terminologia comum Prover estilo consistente Assegurar consistência com a norma ISO 15504 • Estabelecer regras uniformes de avaliação 3/51 Constelações do CMMI 4/51 Representações • Contínua – Níveis de Capacidade – Agrupamento de Áreas de Processo por Categoria – Avaliação do Nível da Capacidade das Áreas de Processo individuais • Por Estágios – Níveis de Maturidade – Agrupamento de Áreas de Processo por Nível – Avaliação do Nível de Maturidade da Organização como um todo 5/51 Comparando as Representações Staged Continuous Process Area Capability ML5 ML4 ML3 ML2 ML 1 PA PA PA . . .para uma única área de processo ou um conjunto de áreas de processo. . . .para um conjunto de áreas de processo estabelecidas pela organização. 6/51 Por que duas representações? • 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; • Herança de Modelos – Software CMM – Staged – SECM – Continuous – IPD CMM – Hybrid • Proponentes de cada representação participaram do time de desenvolvimento do CMMI. 7/51 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 – Foco bem definido nos riscos específicos de cada área de processo – Estrutura compatível com o padrão ISO/IEC 15504 8/51 Representações - Vantagens • Por estágios: – Fornece uma rota de implementação através de: • grupos de área de processo • implementação em seqüência • cada nível funciona como a fundação para o próximo nível – Estrutura familiar para aqueles que estavam migrando do SW-CMM – 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 9/51 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, sub-práticas, amplificações de disciplinas, elaboração de práticas genéricas, e referências 10/51 Dimensões para Medição do Processo de Melhoria • Níveis de Capacidade (representação contínua) – Um nível de capacidade descreve a capacidade de uma área de processo; – Existem quatro 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. 11/51 Dimensões para Medição do Processo de Melhoria • Níveis de Capacidade 3 Defined Um processo adaptado a partir do conjunto de processos padrões da organização de acordo com as diretrizes definidas pela organização. 2 Managed Um processo gerenciado é planejado e sua execução é acompanhada através do planejamento inicial. 1 Performed Um processo executado é um processo que satisfaz todas as metas específicas de uma área de processo. 0 Incomplete Um processo que não está sendo executado ainda, ou está sendo parcialmente executado. Uma ou mais metas específicas da área de processo não são satisfeitas. 12/51 Dimensões para Medição da Melhoria do Processo • Níveis de Maturidade (representação por estágio) – Grau de melhoria de processo (maturidade organizacional) através de um conjunto pré-definido de áreas de processo – Um nível de maturidade provê a fundação necessária para a implementação efetiva dos processos dos níveis de maturidade superiores – Processos de um nível de maturidade superior podem ser implementados em níveis inferiores com o risco de não serem aplicados de forma consistente em períodos de crise – Um nível de maturidade define um caminho para tornar a organização mais madura – Existem cinco níveis de maturidade 13/51 Dimensões para Medição da Melhoria do Processo • Níveis de Maturidade 5 4 3 Optimizing Foco na melhoria do processo Quantitatively Managed Processo medido e controlado Defined Processo proativo e caracterizado para a organização 2 Processo caracterizado para projetos e frequentemente reativo 1 Processo imprevisível, pouco controlado Managed Performed 14/51 O Nível 1 de Maturidade Nível 1 – Executado • Processos executados freqüentemente de maneira ad-hoc • Poucos processos definidos, sucesso dependente de iniciativas individuais • Difícil prever a performance 15/51 O Nível 1 de Maturidade Nível 1 - Executado In Out • • • • O processo utilizado é uma caixa preta Dificuldade em determinar progresso do projeto Requisitos fluem para dentro Um produto de software é (normalmente) produzido através de algum processo disforme. • O produto flui para fora e (espera-se que) funciona 16/51 O Nível 2 de Maturidade Nível 2 – Gerenciado • Gerência de projetos disciplinada • Políticas organizacionais estabelecidas e institucionalizada nos projetos • Planos e processos do projeto são documentados e seguidos • Existência de recursos apropriados • Responsabilidades e autoridades são atribuídas • Planejamento e gerenciamento de novos projetos pode ser baseado na experiência de projetos similares 17/51 O Nível 2 de Maturidade Nível 2 - Gerenciado In Out • A disciplina faz com os processos sejam mantidos em tempos de “crise” • Os status das atividades e dos produtos de trabalho são visíveis à gerência em etapas pré-definidas • Os requisitos fluem para dentro e o produto flui para fora e (normalmente) funciona 18/51 O Nível 2 de Maturidade Nível 2 - Gerenciado • Medidas são coletadas e analisadas para se entender e gerenciar as atividades e resultados do projeto – Limites são definidos, mas sem a utilização de técnicas estatísticas – Quando não se atinge os limites, ações são tomadas 19/51 O Nível 3 de Maturidade Nível 3 - Definido • Processo para desenvolvimento de software é estabelecido, padronizado e documentado pela organização (adaptado quando necessário) • Todos os projetos utilizam uma versão deste processo, personalizada para o tipo do projeto a ser desenvolvido • Atividades de gerenciamento e engenharia de software são estáveis e repetidas (foco na organização) 20/51 O Nível 3 de Maturidade Nível 3 - Definido In Out • Funções e responsabilidades no processo são bem entendidas • A produção do produto de software é visível através do processo de software • Papéis, responsabilidades e interação entre atividades são bem entendidos por todos 21/51 O Nível 4 de Maturidade Nível 4 – Gerenciado Quantitativamente • O processo de software é previsível e gerenciado quantitativamente (estável) • Métodos estatísticos e quantitativos são utilizados no nível de projetos e da organização para: – Entender os resultados de performance, a qualidade do produto e do serviço de projetos passados – Prever a performance e a qualidade do produto e dos serviços de projetos futuros • Base de dados organizacional para coletar e analisar dados dos projetos 22/51 O Nível 4 de Maturidade Nível 4 – Gerenciado Quantitativamente • Utilização de objetivos quantitativos, para atender as necessidades dos clientes, usuários finais e da organização • Atenção: A implementação do nível 4 deve ser considerada antecipadamente – As medições requeridas no nível 4 podem (ou não) ser diferentes das medições requeridas desde o nível 2 – As análises requeridas no nível 4 demandam uma grande base de dados de medições – É indicado um alinhamento das atividades do nível três com os objetivos futuros do nível 4 23/51 O Nível 4 de Maturidade Nível 4 – Gerenciado Quantitativamente In Out • Progresso e problemas são medidos • A gerência tem bases objetivas para tomada de decisão 24/51 O Nível 5 de Maturidade Nível 5 – Em Otimização • No nível 4 a análise é direcionada às causas especiais de variação do processo => No nível 5, a análise é direcionada às causas comuns de variação do processo • As medições são utilizadas para: – Selecionar melhorias e inovações, estimar seus custos e acompanhar os gastos reais • Os processo definidos na organização são alvos das atividades de melhoria 25/51 O Nível 5 de Maturidade Nível 5 – Em Otimização In • Out Estabelecimento e acompanhamento de objetivos quantitativos para a melhoria de processos “A Melhoria de processo contínua e ‘mensurável’ é um estilo de vida...” 26/51 Áreas de Processo • Área de Processo (PA): é um conjunto de práticas relacionadas, que quando implementadas de forma coletiva, satisfazem um conjunto de metas consideradas importantes e críticas para caracterizar a melhoria na área de processo em questão • Em ambas as representações, na contínua e na por estágios, as áreas de processo são as mesmas 27/51 Áreas de Processo Representação por Estágios Staged Grouping Acronyms Processes Areas Maturity Level 2 REQM PP PMC SAM MA PPQA CM Requirements Management Project Planning Project Monitoring and Control Supplier Agreement Management Measurement and Analysis Process and Product Quality Assurance Configuration Management Maturity Level 3 RD TS PI VER VAL OPF OPD +IPPD OT IPM +IPPD RSKM DAR Requirements Development Technical Solution Product Integration Verification Validation Organizational Process Focus Organizational Process Definition + IPPD Organizational Training Integrated Project Management +I PPD Risk Management Decision Analysis and Resolution Maturity Level 4 OPP QPM Organizational Process Performance Quantitative Project Management Maturity Level 5 OID CAR Organizational Innovation and Deployment Causal Analysis and Resolution 28/51 Áreas de Processo Representação Contínua Continuous Grouping Acronyms Processes Areas Process Management OPF OPD +IPPD OT OID Organizational Process Focus Organizational Process Definition + IPPD Organizational Training Organizational Innovation and Deployment Project Management PP PMC SAM IPM +IPPD RSKM QPM Project Planning Project Monitoring and Control Supplier Agreement Management Integrated Project Management +I PPD Risk Management Quantitative Project Management Engineering OPP REQM RD TS PI VER VAL Organizational Process Performance Requirements Management Requirements Development Technical Solution Product Integration Verification Validation Support CM PPQA MA DAR CAR Configuration Management Process and Product Quality Assurance Measurement and Analysis Decision Analysis and Resolution Causal Analysis and Resolution 29/51 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 – descrevem o que deve ser implementado para satisfazer a área de processo – uma prática específica representa uma atividade considerada importante no atendimento da meta específica associada à mesma • Metas Genéricas e Práticas Genéricas – aplicam-se a todas as áreas de processo – relacionadas à dimensão da capacidade ou maturidade – são chamadas genéricas por que são as mesmas para todas as áreas de processo – Uma para cada nível de maturidade ou capacidade – Na representação por estágios apenas 4 se aplicam, pois o nível 1 de maturidade não possui meta genérica 30/51 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. 31/51 Exemplo: Meta Genérica e Prática Genérica • Meta Genérica GG2 (do Nível 2 de Capacidade ou Maturidade) – Institucionalizar um processo gerenciado. • Prática Genérica (GP2.1) Estabelecer uma política organizacional – Estabelecer e manter uma política organizacional para o planejamento e execução dos processos <xxx> • Prática Genérica (GP2.2) Planejar o processo – Estabelecer e manter o planejamento para a execução dos processos <xxx> 32/51 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 Práticas Genéricas Práticas Específicas 33/51 Estrutura do 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 34/51 Equivalência entre as Representações Requirements Development Technical Solution Product Integration Verification Validation Organizational Process Focus Organizational Process Definition Organizational Training Integrated Project Management Risk Management Decision Analysis and Resolution RD TS PI VER VAL OPF OPD OT IPM RSKM DAR 35/51 Considerações Finais • 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 de avaliação, nomenclatura padrão… – Pode ser utilizado no desenvolvimento de produtos, serviços e manutenção – Reune melhores práticas de outros modelos – Hoje está na versão 1.3 – Avaliação tem validade de 3 anos. 36/51 Considerações Finais • Tempo médio para Implantação do CMMI – Da fase de inicio do processo de melhoria ao processo de avaliação oficial => 1 a 2 anos (por nível, no modelo em estágios) • Etapas para adoção: – – – – – – – Diagnóstico inicial Definição do plano de ação de melhoria de processos Definição dos processos de acordo com o modelo Institucionalização dos processos Mini Avaliação Ajustes nos processos Avaliação oficial 37/51 O Método de Avaliação SCAMPI Standard CMMI Appraisal Method for Process Improvement 38/51 Método de Avaliação SCAMPI • Um método de avaliação tem como objetivo determinar o nível de aderência de um processo, ou conjunto de processos, à um modelo de referência • Um dos produtos do projeto CMMI é o método de avaliação SCAMPI – Standard CMMI Appraisal Method for Process Improvement 39/51 Método de Avaliação SCAMPI • Objetivos – Coletar dados para entender os processos implementados – Determinar o nível de aderência de um processo, ou conjunto de processos, nos projetos eleitos como representativos na organização, às práticas do CMMI – Determinar o grau de satisfação das metas investigadas na avaliação – Identificar pontos fortes e fracos do processo – Atribuir classificação (se requerido pelo patrocinador da avaliação) 40/51 Método de Avaliação SCAMPI: Principais Aspectos • Realizada colaborativamente por uma equipe liderada por um Lead Appraiser autorizado pelo SEI • Seleção do escopo organizacional – Unidade organizacional previamente definida em comum acordo com o contratante. • Verificação através de evidências objetivas – Informações qualitativas ou quantitativas, registros, declaração de fatos que caracterizam a implementação de elementos do processo 41/51 Método de Avaliação SCAMPI: Principais Aspectos • Verificação da implementação das práticas com base em indicadores Artefatos • Tipos de indicadores Atas de reuniões, Anotações do – Artefatos e afirmativas desenvolvimento do WBS WBS, descrição de tarefas, descrição dos pacotes do projeto PP SP1.1-1 Estabelecer um WBS (work breakdown structure) de alto nível para o escopo do projeto Informações: “Eu trabalhei na equipe de definição do WBS”, “Eu utilizei o WBS como base para minhas atividades” 42/51 Método de Avaliação SCAMPI: Principais Aspectos • “Corroboração” das informações – Artefatos combinados com informações obtidas em apresentações e entrevistas • Cobertura da avaliação – Evidências objetivas suficientes para a implementação de cada prática – Evitar avaliações baseadas somente em papel, devem haver afirmações declaradas (chamadas faceto-face F2F) • Pelo menos 50% das práticas de cada meta 43/51 Método de Avaliação SCAMPI: Classes de Avaliação Características Evidência objetiva Geração de ratings Uso de recursos Tamanho da equipe Classe C baixa não baixo pequeno mínimo 1 Classe B média não médio médio mínimo 2 Classe A alta sim alto grande mínimo 4 e máximo 9 44/51 Método de Avaliação SCAMPI: Papéis em uma Avaliação • Participantes da avaliação – Patrocinador da avaliação – Gerentes de projeto – Lideres de equipe – Membros da equipe de desenvolvimento Obs: As pessoas a serem entrevistadas são selecionadas desde a fase do planejamento 45/51 Método de Avaliação SCAMPI: Papéis em uma Avaliação • Equipe de avaliação – Média de 4 a 5 pessoas – Líder da avaliação – Possui a responsabilidade geral sobre a avaliação – Membros da equipe - Se dividem em mini-equipes por área de processo a ser avaliada • Assumem diferentes papéis durante a avaliação – Coordenador local (organização da logística local), bibliotecário (responsável pelos documentos), cronometista, escriba, revisão dos trabalhos, produção de ratings – Todos devem tomar nota de tudo durante o processo – Equipe completa => REVISA TODO O TRABALHO – O resultado final de uma avaliação é consensual!! 46/51 Método de Avaliação SCAMPI: Atividades • Planejar e preparar a avaliação – Média de tempo de três meses • Conduzir a avaliação – Média de 6-8 dias • Reportar os resultados da avaliação – Resultado preliminar – Resultado final – Ocorre imediatamente após a realização da avaliação 47/51 Processo de Obtenção de Ratings Ratings de nível de capacidade e/ou maturidade Ratings de satisfação dos objetivos (metas) Caracterização da implementação das práticas em nível de unidade organizacional Caracterização da implementação das práticas em nível das instanciações (projetos) 48/51 Nível de Implementação da Prática FI (Fully Implemented) Caracterização de Implementação LI (Largelly Implemented) PI (Partially Implemented) NI (Not Implemented) NY (Not Yet) Artefatos e/ou afirmativas estão presentes e são considerados adequados para confirmar a implementação Não foi notada nenhuma fraqueza substancial Artefatos e/ou afirmativas estão presentes e são considerados adequados para confirmar a implementação Foi notada uma ou mais fraquezas Alguns ou todos os artefatos requeridos estão ausentes ou são considerados inadequados para confirmar a implementação Alguns afirmativas sugerem que alguns aspectos da prática estão implementados Foi notada uma ou mais fraquezas OU Artefatos estão presentes e são considerados adequados Não existem afirmativas para suportar os artefatos Foi notada uma ou mais fraquezas Alguns ou todos os artefatos requeridos estão ausentes ou são considerados inadequados para confirmar a implementação Não existem afirmativas para suportar os artefatos Foi notada uma ou mais fraquezas A fase do ciclo de vida ainda não foi atingida para que a prática seja implementada 49/51 Regras de Agregação em Nível de Processos Caracterizações Todas X Todas LI ou FI Existe alguma PI, mas sem NI Existe algum NI Resultado Notas X LI LI ou PI Decidido pela equipe NI, PI ou LI Decidido pela equipe 50/51 Exemplo de Planilha de Avaliação 51/51