Prévia do material em texto
MODELO DE MATURIDADE DE SOFTWARE Introdução A medição é a base para a melhoria de processos. Sem a medição, torna-se impossível identificar os pontos de melhoria e definir que ações devem ser adotadas. Devemos evitar o uso do feeling (“eu acho”), pois à medida que problemas surgem, cresce a frustração das pessoas em perceber que suas ações corretivas não surtem efeito. Outro problema relacionado à medição é o “medir por medir”, quando as medições são feitas sem planejamento ou sem um objetivo claro. O planejamento das medições evita custos e esforços desnecessários. Objetivo: 1. Apresentar os métodos GQM; 2. Analisar os benefícios do GQM. Método GQM Muitos projetos de desenvolvimento de software são entregues fora do orçamento e prazo, comprometendo a sua qualidade. Isso se deve principalmente à avaliação inadequada dos fatores de risco. É necessário propor uma abordagem sistemática para prevenir e monitorar riscos. Para isso, deve ser utilizado um procedimento para listar, analisar e priorizar os riscos, minimizando a exposição destes. O primeiro passo é o estabelecimento de uma política de mensuração para a identificação adequada das medidas a serem coletadas. Método GQM Essa definição deve ser feita com base em critérios bem fundamentados, devido ao grande número de opções possíveis e ao custo envolvido na coleta de cada informação. Com intuito de guiar o processo de definição das medidas, além do Goal-Question-Metric – GQM (Meta - Questão - Métrica), vários métodos foram propostos, como Goal-Driven Software Measurement (GDSM) e Practical Software and System Measurement (PSM). Definição das métricas GQM GQM é uma abordagem de cima para baixo (top down) e foi apresentado por Victor Basili em conjunto com o Laboratório de Software da NASA e a Universidade de Maryland. É uma abordagem orientada a metas para a mensuração de produtos e processos de software, ou seja, um mecanismo para definição e interpretação de métricas de software. O GQM O GQM na mensuração orienta as metas. Por exemplo, a coleta de dados documentada que deve ser baseada em um fundamento lógico. Abordagem A abordagem GQM apresenta algumas vantagens como identificação das métricas úteis e relevantes e a interpretação dos dados coletados. O modelo GQM é composto por três níveis: • Conceitual • Operacional • Quantitativo Abordagem Conceitual (Meta): são definidos os objetivos da organização, ou seja, as metas a serem atingidas pelo programa de medição. Exemplo reduzir defeitos, eliminar desperdícios, aumentar produtividade etc. Abordagem Operacional (Pergunta): Um conjunto de perguntas é elaborado com relação a cada objetivo identificado no nível anterior. Exemplo Qual a taxa de defeito atual? Qual a taxa de defeito após a implantação do novo processo? Abordagem Quantitativo (Métrica): Um conjunto de métricas (objetivas e subjetivas) é estabelecido, de maneira a atender a cada pergunta elaborada no nível anterior. Exemplo que dados serão necessários? Quais os formatos? Como coletar (fórmula e processo)? Onde armazenar e como utilizar? Abordagem Esta abordagem começa com uma meta, especificando o propósito da medição, objeto a ser medido, foco e o ponto de vista ao qual a medição será obtida. É necessário dividir o problema em componentes. Inicialmente, divide-se a meta em várias perguntas. Cada pergunta é derivada em métricas objetivas e subjetivas. Abordagem Uma mesma métrica pode ser utilizada para responder perguntas diferentes de uma mesma meta. Metas diferentes podem ter perguntas e métricas em comum. E uma mesma métrica pode ter valores diferentes quando obtida sob pontos de vista diferentes. Abordagem GQM Exemplo de aplicação da Abordagem GQM: Objetivo: Assegurar que todos os defeitos são corrigidos antes do software ser liberado para uso. Perguntas: Quantos defeitos temos atualmente? Qual o status de cada defeito? Qual a cobertura dos testes? Abordagem GQM Exemplo de aplicação da Abordagem GQM: Métricas: Número de defeitos; Número de defeitos porstatus; Número de casos de testes planejados x executados; Número de requisitos testados. Abordagem GQM Exemplo de aplicação da Abordagem GQM: Objetivos da medição Os objetivos da medição são definidos em termos da entidade, propósito, atributos de qualidade, ponto de vista e ambiente (por exemplo, analisar o sistema de software com o propósito de fazer predição da confiabilidade do ponto de vista do cliente. Cada objetivo é refinado em um conjunto de perguntas que representam uma definição operacional do objetivo. Abordagem GQM Exemplo de aplicação da Abordagem GQM: Outros exemplos: • Qual a distribuição de falhas por nível de gravidade? • Para cada pergunta, as métricas relevantes são definidas (por exemplo, número total de falhas e número de falhas gravíssimas). • Cada objetivo é refinado em um conjunto de perguntas que representam uma definição operacional do objetivo. Abordagem GQM Exemplo de aplicação da Abordagem GQM: Embora GQM tenha a sua origem como uma metodologia de medição para o desenvolvimento de software, os conceitos básicos do GQM podem ser usados em qualquer lugar onde métricas eficazes são necessárias para avaliar a satisfação das metas. A abordagem GQM é um paradigma que suporta: • Alinhamento das métricas com as metas técnicas e de negócios da organização; • Melhoria no processo de software; • Gerência dos riscos; • Melhoria da qualidade dos produtos. Práticas eficazes de aplicação GQM • Achar as pessoas certas (todos os níveis de programadores) envolvidas no processo GQM; • Definir objetivos explícitos de medição e expor explicitamente; • Planejar cuidadosamente o programa de medição e documentação (definições operacionais e explícitas); • Não criar falsas metas para medição; • Adquirir modelos de qualidade implícito da equipe; Práticas eficazes de aplicação GQM • Considerar contexto; • Obter métricas adequadas; • Focar nas metas ao analisar dados; • Permitir que os dados sejam interpretados pelas pessoas envolvidas; • Integrar as atividades de medição com as atividades regulares do projeto; Práticas eficazes de aplicação GQM • Não utilizar as métricas para outros fins; • Assegurar o compromisso da gerência em apoiar resultados das medições; • Estabelecer uma infraestrutura para apoiar o programa de medição; • Assegurar que a métrica é encarada como uma ferramenta, não é o objetivo final; • Obter treinamento em GQM antes de ir em frente. Benefícios do GQM • Embora o benefício do GQM seja estabelecer métricas significativas para projetos de software; • O GQM também pode ser aplicado na melhoria do processo sistemático. Processo Sistemático Finalidades: • Compreender e nivelar as práticas de software na organização; • Orientação e acompanhamento dos processos de software; • Aferir novas tecnologias de engenharia de software; • Avaliar e certificar melhorias nas atividades; • Conquista da melhoria dos objetivos; Processo Sistemático Finalidades: • Ganhos financeiros; • Aumento da capacidade para realizar iniciativas de melhoria; • Melhoria da sinergia do grupo; • O aumento da consciência da qualidade e envolvimento com garantia de qualidade (QA). Benefícios do GQM O GQM começa por identificar metas (nível conceitual) que estejam alinhadas com os objetivos de negócio. A equipe (gerentes de projeto, equipe de desenvolvimento, os clientes, ou outras partes interessadas), em seguida, elaboram questões (nível operacional) para clarificar ainda mais e aperfeiçoar os objetivos, bem como captar as variações de compreensão dos objetivos que existe entre as partes com relação às suas noções de qualidade e meio ambiente, que poderá ser impactado com o alcance do objetivo. Benefícios do GQM A seguir, a equipe identifica as métricas que fornecerão respostas para as perguntas (nível quantitativo). O que distingueGQM de outros paradigmas de medição é a estrutura hierárquica em árvore utilizada para manter as relações entre os objetivos, questões e métricas. O GQM considera relevante o planejamento de coleta de dados e o planejamento de como os resultados da medição devem ser organizados e otimizados. Quando há falhas, a principal causa é atribuída à forma como os resultados das medições será utilizada. Implementação GQM pode ser aplicado em nível estratégico de uma organização ou em nível de projetos ou a ambos os níveis simultaneamente. Quando aplicado em nível estratégico, a mensuração dos dados se dá a partir dos resultados de projetos piloto orientados a fornecer feedback ao nível estratégico para a tomada de decisões relacionadas a produtos e processos. As organizações utilizam uma abordagem gradual para a execução GQM com o planejamento de projetos e atividades de gestão. Fase de planejamento A fase de planejamento define como o GQM será definido e executado pelo pessoal envolvido. O planejamento prevê a documentação, que serve como entrada para outras fases do GQM: • Plano de GQM • Plano de Medição • Plano de Análise Plano de GQM Plano de GQM: A fase de definição consiste em identificar medição metas, colocar questões e identificar métricas adequadas. O plano de GQM é um documento que contém cada medição meta e sua correspondente repartição em perguntas e métricas, preservando assim as relações de metas para questões de métricas. Este documento fornece a fundação para progredir através das outras fases do GQM, apenas como um documento de requisitos que fornece a base para as atividades de desenvolvimento. Plano de Medição Plano de Medição: Define as métricas necessárias e o modo de coleta de dados: como os dados são coletados, por quem e quando. O Plano de Medição inclui a descrição dos meios de comunicação necessários para registro e validação dos dados. Plano de Análise Plano de Análise: Define a forma de analisar, agregar e apresentar os dados recolhidos. Estabelece o palco para a devida interpretação: a visão do Gestor do Projeto é diferente do Vice-Presidente, por exemplo. O plano de análise fornece orientações sobre a forma como a informação precisa ser organizada e recuperada para facilitar a sua utilização e garantir que o foco permaneça sobre os objetivos. Plano de Análise O ponto importante é que o planejamento para a análise e interpretação deve ser feito antes da coleta de dados de modo que seja claramente vinculado aos objetivos. O plano de Análise define o nível adequado de captação para a apresentação dos dados. Plano de Análise Plano de Análise Fase de Coleta de Dados A fase de coleta de dados inclui a medição de acordo com o Plano de Medição e prepara para análise em conformidade com o Plano de Análise. Durante a coleta dos dados, os mesmos devem ser validados, atualizados e precisos. Uma vez validados, os dados podem ser apresentados para interpretação. A atividade principal desta fase é armazenar os dados de forma que facilite o acesso. Plano de Análise Fase de Interpretação Após a coleta, os dados são validados e encaminhados para a análise. É feita a interpretação dos dados baseada nas questões e metas definidas. Alguns questionamentos surgem: • Os resultados das medições respondem às questões colocadas? • O objetivo foi atingido? Na fase da interpretação, são tomadas decisões sobre a continuidade do processo, as lições aprendidas e uso futuro. Etapas do GQM GQM é dividido em seis etapas, veja: Desenvolver um conjunto de metas organizacionais e metas de medições para aumentar a produtividade e a qualidade do software. Para realizar a medição, cada meta GQM deve conter: • Objeto: O processo ou estudo. Por exemplo, um subsistema do produto final; • Finalidade: Motivação por trás da meta (por quê?). Por exemplo, uma melhor compreensão, melhor orientação, controle, previsão e melhoria. Etapas do GQM • Foco: A qualidade do objeto em estudo (o quê?). Por exemplo: custo, exatidão. • Viewpoint: Perspectivas da meta (de quem?). Por exemplo, gestor do projeto, programador, cliente. Etapas do GQM Gerar perguntas baseadas em modelos que definem os objetivos em uma forma quantitativa. Esclarecer e aperfeiçoar a medição de metas, que se deslocam de um nível conceitual para um nível operacional. As perguntas ajudam a identificar interpretações da meta entre as partes interessadas. Etapas do GQM Especificar as medidas necessárias para se obter as respostas e acompanhar os processos e produtos em conformidade com os objetivos. Nesse passo, é examinada a forma como as questões poderiam ser respondidas, que se deslocam a partir do nível operacional para um nível quantitativo. Uma vez que os objetivos são refinados em uma lista de perguntas, devem ser definidas métricas que forneçam todas as informações quantitativas para responder às perguntas de forma satisfatória. Etapas do GQM Desenvolver mecanismos para a coleta de dados. Uma vez que as métricas são identificadas, é possível determinar para quais dados os itens são necessários para apoiar as métricas, e como esses itens serão recolhidos. Os dados devem ser organizados de forma significativa para o destinatário da informação. Etapas do GQM A maioria dos projetos deve ter um plano de medição que inclui: • Definições formais de medidas diretas; • Descrições textuais de medidas diretas; • Todos os possíveis resultados das medições diretas; • A pessoa que recolhe cada medição direta; • O momento, tempo ou frequência quando a medição direta deve ser feita; • O meio, instrumento ou forma que devem ser utilizados para a medição. Etapas do GQM Coletar, validar e analisar o dado em tempo real para prover retorno ao projeto para ação corretiva. Os dados devem ser validados antes de serem utilizados para análise. Automatizar pode ajudar, mas não pode substituir todas as formas de coleta de dados e de validação. O ideal é minimizar a sobrecarga imposta às pessoas que são obrigadas a fornecer os dados, garantindo, ao mesmo tempo, que compreendam o significado do esforço de coleta de dados. Validação consiste em verificar os dados recolhidos para exatidão, perfeição e coerência. Etapas do GQM Analisar o dado para avaliar a conformidade com as metas e formular recomendações para melhorias futuras. O último passo no processo GQM é olhar para os resultados de medição e avaliá-los, identificar as lições aprendidas que podem ser úteis aos futuros projetos. Quando o GQM é implementado para apoiar a melhoria em uma organização, as experiências e lições aprendidas com cada implementação são condicionadas sob forma de políticas, procedimentos e práticas melhores, para apoiar futuras iniciativas e projetos, e a melhoria da organização, para ajudar a alcançar uma maior alavancagem do negócio. Desvantagens do GQM Você acompanhou o significa, objetivo e as vantagens do GQM. Veja, agora, suas desvantagens e esteja sempre atento a esses pontos: • As métricas não são definidas no nível de detalhes necessários para garantir confiabilidade; • Não é explicitado se as métricas podem ou não ser repetidas, ou seja, se a medição de um atributo for repetida por uma pessoa diferente, o mesmo resultado deve ser obtido; Desvantagens do GQM • Há uma necessidade de se estabelecer um padrão que permita expressar uma métrica com detalhes suficientes para torná-la não ambígua e que, ao mesmo tempo, seja de fácil especificação; • Necessário que as métricas sejam categorizadas por tamanho, esforço e planejamento, qualidade, desempenho, confiabilidade e complexidade. Desvantagens do GQM Não se preocupa com os problemas relacionados com a medição em si, como: • Viabilidade; • Economicidade; • Quais os benefícios esperados; • Quanto custa medir, armazenar e processar; • Corretude do modelo de medição; • Confiabilidade dos modelos estatísticos;• Técnicas de medição; • Escalas das medidas; • Responsabilidade. Refinamento das metas A partir deste conceito, vamos compreender o impacto sobre a qualidade da execução. Para medir essa meta, devemos: • Analisar o produto final (Objeto); • Para compreender melhor (Propósito); • O impacto sobre a qualidade da execução (Foco); • Sobre o reforço do processo (Ambiente); • Do ponto de vista da equipe do projeto (Ponto de vista). Link Exemplo prático https://sites.google.com/site/aplicacaogqmsigaedu/home Exercícios de fixação Questão 1 A medição é importante no processo de gerenciamento da qualidade de software. O primeiro passo é estabelecer uma política de mensuração. Para isso, devemos: a) Aplicar o plano de teste b) Identificar a adequação das medidas a serem coletadas c) Aplicar a linha base de custos d) Encontrar as pessoas certas e) Implantar o processo de melhoria contínua Exercícios de fixação Questão 2 O Goal/Question/Metric define métricas do processo de software que são usadas para acompanhar os riscos, possibilitando a tomada de decisões para ações corretivas. O GQM foi apresentado por Victor Basili, em conjunto com o: a) Governo Britânico b) Laboratório de Software da NASA c) Softex d) Governo americano e) PMI Exercícios de fixação Questão 3 O modelo GQM é composto por três níveis: a) Estratégico - Tático - Operacional b) Iniciante - Gerenciado - Otimizado c) Requisito - Desenvolvimento - Implantação d) Conceitual - Operacional - Quantitativo e) Qualitativo - Subjetivo - Lógico Questão 4 A abordagem GQM é um paradigma que suporta: (Assinale a INCORRETA) f) Alinhamento das métricas com as metas técnicas e de negócios da organização g) Melhoria no processo de software h) Gerencia os riscos i) Gerencia melhor as aquisições j) Melhoria da qualidade dos produtos Questão 5 Algumas práticas são eficazes na aplicação do GQM: (assinale a CORRETA) a) Achar as pessoas certas (todos os níveis de programadores) envolvidas no processo GQM. b) Achar as pessoas certas (todos os níveis de programadores) envolvidas no processo GQM. c) Assegurar que a métrica seja encarada como uma ferramenta. d) Planejar cuidadosamente o programa de medição e documentação (definições operacionais e explícitas). e) Não criar falsas metas para medição. Questão 6 O que distingue GQM de outros paradigmas de medição é: a) Mede com consistência e precisão. b) A estrutura hierárquica em árvore utilizada para manter as relações entre os objetivos, questões e métricas. c) Cada operador repete o processo duas vezes, obtendo um total de 36 medições. d) Os técnicos coletam amostras aleatórias em todas as principais fontes de variação do processo. e) Os técnicos codificam os módulos para identificar as medições feitas em cada módulo. Questão 7 O GQM considera irrelevantes o planejamento de coleta de dados e o planejamento de como os resultados da medição devem ser organizados e otimizados. f) Verdadeiro g) Falso Questão 8 Dentre as desvantagens do GQM podemos citar: I. As métricas não são definidas no nível de detalhes necessário para garantir confiabilidade. II.Não é explicitado se as métricas podem ou não ser repetidas, ou seja, se a medição de um atributo for repetida por uma pessoa diferente, o mesmo resultado deve ser obtido. III.Há uma necessidade de estabelecer um padrão que permita expressar uma métrica com detalhes suficientes para torná-la não ambígua e que ao mesmo tempo seja de fácil especificação. IV.Necessário que as métricas sejam categorizadas por tamanho, esforço e planejamento, qualidade, desempenho, confiabilidade e complexidade. a) Apenas I, III b) Apenas II, III c) Todas d) Apenas I, III, IV e) Apenas I, IV Questão 9 A fase de planejamento define como o GQM será definido e executado pelo pessoal envolvido. O planejamento prevê a documentação que serve como entrada para outras fases do GQM: I.Plano de GQM: A fase de definição consiste em identificar medição metas, colocar questões e identificar métricas adequadas. II.O Plano de GQM é um documento que contém cada medição meta e sua correspondente repartição em perguntas e métricas, preservando assim as relações de metas para questões de métricas. III.O Plano de GQM fornece a fundação para progredir através das outras fases do GQM, apenas como um documento de conclusão do software. a) Apenas I b) Apenas II c) Apenas II e III d) Apenas I e II e) Apenas I e III Questão 10 Uma das etapas do GQM é desenvolver um conjunto de metas para aumentar a produtividade e a qualidade do software. Para realizar a medição, cada meta GQM deve conter: I. Objeto: O processo ou estudo. Por exemplo, um subsistema do produto final; II.Finalidade: Motivação por trás da meta (por quê?). Por exemplo, uma melhor compreensão, melhor orientação, controle, previsão e melhoria; III.Foco: A qualidade do objeto em estudo (o quê?). Por exemplo: custo, exatidão; IV.Viewpoint: Perspectivas da meta (de quem?). Por exemplo, gestor do projeto, programador, cliente. a) Apenas I, II b) Todas c) Apenas II, III d) Apenas I, III, IV e) Apenas I, IV Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35 Slide 36 Slide 37 Slide 38 Slide 39 Slide 40 Slide 41 Slide 42 Slide 43 Slide 44 Slide 45 Slide 46 Slide 47 Slide 48 Slide 49 Slide 50 Slide 51 Slide 52 Slide 53 Slide 54 Slide 55