Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

41
Métricas de Software como Métricas de Software como Ferramenta de Apoio ao Ferramenta de Apoio ao Gerenciamento de Projetos Gerenciamento de Projetos 1 Aluno: Felipe Barbalho [email protected] Professores: Alexandre Vasconcelos e Cristine Gusmão

description

Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos. Aluno: Felipe Barbalho [email protected] Professores: Alexandre Vasconcelos e Cristine Gusmão. Agenda.  O que são Métricas de Software Visão Geral de Gerenciamento de Projetos - PowerPoint PPT Presentation

Transcript of Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

Page 1: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

Métricas de Software como Métricas de Software como Ferramenta de Apoio ao Ferramenta de Apoio ao Gerenciamento de ProjetosGerenciamento de Projetos

1

Aluno: Felipe Barbalho

[email protected]

Professores: Alexandre Vasconcelos e Cristine Gusmão

Page 2: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

AgendaAgenda O que são Métricas de Software

Visão Geral de Gerenciamento de Projetos

 Métricas no Gerenciamento de Projetos de Software

 Implantação de Programas de Medição

2

Page 3: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

ObjetivosObjetivos

Entender as abordagens principais de métricas e como elas são utilizadas;

Entender as premissas básicas sobre Gerenciamento de Projetos;

Entender como as métricas de software podem contribuir para um melhor controle dos projetos;

Entender algumas boas práticas na implantação de Programas de Medição nas organizações.

3

Page 4: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

MotivaçãoMotivação

4

• 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.

•Métricas de diferentes aspectos do desenvolvimento podem ajudar a determinar o progresso do projeto, e podem ser usadas no gerenciamento para prover base para tomada de decisão

Page 5: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

O que são Métricas de Software

5

Page 6: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

Por que medir software?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

6

Page 7: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

Por que medir software?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

7

Page 8: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

O que são métricas de O que são métricas de software?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)

8

Page 9: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

ConceitosConceitosMedida: 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.

9

Page 10: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

Categorização de MétricasCategorização de MétricasMé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ção10

Page 11: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

Categorização de MétricasCategorização de MétricasMé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.

11

Page 12: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

Categorização de MétricasCategorização de MétricasMé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

12

Page 13: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

Categorização de MétricasCategorização de MétricasMé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

13

Page 14: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

Os Quatros papéis de Os Quatros papéis de MediçãoMedição

Segundo Humphrey, são quatro os principais papéis de Medições de Software:

14

Processos, Processos, Produtos e Produtos e Serviços de Serviços de

SoftwareSoftware

Processos, Processos, Produtos e Produtos e Serviços de Serviços de

SoftwareSoftware

EntenderEntender

AvaliarAvaliar PreverPrever

ControlarControlar

Page 15: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

Os Quatros papéis de Os Quatros papéis de MediçãoMediçã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

15

Page 16: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

Métodos para Definição Métodos para Definição de Medidas 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)

16

Page 17: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

O Paradigma Goal Question O Paradigma Goal Question Metrics (GQM)Metrics (GQM)Usado para definir o conjunto de

métricas a ser coletadoProposto 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

17

Page 18: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

