1 / 45

Medição de Software

Medição de Software. Aluno: Felipe Barbalho felipebarbalho@gmail.com Professores: Alexandre Vasconcelos e Cristine Gusmão. Agenda. Visão Geral sobre Medição Medição e Modelos de Qualidade de Software Boas práticas na implantação de Programas de Medição nas organizações. Objetivos.

prewitt
Download Presentation

Medição de Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Medição de Software Aluno: Felipe Barbalho felipebarbalho@gmail.com Professores: Alexandre Vasconcelos e Cristine Gusmão

  2. Agenda • Visão Geral sobre Medição • Medição e Modelos de Qualidade de Software • Boas práticas na implantação de Programas de Medição nas organizações

  3. Objetivos • Entender as abordagens principais de métricas e como elas são utilizadas • Entender porque medição é importante para avaliação e garantia da qualidade de software • Entender algumas boas práticas na implantação de Programas de Medição nas organizações

  4. Visão Geral sobre Medição

  5. Motivação • Aumentar a qualidade, performance e produtividade é o objetivo chave de qualquer organização que desenvolve software, e o uso de métricas está diretamente ligado ao controle desses processos • Pesquisas realizadas em empresas de software indicam que mais da metade de grandes projetos de software se deparam com algum tipo de atraso, excesso de custo ou prazo ou algum fracasso na execução quando implantado . • Falta de controle dos projetos de software.

  6. Por que medir software? • Entender e aperfeiçoar o processo de desenvolvimento • Melhorar a gerência de projetos e o relacionamento com clientes • Reduzir frustrações e pressões de cronograma • Gerenciar contratos de software • Indicar a qualidade de um produto de software • Avaliar a produtividade do processo • Avaliar os benefícios (em termos de produtividade e qualidade) de novos métodos e ferramentas de engenharia de software • Avaliar retorno de investimento

  7. Por que medir software? • Identificar as melhores práticas de desenvolvimento de software • Embasar solicitações de novas ferramentas e treinamento • Avaliar o impacto da variação de um ou mais atributos do produto ou do processo na qualidade e/ou produtividade • Formar uma baseline para estimativas • Melhorar a exatidão das estimativas • Oferecer dados qualitativos e quantitativos ao gerenciamento de desenvolvimento de software, de forma a realizar melhorias em todo o processo de desenvolvimento de software

  8. Propriedades desejáveis de uma métrica • Facilmente calculada, entendida e testada • Passível de estudos estatísticos • Expressa em alguma unidade • Obtida o mais cedo possível no ciclo de vida do software • Passível de automação • Sugere uma estratégia de melhoria

  9. O que são métricas de software? • Uma métrica é a medição de um atributo (propriedades ou características ) de uma determinada entidade (produto, processo ou recursos). Exemplos: • Tamanho do produto de software (ex: Número de Linhas de código) • Número de pessoas necessárias para implementar um caso de uso • Número de defeitos encontrados por fase de desenvolvimento • Esforço para a realização de uma tarefa • Tempo para a realização de uma tarefa • Custo para a realização de uma tarefa • Grau de satisfação do cliente (ex: adequação do produto ao propósito, conformidade do produto com a especificação)

  10. Conceitos • Medida: fornece uma indicação quantitativa da extenção, quantidade, dimenção, capacidade ou tamanho de algum atributo de um produto ou processo. • Medição: ato de determinação de uma medida. • Métrica: medida quantitativa do grau em que um sistema se encontra em relação a um determinado atributo. • Indicadores: métrica ou combinação de métricas que fornece uma compreensão de um processo, projeto, ou produto.

  11. Categorização de Métricas • Métricas Básicas (Primitivas ou Diretas) • são aquelas que podem ser mensuradas a partir de observação direta dos atributos envolvidos. • Ex.: custo, esforço, no. linhas de código, capacidade de memória, no. páginas, no. diagramas, etc. • Métricas Derivadas (Indiretas) • Medidas obtidas a partir de outras métricas • Ex.: complexidade, eficiência, confiabilidade, facilidade de manutenção

  12. Categorização de Métricas • Métricas orientadas a tamanho • consideram o tamanho do software produzido (linhas de código), e referem-se a todas as atividades da engenharia (análise, projeto, código, teste). • Ex.: Produtividade (KLOC/pesoa-mês ); Qualidade (defeitos/KLOC); Custo ($/KLOC) • Métricas orientadas por função • Consiste em um método para medição de software do ponto de vista do usuário, determinando de forma consistente o tamanho e a complexidade de um software.

  13. Categorização de Métricas • Métricas de produtividade • Concentram-se na saída do processo de engenharia de software. • Ex.: no. de casos de uso/iteração. • Métricas de qualidade • Oferecem uma indicação de quanto o software se adeqüa às exigências implícitas e explícitas do cliente. • Ex.: erros/fase • Métricas técnicas • Concentram-se nas características do software e não no processo por meio do qual o software foi desenvolvido. • Ex.: complexidade lógica e grau de manutenibilidade

  14. Categorização de Métricas • Métricas privadas • Se refere ao escopo da equipe do projeto de software • Ex,: defeitos para funções importantes do software, erros encontrados durante revisões técnicas formais. • Métricas públicas • Geralmente assimilam informações que anteriormente eram privadas de uma equipe. São coletadas e avaliadas tentando descobrir indicadores. • Ex.: proporções de defeitos de projeto, esforço, tempo transcorrido e dados relacionados

  15. Entender Avaliar Prever Controlar Os Quatros papéis de Medição • Segundo Humphrey, são quatro os principais papéis de Medições de Software: Processos, Produtos e Serviços de Software

  16. Os Quatros papéis de Medição • Entender • Métricas ajudam a entender o comportamento e funcionamento de processos, produtos e serviços de software • Avaliar • Métricas podem ser utilizadas para tomar decisões e determinar o estabelecimento de padrões, metas e critérios de aceitação • Controlar • Métricas podem ser utilizadas para controlar processos, produtos e serviços de software • Prever • Métricas podem ser utilizadas para prever valores de atributos

  17. Métodos para Definição de Medidas • O primeiro passo para o estabelecimento de uma política de mensuração é a identificação adequada das medidas a serem coletadas • 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, vários métodos foram propostos, como Balanced Scorecard (BSC), Goal-Question-Metric (GQM), Goal-Driven Software Measurement (GDSM) e Practical Software and System Measurement (PSM)

  18. O Paradigma Goal Question Metrics (GQM) • Usado para definir o conjunto de métricas a ser coletado • Proposto por: • Basili and Rombach’s, Goal-Question-Metrics Paradigm, IEEE Transactions on Software Engineering, 1988. • Baseia-se no fato de que deve existir uma necessidade clara associada a cada métrica

  19. O Paradigma GoalQuestionMetrics (GQM) O modelo é composto por três níveis: • Conceitual (Goal): são definidos os objetivos da organização, ou seja, as metas a serem atingidas pelo programa de medição. Ex: reduzir defeitos, aumentar produtividade, etc. • Operacional (Question): um conjunto de perguntas é elaborado com relação a cada objetivo identificado no nível anterior; Ex: Qual a taxa de defeito atual? Qual a taxa de defeito após a implantação do novo processo? • Quantitativo (Metrics): um conjunto de métricas (objetivas e subjetivas) é estabelecido, de maneira a atender a cada pergunta elaborada no nível anterior. Ex: Que dados serão necessários? Quais os formatos? Como coletar (fórmula e processo)? Onde armazenar e como utilizar?

  20. Goal 2 Goal 1 Questão 3 Questão 1 Questão 4 Questão 2 Métrica 1 Métrica 3 Métrica 4 Métrica 5 Métrica 2 O Paradigma Goal Question Metrics (GQM)

  21. Exemplo do uso do 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? • Métricas: • Número de defeitos • Número de defeitos por status • Número de casos de testes planejados x executados • Número de requisitos testados

  22. Medição e Modelos de Qualidade de Software

  23. Medição e Modelos/Normas de Qualidade de Software • Medição no CMMI • Medição no MPS.BR • Medição na ISO/IEC 15504

  24. Medição no CMMI No CMMI, as práticas e conceitos de medição estão explicitamente apresentados nos seguintes componentes do modelo: • Àrea de processo - Medição e Analise - Nível 2 de maturidade; • Àrea de processo - Desempenho do Processo Organizacional - Nível 4 de maturidade; • Àreas de processo - Gerenciamento Quantitativo do Processo - Nível 4 de maturidade;; • Definição do nível 4 de capacidade.

  25. Àrea de processo - Medição e Analise Propósito: Desenvolver e sustentar a capacidade de medições que é utilizada para apoiar as necessidades de gerenciamento de informações. Objetivo: • Alinhar os objetivos e atividades de medições com as necessidades e objetivos de informações identificados; • Fornecer resultados de medições que endereçam as necessidades e objetivos de informações identificados.

  26. Àrea de processo - Desempenho do Processo Organizacional (OPP) Propósito: Estabelecer e manter um entendimento quantitativo do desempenho do conjunto de processos padrão da organização no apoio aos objetivos de desempenho e qualidade desses processos. Objetivo: Estabelecer baselines e modelos dos processos que caracterizem o desempenho esperado para os processos da organização a fim de permitir o gerenciamento quantitativo dos projetos organizacionais.

  27. Àreas de processo - Gerenciamento Quantitativo do Processo (QPM) Propósito: Gerenciar quantitativamente o processo definido para o projeto a fim de alcançar os objetivos de qualidade e de desempenho dos processos estabelecidos para o projeto. Objetivo: • Gerenciar quantitativamente o projeto utilizando objetivos de desempenho do processo e qualidade; • Gerenciar estatisticamente o desempenho dos sub-processos selecionados do conjunto de processo definido para o projeto; Os objetivos de desempenho e qualidade dos processos, medidas e baselines identificados na área de processo OPP são gerenciados quantitativamente, por essa área de processo, através do Controle Estatístico do Processo.

  28. Definição do nível 4 de capacidade • Decisões são tomadas baseadas em fatos (medições). • Processo institucionalizado como um processo gerenciado quantitativamente. • Neste nível os objetivos quantitativos para a qualidade e o desempenho do processo são estabelecidos e utilizados como critérios para o gerenciamento desse processo.

  29. Definição do nível 4 de capacidade Esses objetivos quantitativos são estabelecidos com base: • Na capacidade do conjunto de processos-padrão da organização; • Nos objetivos de negócio da organização; • Nas necessidades dos clientes, dos usuários finais, da organização e dos responsáveis pela implementação do processo; • Nos recursos disponíveis.

  30. Medição no MPS.BR No MR-MPS e no CMMI as práticas de medição e análise são observadas forma semelhante, uma vez que o MR-MPS é baseado no CMMI. No MR-MPS medição e análise são encontradas nos seguintes pontos: • Processo Medição (MED) - do Nível F; • Evolução do Processo Gerência de Projetos – do Nível B; • Atributo de processo 4.1 - O processo é medido; • Atributo de processo 4.2 - O processo é controlado; • Atributo de Processo 3.2 - O processo está implementado.

  31. Processo Medição (MED) - Nível F • O propósito desse processo é coletar e analisar os dados relativos aos produtos desenvolvidos e aos processos implementados na organização e em seus projetos, de forma a apoiar os objetivos organizacionais. • O que é esperado nesse processo é similar ao que é requerido na área de processo de Medição e Análise do CMMI – Nível 2 de maturidade.

  32. Evolução do Processo Gerência de Projetos – Nível B • A gerência de projetos passa a ter um enfoque quantitativo refletindo a alta maturidade que se espera da organização; • Os objetivos para a qualidade e para o desempenho do processo definido para o projeto são estabelecidos e mantidos, e sub-processos desse processo definido são gerenciados quantitativamente; • Os processos escolhidos serão gerenciados através do Controle Estatístico do Processo e os dados do processo são utilizados para tomada de decisão

  33. No atributo de processo 4.1 - O processo é medido • É exigido a partir do Nível B do MR-MPS; • Tem o objetivo de garantir a existência de um sistema efetivo para coleta de medidas relevantes para o desempenho do processo e a qualidade dos produtos de trabalho

  34. No atributo de processo 4.2 - O processo é controlado • É exigido a partir do Nível B do MR-MPS; • É uma medida do quanto o processo é controlado estatisticamente para produzir um processo estável, capaz e previsível dentro de limites estabelecidos.

  35. Atributo de Processo 3.2 - O processo está implementado • É uma medida do quanto o processo padrão é efetivamente implementado como um processo definido para atingir seus resultados; • O resultado esperado deste atributo requer que dados apropriados sejam coletados e analisados para construir uma base para o entendimento do comportamento do processo, a fim de demonstrar a adequação e a eficácia do processo, e avaliar onde pode ser feita a melhoria contínua do processo.

  36. Medição na ISO/IEC 15504 Na ISO/IEC 15504 a medição e análise pode ser observada explicitamente nos seguintes itens: • Processo de medição (MAN.6) do grupo de Processos de Gerência da Categoria de Processos Organizacionais; • Definição do Nível 4 de capacidade

  37. Processo de Medição (MAN.6) O propósito desse processo é coletar e analisar dados relacionados aos produtos desenvolvidos e processos implementados na organização e seus projetos, para suportar uma gerência efetiva e demonstrar de forma objetiva a qualidade dos produtos.

  38. Nível 4 de Capacidade • No Nível 4 de capacidade o processo estabelecido, descrito previamente, opera dentro de limites definidos para alcançar seus resultados de processo. • Este nível de capacidade atinge seu objetivo através de dois atributos de processo: • PA 4.1: Atributo de Medição de Processo; • PA 4.2: Atributo de Controle de Processo.

  39. Nível 4 de Capacidade • PA 4.1: Atributo de Medição de Processo: mede o escopo, no qual as medidas de produto e processo são usadas para garantir que o desempenho do processo permita a obtenção dos objetivos relevantes do processo de acordo como os objetivos de negócio definidos; • PA 4.2: Atributo de Controle de Processo: mede o escopo no qual o processo é gerenciado quantitativamente para produzir um processo que é estável e capaz, e previsível dentro dos limites determinados.

  40. Boas práticas na implantação de Programas de Medição nas organizações

  41. Boas práticas na implantação de Programas de Medição nas organizações • Necessidade de foco desde os estados iniciais • Começar com um conjunto pequeno de métricas • Utilização de um conjunto de métricas coerentes • Utilização de um conjunto de medições rigorosamente definido • Não utilizar métricas para motivar comportamentos esperados

  42. Boas práticas na implantação de Programas de Medição nas organizações • Automatizar a coleta e reportagem dos dados • Motivar a Gerência • Estabelecer expectativas • Envolvimento de todos desde os estágios iniciais • Educação e treinamento • Ganhar confiança

  43. Boas práticas na implantação de Programas de Medição nas organizações • Adotar uma abordagem evolutiva • Descartar o que não é útil • Fornecer informações corretas para pessoas certas • Incentivar os desenvolvedores a fazer uso das métricas • Compreender que a adoção leva tempo • Má interpretação dos dados

  44. Fatores críticos para implantação de programas de medição • Sobrecarga: envolve a coleta simultânea de muitos dados, o que resulta em esforço desperdiçado e perda da credibilidade do programa de medição. • Uso incorreto da medição: é a utilização dos resultados de medições para avaliação dos profissionais, resultando em perda da integridade dos dados, pois os profissionais tendem a mascarar os dados com medo de que estes sejam utilizados contra eles • Falhas de medição: são a obtenção de medidas erradas, ambíguas e inconsistentes, resultando em análises não conclusivas. • Falhas de processo: são a obtenção de medidas que motivaram as falhas de processo (exemplo: o objetivo de diminuir a taxa de resolução de problemas induz a ação indesejada de que as equipes tratem primeiramente os problemas mais simples).

  45. Dúvidas?

More Related