Professional Documents
Culture Documents
Agenda
Histrico SW-CMM (Capability Maturity Model for Software) CMMI (Capability Maturity Model Integration)
Histrico
O SW-CMM (Capability Maturity Model for Software) um modelo de capacitao de processos de software, desenvolvido pelo SEI (Software Engineering Institute) e patrocinado pelo Departamento de Defesa Americano (DoD), para a avaliao da capacidade dos fornecedores de software deste ltimo. Incio dos trabalhos deu-se em 1986, tendo sido publicada a verso 1.0 do SW-CMM em agosto de 1991. Em fevereiro de 1993, foi publicada a verso 1.1.
Tpicos Especiais - Qualidade de Software 2008/2 3
Histrico
Por ser especfico para a rea de software, o SW-CMM no contemplava outras reas importantes das organizaes, tais como Recursos Humanos e Engenharia de Sistemas. Com o sucesso do SW-CMM, outros modelos semelhantes foram criados para outras reas, tais como Gesto de Recursos Humanos (PeopleCMM), Aquisio de Software (SA-CMM) e Engenharia de Sistemas (SE-CMM). Entretanto, os diversos modelos apresentavam estruturas, formatos e termos diferentes, dificultando sua aplicao conjunta.
Tpicos Especiais - Qualidade de Software 2008/2 4
Histrico
Diferentes estruturas, formatos, termos, maneiras de medir maturidade Causa confuso, especialmente quando mais de um modelo utilizado Difcil de integrar em um nico programa de melhoria
People CMM
Histrico
O CMMI (Capability Maturity Model Integration) foi criado, ento, com a finalidade de integrar os diversos modelos CMM. Em 1999, foi publicado o esboo (draft), verso 0.2: CMMI-SE/SW (Capability Maturity Model Integrated System / Software Engineering). Verses do CMMI:
Verso 1.0: Agosto de 2000 Verso 1.1: Maro de 2002 Verso 1.2: Agosto de 2006 (CMMI for Development)
SW-CMM
Modelo de Maturidade de Capacitao para Software Objetivo Principal: guiar organizaes a conhecerem e melhorarem seus processos de software. Identifica prticas para um processo de software maduro, definindo as caractersticas de um processo de software efetivo. Descreve como as prticas de engenharia de software evoluem sob certas condies. Organiza os estgios de evoluo da melhoria dos processos em cinco nveis de maturidade.
SW-CMM: Estrutura
Cada nvel de maturidade, com exceo do primeiro, composto por reas-chave de processo (Key Process Areas KPAs). Cada KPA identifica atividades relacionadas que, quando executadas adequadamente, atingem determinados objetivos considerados importantes para o aumento da capacidade do processo. As KPAs so os requisitos para a obteno de um nvel no CMM. As KPAs so cumulativas, isto , para uma organizao atingir um determinado nvel de maturidade, ela deve satisfazer todas as KPAs daquele nvel e de seus inferiores.
Tpicos Especiais - Qualidade de Software 2008/2 8
SW-CMM: Estrutura
Cada KPA descrita em termos de prticas-chave (Key Practices). Uma prtica-chave descreve as atividades e a infraestrutura necessrias para a efetiva implementao e institucionalizao de uma KPA. Uma prtica-chave descreve o qu deve ser feito, e no como deve ser feito.
SW-CMM: Estrutura
Para cada KPA h metas a serem alcanadas, que caracterizam o seu contedo, escopo e limite. Metas so usadas para determinar se a organizao ou projeto efetivamente implantou a KPA em questo. Em uma avaliao de conformidade com o CMM, o mais importante verificar se todas as metas da KPA foram atingidas
10
Um nvel de maturidade um patamar evolutivo bem definido, que visa a alcanar um processo de software maduro. Os nveis so uma forma de priorizar as aes de melhoria, de tal forma que se aumente a maturidade do processo de software. No nvel 2 por exemplo, so focados aspectos gerenciais dos projetos.
11
O conceito de maturidade baseado na noo de que alguns processos provem mais estrutura e controle do que outros.
Processo disciplinado
12
O processo de software caracterizado como sendo imprevisvel e ocasionalmente catico. Poucos processos so definidos e o sucesso depende de esforos individuais e, muitas vezes, hericos. O processo de software uma caixa preta, de forma que somente as entradas e os produtos finais podem ser vistos com clareza.
sada
entrada
13
SW-CMM: Nvel 1
Organizaes no nvel 1 apresentam deficincias de planejamento e enfrentam dificuldades ao realizarem previses. Cronogramas e planos so irrealistas. Como no h credibilidade no planejamento, mesmo aquilo que foi planejado no seguido. No h controle de requisitos e o cliente s os avalia na entrega do produto. comum passar diretamente dos requisitos codificao. A documentao encarada como algo intil. So comuns reaes intransigentes coleta de dados e ao uso de padres, documentao e ferramentas.
14
Processos bsicos de gerncia de projetos so estabelecidos para controle de custos, prazos e escopo. possvel repetir sucessos de projetos anteriores em aplicaes similares. Ao invs do processo ser uma nica caixa preta, ele passa a ser uma seqncia de caixas pretas que asseguram a visibilidade em determinados pontos, os marcos do projeto.
sada
entrada
15
SW-CMM: Nvel 2
Neste nvel, organizaes tm maior probabilidade de cumprir compromissos de requisitos, prazos e custos, mas desde que sejam semelhantes a outros realizados anteriormente. A organizao disciplinada, mas no est bem preparada para mudanas. H preocupao com a gerncia do projeto. Os gerentes acompanham custos, cronogramas e funcionalidades de cada um dos projetos. Porm, a gerncia ainda no prativa, tomando aes normalmente quando se est diante de uma crise. Os projetos podem ter processos diferentes. No entanto, existe uma poltica para guiar os projetos no estabelecimento desses processos. Controla-se a evoluo dos requisitos, permitindo avaliaes ao final de cada marco do projeto, e controlase, tambm, a evoluo das configuraes do software.
16
Gerncia de Requisitos Planejamento de Projetos Superviso e Acompanhamento de Projetos Gerncia da Subcontratao de Software Garantia da Qualidade de Software Gerncia de Configurao de Software
17
Um processo de software, composto por atividades de gerncia e engenharia, documentado, padronizado e integrado em um processo de software padro da organizao. Todos os projetos utilizam uma verso aprovada e adaptada do processo organizacional para desenvolvimento e manuteno de software. A organizao interna das tarefas est definida e visvel
entrada
sada
18
SW-CMM: Nvel 3
Processos utilizados so estabelecidos e padronizados em toda a organizao. Os processos pertencem organizao e no aos projetos. O Grupo de Processos (Software Engineering Process Group SEPG) responsvel pelos processos da organizao. Apesar da padronizao, possvel adaptar os processos para as necessidades particulares de um projeto. Processos de engenharia de software so considerados ao lado dos processos gerenciais. H treinamento tcnico e gerencial. A organizao consegue se manter dentro do processo mesmo em perodos de crise. Como o processo bem definido, caso um desenvolvedor abandone o projeto antes de seu trmino, o impacto relativamente menor que nos nveis anteriores. Passagem do nvel 2 para o 3: a padronizao realizada a oportunidade de escolher as melhores prticas existentes na organizao.
Tpicos Especiais - Qualidade de Software 2008/2 19
Foco no Processo da Organizao Definio do Processo da Organizao Programa de Treinamento Gerncia de Software Integrada Coordenao entre grupos Engenharia de Produtos de Software Reviso por Pares
20
Mtricas detalhadas do processo de software e da qualidade do produto so coletadas. Tanto o processo como o produto de software so quantitativamente compreendidos e controlados.
entrada
sada
21
SW-CMM: Nvel 4
A organizao estabelece metas quantitativas de qualidade e produtividade para as atividades do processo e para os produtos produzidos so estabelecidas para cada projeto. Medidas de qualidade e produtividade so coletadas em todos os projetos como parte de um processo organizacional de medio e estabelecem uma base quantitativa para que os gerentes possam avaliar o progresso do desenvolvimento e a ocorrncia de problemas. Os projetos melhoram o seu controle sobre os produtos e processos e a varincia das medidas diminuda. estabelecido o controle estatstico de processos. Uma organizao no nvel 4 passa a ter uma gesto feita com bases quantitativas.
Tpicos Especiais - Qualidade de Software 2008/2 22
23
A melhoria contnua do processo estabelecida por meio de sua avaliao quantitativa, e da implantao planejada e controlada de tecnologias e idias inovadoras.
entrada
sada
24
SW-CMM: Nvel 5
A organizao est engajada na melhoria contnua de seus processos, possuindo meios para identificar fraquezas e fortalecer o processo de forma pr-ativa, prevenindo defeitos. O entendimento do processo ultrapassa os processos praticados, possibilitando compreender os efeitos de alteraes potenciais no processo. Melhorias em processos e tecnologias so planejadas e executadas como parte das atividades de rotina. Mudanas mais significativas de processos ou de tecnologias so feitas a partir de anlises de custo / benefcio com base em dados quantitativos cuja coleta iniciou-se no nvel 4.
25
Preveno de Defeitos Gerncia da Evoluo dos Processos Gerncia da Evoluo das Tecnologias
26
CMMI
Proposta de um modelo integrado que pode ser utilizado em vrias disciplinas. Disciplinas do CMMI
Engenharia de Software Engenharia de sistemas: abordagem interdisciplinar cujo objetivo o desenvolvimento bem-sucedido de sistemas como um todo, envolvendo software ou no. Desenvolvimento integrado do produto e processo: abordagem sistemtica que utiliza a colaborao dos stakeholders para melhor satisfazer as expectativas e requisitos dos clientes. Usada em conjunto com prticas de produo de um produto especfico. Fontes de Aquisio: aquisio de produtos de fornecedores.
27
Objetivos do CMMI
Alm da integrao dos modelos e reduo dos custos com melhorias de processo, os seguintes objetivos tambm fazem parte do projeto CMMI:
Aumento do foco das atividades Integrao dos processos existentes Eliminar inconsistncias Reduzir duplicaes Fornecer terminologia comum Assegurar consistncia com a norma ISO 15504 Flexibilidade e extenso para outras disciplinas
28
CMMI
um modelo que descreve orientaes para a definio e implantao de processos. O modelo no descreve processo algum, so orientaes definidas atravs das prticas especificadas. Mtodo de avaliao utilizado: SCAMPI (Standard CMMI Assessment Method for Process Improvement)
Mtodo que rene as melhores prticas do CBA-PI e SCE (mtodos amplamente utilizados pelo SW-CMM e outros modelos de melhoria de processos)
29
rea de Processo (Process Area PA): prticas relacionadas em uma rea que, quando executadas de forma coletiva, satisfazem um conjunto de metas consideradas importantes para trazer uma melhoria nessa rea. Metas Especficas: se aplicam a uma PA e tratam de caractersticas que descrevem o que deve ser implementado para satisfazer essa PA. So utilizadas nas avaliaes para auxiliar a determinar se a PA est sendo satisfeita.
30
Prticas Especficas: atividades que so consideradas importantes na satisfao de uma meta especfica associada. Metas Genricas: aparecem em diversas PAs. Prticas genricas: oferecem uma institucionalizao que assegura que os processos associados com a PA sero eficientes, repetveis e durveis. Produtos de trabalho tpicos: exemplos de sadas de uma prtica especfica ou genrica. Sub-prticas: descries detalhadas que fornecem um direcionamento para a interpretao de prticas especficas ou genricas.
Tpicos Especiais - Qualidade de Software 2008/2 31
33
Metas especficas e metas genricas so componentes exigidos do modelo. Esses componentes devem ser atingidos pelos processos planejados e implementados por uma organizao. Prticas especficas e prticas genricas so componentes esperados do modelo. Os componentes esperados descrevem o que uma organizao normalmente implementar para satisfazer um componente exigido.
34
Sub-prticas, produtos de trabalho tpicos, entre outros, so componentes informativos do modelo que auxiliam os usurios do modelo a entender as metas e prticas e a maneira como elas devem ser satisfeitas. Os componentes informativos fornecem detalhes que auxiliam os usurios do modelo a comear a pensar em como abordar as metas e prticas.
35
CMMI: Representaes
Contnua
Nveis de Capacidade Agrupamento de reas de Processo por Categoria Avaliao da Capacidade nas reas de Processo Nveis de Maturidade Agrupamento de reas de Processo por Nvel Avaliao da Organizao / Unidade Organizacional como um todo
Por Estgios
36
PAs so organizadas em quatro categorias de processo: Gerenciamento de Processos, Gerenciamento de Projetos, Engenharia e Suporte.
37
Gerenciamento de Processos
Atividades relativas definio, planejamento, distribuio de recursos, aplicao, implementao, monitoramento, controle, avaliao, medio e melhoria de processos. Envolve as seguintes PAs:
Foco no Processo Organizacional (bsica) Definio do Processo Organizacional (bsica) Treinamento Organizacional (bsica) Desempenho do Processo Organizacional (avanada) Inovao e Desenvolvimento Organizacional (avanada)
38
Gerenciamento de Projetos
Atividades de gerncia de projetos relacionadas ao planejamento, monitoramento e controle do projeto. Envolve as seguintes PAs:
Planejamento de Projetos (bsica) Monitoramento e Controle de Projetos (bsica) Gerncia de Acordos com Fornecedores (bsica) Gerncia Integrada de Projetos (avanada) Gerncia de Riscos (avanada) Integrao de Equipes (avanada) Gerncia Quantitativa de Projetos (avanada)
39
Engenharia
Atividades de desenvolvimento e manuteno que so compartilhadas entre as disciplinas de engenharia (por exemplo, engenharia de sistemas e engenharia de software). Envolve as seguintes PAs:
Gerncia de Requisitos Desenvolvimento de Requisitos Soluo Tcnica Integrao de Produtos Verificao Validao
40
Suporte
Atividades que apiam o desenvolvimento e a manuteno de produtos. As PAs de Suporte tratam os processos que so utilizados no contexto da execuo de outros processos, a saber:
Gerncia de Configurao (bsica) Garantia da Qualidade do Processo e do Produto (bsica) Medio e Anlise (bsica) Ambiente Organizacional para Integrao (avanada) Anlise de Decises e Resolues (avanada) Anlise de Causas e Resolues (avanada)
Tpicos Especiais - Qualidade de Software 2008/2 41
Nveis de Capacidade
42
Metas especficas organizam prticas especficas. Metas genricas organizam prticas genricas Cada prtica (especfica / genrica) corresponde a um nvel de capacidade. Metas e prticas especficas aplicam-se a reas de processo individuais. Metas e prticas genricas aplicam-se a vrias reas de processo.
43
Um nvel de capacidade descreve a capacidade de uma rea de processo. H seis nveis de capacidade, cada um representando uma camada na base para a melhoria contnua do processo. Assim, nveis de capacidade so cumulativos, ou seja, um nvel de capacidade mais alto inclui os atributos dos nveis mais baixos. Uma vez que os modelos CMMI so projetados para descrever nveis discretos de melhoria de processo, nveis de capacidade provem uma ordem recomendada para abordar a melhoria de processo dentro de cada rea de processo.
Tpicos Especiais - Qualidade de Software 2008/2 44
Representao Contnua
Nveis de Capacidade
5 Otimizado 4 Gerenciado Quantitativamente 3 Definido 2 Gerenciado
1 Realizado
0 Incompleto
45
Caractersticas Comuns Commitment Compromisso to Perform Specific Prticas Practices Especficas Ability Habilitao to Perform Directing Implementao Implementation Implementation Verifying da Verificao Implementation Implementao
46
Um nvel de maturidade um plano bem definido de um caminho para tornar a organizao mais madura. Existem cinco nveis de maturidade. Cada nvel representa uma camada na base para a melhoria contnua do processo.
47
Compromisso: agrupa as prticas genricas relacionadas criao de polticas e garantia de patrocnio. Habilitao: agrupa as prticas genricas relacionadas a assegurar que o projeto e/ou organizao possuem os recursos que necessitam. Implementao: agrupa as prticas genricas relacionadas gerncia do desempenho do processo, gerncia da integridade de seus produtos de trabalho e envolvimento dos stakeholders relevantes. Verificao da Implementao: agrupa as prticas genricas relacionadas a revises pelo nvel mais alto de gerenciamento e a avaliaes objetivas de conformidade a descries de processos, procedimentos e padres.
48
Otimizado
Gerenciado Quantitativamente
Definido
Gerenciado Inicial
2
1
49
Comparando as Representaes
Contnua
Capacidade
Em Estgios
NM5 NM4 NM3 NM2 NM1
PA
PA
PA
Fornece maior flexibilidade focando em reas de processo especficas de acordo com metas e objetivos de negcio Permite a comparao de reas de processo entre diferentes organizaes Estrutura familiar para aqueles que esto migrando da comunidade de engenharia de sistemas Foco bem definido nos riscos especficos de cada rea de processo Estrutura compatvel com a ISO/IEC 15504
Tpicos Especiais - Qualidade de Software 2008/2 51
grupos de rea de processo implementao em seqncia cada nvel funciona como a fundao para o prximo
Estrutura familiar para aqueles que esto migrando do SW-CMM. Habilidade de gerenciar processos ao longo da organizao. Em uma avaliao, atribui um nvel de maturidade em que a organizao se encontra, permitindo, assim, comparar organizaes de forma direta.
Tpicos Especiais - Qualidade de Software 2008/2 52
Comparando as Representaes
A representao contnua tem mais prticas especficas que a representao em estgios, porque tem dois tipos de prticas especficas, bsicas e avanadas, enquanto a representao em estgios possui apenas um tipo de prtica especfica. Na representao contnua, as prticas genricas existem para os nveis de capacitao de 1 a 5, enquanto que na representao em estgios somente aparecem prticas genricas para os nveis de capacitao 2 e 3; no existem prticas genricas para os nveis de capacitao 1, 4 e 5.
Tpicos Especiais - Qualidade de Software 2008/2 53
Comparando as Representaes
Nvel de Capacidade Nvel de Maturidade 2 1 2 3 4 5
Perfil Alvo 4
5
Perfil Alvo 5
Tpicos Especiais - Qualidade de Software 2008/2 54
Gerncia de Requisitos Planejamento de Projeto Monitorao e Controle de Projeto Garantia da Qualidade do Processo e do Produto Gerncia de Acordo com Fornecedores Gerncia de Configurao Medio e Anlise
55
Gerncia de Requisitos: gerenciar os requisitos dos produtos e componentes de produtos do projeto e identificar as inconsistncias entre estes requisitos e os planos e os produtos de trabalho do projeto. Envolve:
Assegurar que o conjunto de requisitos acordados gerenciado para apoiar as necessidades de planejamento e execuo do projeto. Documentar as mudanas nos requisitos e suas justificativas, e manter a rastreabilidade bidirecional entre os requisitos fonte e todos os requisitos de produtos e componentes de produtos.
56
Planejamento de Projetos: estabelecer e manter planos que definem as atividades do projeto. Envolve:
Desenvolver o plano do projeto Interagir com os stakeholders de forma apropriada Obter compromissos com o plano Manter o plano
57
Monitoramento e Controle do Projeto: oferecer um entendimento do progresso do projeto, de maneira que as aes corretivas apropriadas possam ser tomadas quando o desempenho do projeto se desviar significativamente do plano. Envolve:
Monitorar atividades, comunicar status e tomar as aes corretivas. O progresso basicamente determinado pela comparao dos atributos reais de produtos de trabalho e tarefas, esforo, custo e cronograma com o que foi planejado.
58
Gerenciamento de Acordos com Fornecedores: gerenciar a aquisio de produtos de fornecedores para os quais existe um acordo formal. Envolve:
Determinar o tipo de aquisio que ser utilizada para os produtos a serem adquiridos Selecionar os fornecedores Estabelecer e manter acordos com fornecedores Executar o acordo com o fornecedor Aceitar a entrega dos produtos adquiridos Fazer a transio dos produtos adquiridos para o projeto
59
Medio e Anlise: desenvolver e sustentar a capacidade de medies que utilizada para apoiar as necessidades de gerenciamento de informaes. Envolve:
Especificar os objetivos de medies e anlises, de forma que estes estejam alinhados com as necessidades e objetivos de informaes identificados Especificar as medidas, mecanismos de coleta de dados e armazenamento, tcnicas de anlises e mecanismos de comunicao e de feedback Implementar a coleta, armazenagem, anlise e relatrios sobre os dados Fornecer resultados objetivos que possam ser utilizados na tomada de decises bem informadas e na tomada das aes corretivas apropriadas
Tpicos Especiais - Qualidade de Software 2008/2 60
Garantia da Qualidade do Processo e do Produto: fornecer equipe e gerncia um entendimento objetivo dos processos e seus produtos de trabalho associados. Envolve:
Avaliar objetivamente os processos, produtos de trabalho e servios executados contra as descries de processo, padres e procedimentos aplicveis Identificar e documentar questes de no conformidades Fornecer feedback para a equipe do projeto e gerentes sobre os resultados das atividades de garantia da qualidade Assegurar que as questes de no conformidades sejam tratadas
61
Gerncia de Configurao: estabelecer e manter a integridade dos produtos de trabalho, utilizando a identificao da configurao, controle da configurao, comunicao do status da configurao e auditorias de configuraes. Envolve:
Identificar a configurao de produtos de trabalho selecionados que compem as baselines em determinados momentos no tempo Controlar as mudanas nos itens de configurao Construir ou fornecer especificaes para construir produtos de trabalho a partir do sistema de gerenciamento de configuraes Manter a integridade das baselines Fornecer um status preciso e os dados atuais de configuraes para desenvolvedores, usurios finais e clientes
Tpicos Especiais - Qualidade de Software 2008/2 62
Gerncia de Projeto Integrada Definio do Processo Organizacional Foco no Processo Organizacional Treinamento Organizacional Desenvolvimento de Requisitos Soluo Tcnica Integrao do Produto Verificao Validao Gerncia de Riscos Anlise de Deciso e Resoluo
Tpicos Especiais - Qualidade de Software 2008/2 63
Nvel 4:
Nvel 5:
64