Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Qualidade de Software Ementa 1 MODELOS DE MATURIDADE: CMM E CMMI Prof.ª Poliana Corrêa - poliana.correa@sga.pucminas.br Pontifícia Universidade Católica de Minas Gerais (PUC Minas) Qualidade de Software Ementa 2 IMATURIDADE � Em uma empresa imatura � Processos são improvisados ou não são seguidos � O trabalho é feito em regime de emergência (apagar incêndio) � Compromissos de prazo e custo não são cumpridos � O planejamento não é feito com base em estimativas realistas � Como os processos não são bem definidos todas as iniciativas de melhoria não se sustentam e não se perpetuam � Quando o projeto é pressionado por prazo, a qualidade e a funcionalidade são sacrificadas � O sucesso de um projeto depende de especialistas (“gurus”) para resolver grandes problemas � Frequentemente novas tecnologias são adotadas como solução milagrosa Qualidade de Software Ementa 3 IMATURIDADE � Exemplo: analogia a um time de futebol de várzea � Sem coordenação � Alguns correm desordenadamente, outros apenas observam � Mas, mesmo empresas imaturas podem produzir bons produtos � Podem ter “jogadores excepcionais” � Porém, com resultados imprevisíveis � Com custos fora do controle Qualidade de Software Ementa 4 MODELO DE MATURIDADE � O modelo de maturidade pode ser definido como um conjunto de melhores práticas usadas para diagnóstico e avaliação do desenvolvimento de software em uma organização � Pode ser vista como uma metodologia para desenvolvimento de software � Permite que os métodos e processos sejam avaliados com base em um modelo pré-definido e em parâmetros externos � A maturidade de um processo é estabelecida em níveis/estágios que evoluem ao longo do ciclo de desenvolvimento de software através de sucessivas melhorias Qualidade de Software Ementa 5 ORIGEM DO MODELO SW-CMM � O SW-CMM (Capacibity Maturity Model for Software) � Modelo de capacitação de processo patrocinado pelo Departamento de Defesa dos EUA � Objetivo: avaliar a capacidade dos seus fornecedores de software � Baseado em algumas das mais importantes ideias do movimento de qualidade industrial das últimas décadas � Cinco estágios da maturidade do livro “Quality is Free” (Crosby, 1992) � Por ser específico ao contexto de software, não participam do escopo outras áreas importantes da empresa, como RH e Finanças � Possui foco nos processos � Fator com maior potencial de melhoria da eficácia e da competitividade a curto prazo Qualidade de Software Ementa 6 SW-CMM � Objetivo principal: organizações conheçam e melhorem seus processos de desenvolvimento de software com a implementação de práticas bem definidas � Identifica práticas para um processo de software maduro, definindo as características de um processo de software efetivo � A melhoria de um processo é baseada em vários pequenos passos, não em grandes revoluções � O SW-CMM organiza os passos evolucionários em cinco níveis, que definem uma escala para avaliar a maturidade do processo dentro da empresa (de um processo indisciplinado para um processo disciplinado 2 Qualidade de Software Ementa 7 Nível 1 inicial Nível 2 gerenciado Nível 3 definido Nível 4 gerenciado quantitati- vamente Nível 5 otimizado NÍVEIS DO SW-CMM Adaptado de (Koscianski, 2007, p. 96) Processos ad-hoc Processos disciplinados Processos padronizados Processos medidos e controlados quantitativamente Processos melhorados continuamente Qualidade de Software Ementa 8 NÍVEIS DO SW-CMM � Cada nível do SW-CMM é composto de várias áreas-chave de processo (KPAs – Key Process Area), exceto o primeiro � Cada KPA identifica um grupo de atividades correlatas que realizam um conjunto de metas � As KPAs são os requisitos para obtenção de um nível no CMM � Os níveis são cumulativos, assim só atinge o nível 5 quando satisfazem todas as KPAs dos níveis 2 a 5 Qualidade de Software Ementa 9 NÍVEL 1 - INICIAL � Poucos processos estão definidos e o sucesso depende muitas vezes de um “heroísmo individual” � Organizações podem ser bem sucedidas, mas em geral se restringe ao desenvolvimento de produtos que já estiveram envolvidas antes � Apresentam deficiências de planejamento ocasionando problemas � Dificuldades ao realizarem previsões ou estimativas com erros � Cronogramas e planos irrealistas e alterados inúmeras vezes � Os imprevistos são comuns e a organização depende da capacidade individual para resolvê-los � A falta de credibilidade do planejamento leva a um desenvolvimento confuso do software Qualidade de Software Ementa 10 NÍVEL 1 - INICIAL � Para administrar uma equipe nessas condições é preciso iniciar uma mudança cultural � A equipe é resistente a acreditar nos benefícios de processos bem organizados � É comum resistência à coleta de dados, uso de padrões de desenvolvimento, documentação e ferramentas � A mudança deve ocorrer lentamente � O gerente pode planejar a introdução de cada KPA por vez � Habituar a equipe a seguir padrões organizacionais Qualidade de Software Ementa 11 NÍVEL 2 – GERENCIADO/REPETITIVO � As organizações tem maior probabilidade de cumprir os compromissos de requisitos, prazos e custo � Desde que os processos sejam semelhantes a outros realizados antes � Há uma preocupação maior com a gerência do projeto � Práticas de reuniões semanais e acompanhamento de cronograma constantemente são comuns � Os gerentes conseguem identificar problemas antes de se tornarem críticos � A organização é disciplinada ao executar projetos, mas não está bem preparada para mudanças � Incapaz de prever o resultado da adoção de novas ferramentas e métodos ou desenvolvimento de novos produtos Qualidade de Software Ementa 12 NÍVEL 2 – GERENCIADO/REPETITIVO � Áreas-chave: � Gestão de requisitos � Permite a definição e o controle dos requisitos, evitando descontrole nas mudanças e um acordo formal entre os desenvolvedores e o cliente sobre as funcionalidades do software � Planejamento de projetos � Estabelece planos do projeto possibilitando a previsão de prazos e custos � Supervisão e acompanhamento de projetos � Verifica o atendimento dos compromissos, comparações entre o atingido e o planejado e aciona providências corretivas para os desvios significativos 3 Qualidade de Software Ementa 13 NÍVEL 2 – GERENCIADO/REPETITIVO � Áreas-chave: � Gestão da subcontratação � Gerencia as organizações subcontratadas para desenvolver partes do software segundo padrões de qualidade pré-estabelecidos � Grupo de garantia da qualidade � Verifica o cumprimento dos compromissos de forma independente em relação aos projetos e verificando a qualidade do processo e dos produtos � Gestão de configurações � Garante a consistência permanente dos resultados dos projetos em relação aos requisitos, mesmo quando ocorrem alterações nos compromissos Qualidade de Software Ementa 14 NÍVEL 3 – DEFINIDO � As organizações estabelecem uma infraestrutura de processos que permite a adaptação a mudanças � As ferramentas passam a ser aplicadas de forma sistemática, padronizada e coerente � Contribuição significativa para melhoria da qualidade e da produtividade � O conhecimento sobre os processos ainda é qualitativo � Informações de projetos anteriores são usadas para ajudar na gestão do projeto, mas isso não é feito de forma sistemática em toda a organização Qualidade de Software Ementa 15 NÍVEL 3 – DEFINIDO � O processo é bem documentado � O gerente e a equipe tem um maior controle � Caso um desenvolvedor abandone um projeto antes do seu término, o impacto é relativamente menor que nos níveis anteriores � O gerente tem maior conhecimento do progresso dos projetos �Atividades são planejadas, estáveis e repetitivas � Consequência: melhora da qualidade do software � Custos, escalonamento de tarefas, prazos e funcionalidades estão sob controle Qualidade de Software Ementa 16 NÍVEL 3 – DEFINIDO � Áreas-chave � Grupo de engenharia de processos de software � Processo padrão de software no âmbito da organização � Programas de treinamento � Gestão integrada de projetos � Padronização � Coordenação entre os grupos que participam de projetos de sistemas � Coordenação de revisões no âmbito da organização Qualidade de Software Ementa 17 NÍVEL 4 – GERENCIADO � Administração de processos e produtos evolui para um tratamento quantitativo � Não quer dizer que só serão coletadas métricas de processo � A organização é proficiente para coletar e analisar dados disponíveis a partir dos processos de software definido � A produtividade e a qualidade são medidas em todos os projetos como parte de um programa organizacional � Maior controle, coleta de dados, gerenciamento de riscos Qualidade de Software Ementa 18 NÍVEL 4 – GERENCIADO � Áreas-chave � Gestão quantitativa dos processos � Gestão da qualidade de software 4 Qualidade de Software Ementa 19 NÍVEL 5 – OTIMIZADO � Os processos estão em melhoria contínua, sendo otimizados para as necessidades de cada momento � Gerentes identificam pontos fracos de cada processo e agem de forma pró-ativa para que eles sejam melhorados � A eficiência é medida para análise de custo-benefício de novas tecnologias e avaliação de processos � As lições aprendidas são replicadas em projetos futuros Qualidade de Software Ementa 20 NÍVEL 5 – OTIMIZADO � Áreas-chave � Prevenção de defeitos � Gestão da evolução tecnológica � Gestão de mudanças de processos Qualidade de Software Ementa 21 CMMI � Com o sucesso do SW-CMM novos modelos semelhantes foram criados para diversas áreas, como gestão de recursos humanos (P- CMM), aquisição de software (SA-CMM) e de engenharia de sistemas (SE-CMM) � Estruturas, formatos e termos diferentes causando uma grande confusão quando mais de um deles era usado � CMMI (Capability Maturity Model - Integration) foi proposto para integrar os diversos modelos criados como uma evolução do CMM � Integra disciplinas de engenharia de software, engenharia de sistemas, fontes de aquisição, entre outras Qualidade de Software Ementa 22 CMMI � Objetivo � Servir de guia para melhoria de processos na organização e também da habilidade de profissionais em gerenciar o desenvolvimento, aquisição e manutenção de produtos e serviços � Aumento do foco das atividades � Integração dos processos existentes � Eliminar inconsistências � Reduzir duplicações � Fornecer terminologia comum � Assegurar consistência com a norma ISO 15504 � Flexibilidade e extensão para outras disciplinas Qualidade de Software Ementa 23 CMMI � É um modelo que descreve orientações para a definição e implantação de processos � O modelo não descreve processos � São orientações definidas através de práticas especificadas � Método de avaliação: SCAMPI (Standard CMMI Assessment Method for Process Improvement) � Método de avaliação para determinar o nível de aderência de um processo, ou conjunto de processos, a um modelo de referência Qualidade de Software Ementa 24 CONCEITOS BÁSICOS � Áreas de processo (Process Area - PA) � Uma área de processo é um conjunto de práticas que quando executadas coletivamente satisfazem um conjunto de objetivos importantes para a melhoria da área � Objetivos específicos � Aplicados para uma área de processo e tratam de características únicas que descrevem o que deve ser implementado para satisfazer essa área de processo � São utilizadas nas avaliações para verificar se a PA está sendo satisfeita � Práticas específicas � Atividades que são consideradas importantes na satisfação de um objetivo específico 5 Qualidade de Software Ementa 25 CONCEITOS BÁSICOS � Objetivos genéricos � Descreve o que uma organização deve fazer para atingir um nível determinado (cinco objetivos genéricos) � Práticas genéricas � Asseguram que os processos associados com as Pas serão efetivos e repetíveis e duráveis � Produtos de trabalho típicos � Saídas de uma prática específica ou genérica � Sub-práticas � Descrições detalhadas que fornecem um direcionamento para interpretação de práticas específicas ou genéricas Qualidade de Software Ementa 26 CONCEITOS BÁSICOS � Exemplo - PA: Gerência de requisitos � Objetivo específico � Gerenciar requisitos � Requisitos são gerenciados e inconsistências com planos de projeto e produtos de trabalho são identificados � Prática específica � Manter rastreabilidade bidirecional entre requisitos, planos de projeto e produtos de trabalho � Produtos de trabalho típico � Matriz de rastreabilidade, sistema de acompanhamento de requisitos Qualidade de Software Ementa 27 CONCEITOS BÁSICOS � Exemplo - PA: Gerência de requisitos � Objetivo genérico (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 Qualidade de Software Ementa 28 REPRESENTAÇÕES � Contínua � Níveis de capacidade � Agrupamento de PAs por categoria � Avaliação da capacidade nas áreas de processo Qualidade de Software Ementa 29 REPRESENTAÇÕES � Por estágios � Níveis de maturidade � Agrupamento de PAs por nível � Avaliação da organização como um todo � As PAs do CMMI são as mesmas para ambas representações Qualidade de Software Ementa 30 REPRESENTAÇÕES 6 Qualidade de Software Ementa 31 REPRESENTAÇÕES Qualidade de Software Ementa 32 REPRESENTAÇÕES Qualidade de Software Ementa 33 REPRESENTAÇÕES Qualidade de Software Ementa 34 REPRESENTAÇÕES � Vantagens da representação contínua � 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 específicos de cada área de processo � Estrutura compatível com a ISO/IEC 15504 Qualidade de Software Ementa 35 REPRESENTAÇÕES � Vantagens da representação por estágios � Fornece uma rota de implementação por meio de grupos de área de processo, implantação em sequência � Cada nível funcionada como a base para o próximo � Estrutura familiar para aqueles que estão migrando do SW-CMM � Habilidade de gerenciar processos ao longo da organização � Em uma avaliação atribui um nível de maturidade em que a organização se encontra permitindo comparações entre organizações de forma direta Qualidade de Software Ementa 36 ÁREAS DE PROCESSO Nível 2 Nível 3 Nível 4 Nível 5 Gerência de requisitos Desenvolvimento de requisitos Gerência de projeto integrada Gerência quantitativa do projeto Inovação e implantação organizacional Planejamento de projetos Solução técnica Gerência de riscos Desempenho do processo organizacional Análise e resolução de causas Monitoração e controle do projeto Verificação Análise de decisão e resolução Gerência de acordo com fornecedores Validação Integração da equipe Medição e análise Integração do produto Ambiente organizacional para integração Gerência de configuração Definição, foco no e treinamento do processo organizacional 7 Qualidade de Software Ementa 37 GERENCIAMENTO DE PROCESSOS � Atividades relativasà definição planejamento, distribuição de recursos, aplicação, implementação, monitoramento, controle, avaliação, medição e melhoria de processos � Envolve as PAs � Foco no processo organizacional (básica) � Definição do processo organizacional (básica) � Treinamento organizacional (básica) � Desempenho do processo organizacional (avançada) � Inovação e desenvolvimento organizacional (avançada) Qualidade de Software Ementa 38 GERENCIAMENTO DE PROJETOS � Atividades de gerência de projetos relacionadas ao planejamento, monitoramento e controle do projeto � Envolve as PAs � Planejamento de projetos (básica) � Monitoramento e controle de projetos (básica) � Gerência de acordos com fornecedores (básica) � Gerência integrada de projetos (avançada) � Gestão de riscos (avançada) � Integração de equipes (avançada) � Gerência quantitativa de projetos (avançada) Qualidade de Software Ementa 39 ENGENHARIA � Atividades de desenvolvimento e manutenção que são compartilhadas entre as disciplinas de engenharia (de sistemas, de software) � Envolve as PAs � Gerência de requisitos (básica) � Desenvolvimento de requisitos (básica) � Solução técnica (básica) � Integração de produtos (avançada) � Verificação (avançada) � Validação (avançada) Qualidade de Software Ementa 40 SUPORTE � Atividades que apoiam o desenvolvimento e a manutenção de produtos � Envolve as PAs � Gerência de configuração (básica) � Garantia da qualidade do processo e do produto (básica) � Medição e análise (básica) � Ambiente organizacional para integração (avançada) � Análise de decisões e resoluções (avançada) � Análise de causas e resoluções (avançada) Qualidade de Software Ementa 41 COMPLEXIDADE � A maior limitação do modelo CMMI é a sua complexidade � Para atender a demanda de integração com diferentes áreas, o CMMI aborda muitos termos novos e detalhes difíceis de serem implantados � A documentação da SEI (http://www.sei.cmu.edu/cmmi/) é extensa e complexa, mais de 700 páginas � Imprescindível recorrer a consultorias especializadas em implementar CMMI e efetuar as reorganizações necessárias dentro da empresa Qualidade de Software Ementa 42 CMMI NO MUNDO � Dados de 2011 FONTE: http://www.blogcmmi.com.br/avaliacao/como-anda-o-cmmi-no-mundo 8 Qualidade de Software Ementa 43 CMMI NO MUNDO � Dados de 2011 FONTE: http://www.blogcmmi.com.br/avaliacao/como-anda-o-cmmi-no-mundo Qualidade de Software Ementa 44 CMMI NO MUNDO � Dados de 2011 FONTE: http://www.blogcmmi.com.br/avaliacao/como-anda-o-cmmi-no-mundo Qualidade de Software Ementa 45 CMMI NO MUNDO � Dados de 2011 FONTE: http://www.blogcmmi.com.br/avaliacao/como-anda-o-cmmi-no-mundo Qualidade de Software Ementa 46 CMMI NO MUNDO � Dados de 2011 FONTE: http://zarroboogsfound.blogspot.com.br/2011/10/numero-de-empresas-certificadas-no-cmmi.html Qualidade de Software Ementa 47 BIBLIOGRAFIA � KOSCIANSKI, André. Qualidade de software. 2ª edição. Novatec. 2007. � Software Engineering Institute. CMMI. Disponível em <http://www.sei.cmu.edu/cmmi/>. Acesso em set. 2015. � CASTRO, Ronney Moreira. Instituto Metodista Granbery. Disponível em <http://pt.slideshare.net/RonneyMoreiradeCastro/cmm-e-cmmi>. Acesso em fev. 2014. � Notas de aula da Prof.ª Eveline Alonso. Engenharia de Software. PUC Minas, 2009. Qualidade de Software Ementa 48 DÚVIDAS
Compartilhar