O Paradigma Goal Question O Paradigma Goal Question Metrics (GQM)Metrics (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?

18

Page 19: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

O Paradigma Goal Question O Paradigma Goal Question Metrics (GQM)Metrics (GQM)

19

Goal 1Goal 1 Goal 2Goal 2

Questão 1Questão 1 Questão 2Questão 2 Questão 3Questão 3 Questão 4Questão 4

Métrica 1 Métrica 1 Métrica 2Métrica 2 Métrica 3Métrica 3 Métrica 4Métrica 4 Métrica 5Métrica 5

Page 20: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

Exemplo do uso do GQMExemplo do uso do GQMObjetivo: 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

20

Page 21: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

Visão Geral de Gerenciamento de

Projetos

21

Page 22: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

DEFINIÇÃO DE PROJETOSDEFINIÇÃO DE PROJETOS

• Temporário (início e fim)

• Para produzir produtos ou serviços únicos

• Com elaboração progressiva

• Limitado pelos critérios de tempo, custo, qualidade e recursos.

22

Page 23: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

O QUE É GERENCIAMENTO O QUE É GERENCIAMENTO DE DE PROJETOS PROJETOS

É o conjunto de habilidades, ferramentas é técnicas para o planejamento, execução e controle de projetos.

23

Page 24: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

GRUPOS DE PROCESSOSGRUPOS DE PROCESSOSPara realizarmos um projeto é necessário executar uma série de processos divididos em áreas de conhecimento específicas. O foco do gerenciamento de projetos é a integração das áreas de conhecimento nos cinco grupos de processos definidos no PMBoK. Os cinco grupos de processo são:

Processos de Iniciação Processos de Planejamento Processos de Execução Processos de Controle Processos de Encerramento

24

Page 25: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

ÁREAS DE CONHECIMENTO DE ÁREAS DE CONHECIMENTO DE GERENCIAMENTO DE PROJETOS GERENCIAMENTO DE PROJETOS

Segundo o PMBoK, podemos separar o conhecimento em gerenciamento de projetos em nove áreas distintas:

25

Page 26: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

TRIPLA RESTRIÇÃO DE UM PROJETO

A visão de um projeto bem gerenciado consiste em ter seus objetivos alcançados, distribuindo o produto com alta qualidade, no tempo previsto e com o preço justo

Page 27: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

Métricas no Gerenciamento de

Projetos de Software

27

Page 28: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

DefiniçõesDefiniçõesAs métricas são ferramentas essenciais ao gerenciamento de projeto de software. A escolha das métricas está intimamente associada às estratégias e objetivos da organização, e vai depender do estágio de maturidade em que a mesma se encontra;

As métricas coletadas devem prover informações que ajudem o gerente de projeto na tomada de decisões de acordo com os objetivos e estratégias da organização.

Um gerente de projeto deve acompanhar o progresso do projeto, prover visibilidade do projeto para revisões e tomadas de decisões quando o projeto estiver sofrendo desvios do planejamento, e assegurar o sucesso do projeto e a satisfação do cliente. Dessa forma as métricas tornam-se ferramentas fundamentais para o gerenciamento de projetos de software.

28

Page 29: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

Objetivos das Métricas no Objetivos das Métricas no Gerenciamento de ProjetosGerenciamento de Projetos

Melhorar a qualidade do planejamento do projeto;

Reduzir os custos de retrabalho no processo;Melhorar a qualidade do processo de

desenvolvimento;Melhorar a qualidade do produto resultante; Reduzir os custos de falha;Aumentar a produtividade do

desenvolvimento;Aperfeiçoar continuamente os métodos de

gestão do projeto.29

Page 30: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

Características para Apoio Características para Apoio ao Gerenciamento de ao Gerenciamento de ProjetosProjetos

Métricas devem ser bem definidas.Métricas devem ser intuitivas e

rastreáveisMétricas devem ser dimensionáveis ou

expressas em alguma unidade.Métricas devem ser robustas, ou seja,

devem ser precisas e relativamente insensíveis a pequenas mudanças em ferramentas, métodos ou características do produto.

30

Page 31: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

Características para Apoio Características para Apoio ao Gerenciamento de ao Gerenciamento de ProjetosProjetosMétricas devem ser obtidas o mais

cedo possível no ciclo de vida do sistema.

Métricas devem ser facilmente calculadas.

Métricas devem sugerir uma estratégia de melhoria.

Métricas devem ser simples.

31

Page 32: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

Atividades DesempenhadasAtividades Desempenhadas Em se tratando de métricas de software, é necessário definir algumas regras comportamentais para evitar má interpretação e falta de clareza nas métricas coletadas.

Muitas das métricas de software coletadas são resultado das atividades desempenhadas pelos desenvolvedores de software e coletadas por eles próprios. Dessa forma, é preciso construir uma atmosfera confiável, que respeite as habilidades de cada pessoa para se medir e identificar as mudanças necessárias ao processo.

32

Page 33: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

Atividades DesempenhadasAtividades DesempenhadasOrganização:

◦ Não permitir que métricas sejam utilizadas para medir individualmente as pessoas.

◦ Definir objetivos claros para as métricas e envolver seu staff na definição das métricas.

◦ Não enfatizar uma métrica, excluindo outras.

33

Page 34: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

Atividades DesempenhadasAtividades Desempenhadas Gerente de Projeto:

◦ Alcançar a concordância de toda equipe quanto as métricas a serem acompanhadas, e definir essas métricas em um plano de projeto.

◦ Fornecer feedback regularmente à equipe sobre os dados que eles estão coletando.

◦ Conhecer o foco estratégico da organização e, nos relatórios de métricos, enfatizar as métricas que suportam essa estratégia.

34

Page 35: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

Atividades DesempenhadasAtividades Desempenhadas Equipe Técnica:

◦ Procurar reportar os dados o mais apurado possível e nos períodos acordados.

◦ Ajudar o gerente a focar nos dados do projeto que irão levar a melhoria do processo.

◦ Não utilizar os dados levantados em benefício próprio.

35

Page 36: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

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

36

Page 37: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

Boas práticas na implantação de Boas práticas na implantação de Programas de Medição nas Programas de Medição nas organizaçõesorganizaçõ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

37

Page 38: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

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

Automatizar a coleta e reportagem dos dados

Motivar a GerênciaEstabelecer expectativasEnvolvimento de todos desde os

estágios iniciaisEducação e treinamentoGanhar confiança

38

Page 39: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

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

Adotar uma abordagem evolutivaDescartar o que não é útilFornecer informações corretas para

pessoas certasIncentivar os desenvolvedores a fazer

uso das métricasCompreender que a adoção leva

tempoMá interpretação dos dados

39

Page 40: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

Fatores críticos para implantação Fatores críticos para implantação de programas de mediçãode 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).

40

Page 41: Métricas de Software como Ferramenta de Apoio ao Gerenciamento de Projetos

Dúvidas?

41