![Page 1: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/1.jpg)
Memória de Aula 07(2): Desenvolvimento de Sistemas
Introdução a Métrica de Software
Profª Eliane Costa Santana
![Page 2: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/2.jpg)
Referenciais Bibliográficos :
ROGER S. Pressman, Engenharia de Software, editora Makron Books.Métricas de Software.
http://www.internext.com.br/mssa/medidas.html Haufe, Maria Isabel. Produtividade no Desenvolvimento de Software.
http://www.inf.ufgrs.br/pos/SemanaAcademica/Semana99/mariaisabel/mariaisabel.html
Métricas e Estimativas de Software – O inicio de um rally de regularidade. http://www.apinfo.com/artigo44.htm
Profª Eliane Costa Santana
![Page 3: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/3.jpg)
Introdução• Um dos objetivos básicos da Engenharia de
Software e: a transformação da criação de sistemas software de uma maneira artística, indisciplinada e pouco entendível para uma forma devidamente controlada, quantificada e previsível.
Profª Eliane Costa Santana
![Page 4: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/4.jpg)
Introdução• “Métricas de Software” e um assunto discutido ha
mais de 20 anos na engenharia de software ... e no entanto nao e verificada sua utilização, na pratica, pela grande maioria dos projetos de construcao de software
• 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
Profª Eliane Costa Santana
![Page 5: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/5.jpg)
Introdução• “Não se pode gerenciar o que não se pode
medir”. Tom De Marco• “Se você não sabe para onde você quer ir,
qualquer caminho você pode seguir. Se você não sabe onde você esta, um mapa não vai ajudar!”. Roger Pressman
Profª Eliane Costa Santana
![Page 6: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/6.jpg)
O que são métricas de software?• Uma métrica e 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: Numero de Linhas de
código)– Numero de pessoas necessárias para implementar um caso de
uso– Numero 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)Profª Eliane Costa Santana
![Page 7: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/7.jpg)
Por que medir software?• Entender e aperfeiçoar o processo de desenvolvimento• Melhorar a gerencia 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 investimentoProfª Eliane Costa Santana
![Page 8: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/8.jpg)
Por que medir software?• Identificar as melhores praticas 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
Profª Eliane Costa Santana
![Page 9: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/9.jpg)
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• Repetível e independente do observador• Sugere uma estratégia de melhoria
Profª Eliane Costa Santana
![Page 10: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/10.jpg)
Em resumo...• Uma métrica deve ser:
– Valida: quantifica o que queremos medir– Confiável: produz os mesmos resultados dadas as
mesmas condições– Pratica: barata, fácil de computar e fácil de
interpretar
• Dois contextos para medição de software– Processo: ex. produtividade– Produto: ex. qualidade
Profª Eliane Costa Santana
![Page 11: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/11.jpg)
11
Categorização de Métricas
• Métricas diretas (fundamentais ou básicas)– Medida realizada em termos de atributos observados
(usualmente determinada pela contagem)– Ex.: custo, esforço, no. linhas de código, capacidade de
memória, no. páginas, no. diagramas, etc.• Métricas indiretas (derivadas)
– Medidas obtidas a partir de outras métricas– Ex.: complexidade, eficiência, confiabilidade, facilidade de
manutenção
![Page 12: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/12.jpg)
12
Categorização de Métricas
• Métricas orientadas a tamanho– São medidas diretas do tamanho dos artefatos de
software associados ao processo por meio do qual o software é desenvolvido.
– Ex.: esforço, custo, no. KLOC, no. páginas de documentação
• Métricas orientadas por função– 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.
![Page 13: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/13.jpg)
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
![Page 14: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/14.jpg)
14
Categorização de Métricas
• 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
![Page 15: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/15.jpg)
15
Possíveis problemas com métricas
• Ex: Comparar a produtividade de engenheiros em termos de linha de código– Está sendo utilizado a mesma unidade de medida?
• O que é uma linha de código válida?
– O contexto considerado é o mesmo?• Todos os engenheiros são familiarizados com a linguagem de
programação?
– O que se quer realmente é o tamanho do código?• E a qualidade do código?
![Page 16: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/16.jpg)
16
Possíveis problemas com métricas
– Como o resultado será interpretado?• Produtividade média de um engenheiro?
– O que se quer com o resultado?• Comparar a produtividade do processo de software?
![Page 17: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/17.jpg)
17
Teoria da Medição
• Teoria sobre métricas pode ajudar a resolver estes problemas.
![Page 18: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/18.jpg)
18
Relações Empíricas
• Ajudam a observar as relações do tipo verdadeiro/falso entre entidades do mundo real
• Ex. Relações empíricas entre o atributo altura das pessoas– Binária: O Super-homem é mais alto do que papai Noel– Unária: O Super-homem é alto– Ternária: O Super-homem é mais alto do que papai Noel e
mamãe Noel
![Page 19: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/19.jpg)
19
Medição
• É a atribuição de uma medida (através de um símbolo) a um atributo do mundo real
• Propósito: manipular símbolos => determinar conclusões sobre os atributos do domínio
• Para ser precisa, a medição deve especificar– Domínio: Será medido a largura ou altura das pessoas?– Faixa: A medida da altura foi feita em m ou cm?– Regras de mapeamento: Será permitido medir altura
considerando pessoas calçadas?
![Page 20: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/20.jpg)
20
Escala
• Representa os símbolos na faixa de uma medida mais as manipulações permitidas
• Ex. de manipulações:– Mapeamento: transformar símbolos em um conjunto em
outros símbolos em outro conjunto.• {verdadeiro, falso} {1, 0}
![Page 21: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/21.jpg)
21
Os Quatros papéis de Medição
• Segundo Humphrey, são quatro os principais papéis de Medições de Software:
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 22: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/22.jpg)
22
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
![Page 23: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/23.jpg)
23
Os Quatros papéis de Mediçã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
![Page 24: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/24.jpg)
24
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
![Page 25: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/25.jpg)
25
O Paradigma Goal Question Metrics (GQM)
• Inicia-se com a identificação dos interessados na medição.• Com base nos interessados, estabelecem-se os principais
objetivos da medição para a organização, o projeto ou uma tarefa específica. Ex: reduzir defeitos, aumentar produtividade, etc.
![Page 26: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/26.jpg)
26
O Paradigma Goal Question Metrics (GQM)
• A partir dos objetivos, geram-se perguntas cujas respostas dirão se os objetivos foram ou não alcançados (ex: Qual a taxa de defeito atual? Qual a taxa de defeito após a implantação do novo processo?)
• A partir das perguntas, definem-se métricas: que dados serão necessários? Quais os formatos? Como coletar (fórmula e processo)? Onde armazenar e como utilizar?
![Page 27: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/27.jpg)
27
O Paradigma Goal Question Metrics (GQM)
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 28: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/28.jpg)
28
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?
![Page 29: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/29.jpg)
29
Exemplo do uso do GQM
• 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
![Page 30: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/30.jpg)
30
Selecionando Objetivos
• Devem estar associados a um período de tempo– Aumentar a produtividade em 20% no prazo de 12
meses– Facilita o acompanhamento e a tomada de ações
para viabilizar objetivo pois existe um prazo!!!
![Page 31: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/31.jpg)
31
Selecionando Objetivos
• Estudos indicam que objetivos muito complexos e de longo prazo podem causar impacto na motivação – Objetivos menores, a curto prazo, permitem que as
pessoas visualizem o progresso e alcancem sucessos– Com o tempo e com a maturidade da organização, os
objetivos devem se tornar mais complexos e mais desafiadores
![Page 32: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/32.jpg)
32
Selecionando Métricas
• Seja realista e prático
• Considere o processo e o ambiente de desenvolvimento atual– Não selecione métricas em que os dados sejam difíceis de
serem coletados na sua realidade
• Comece com o que for possível
• Utilize a abordagem incremental – Com o tempo, com os benefícios, mais dados estarão
disponíveis...
![Page 33: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/33.jpg)
33
Selecionando Métricas• Objetivo: Aumentar satisfação do cliente
– Que atributos dos nossos produtos e serviços são mais importantes para os nossos clientes?
Aspectos Relevantes de Produto e Serviço para Clientes
0
5
10
15
20
Qualidade Custo Prazo Visibilidade doProgresso
Flexbilidade p/mudanças
Aspectos Relevantes Para os Clientes
Clie
nte
s q
ue
Co
nsi
der
am o
Asp
ecto
# Clientes
![Page 34: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/34.jpg)
34
O processo de medição
• É um processo cíclico que envolve:– Planejar– Medir– Analisar os dados– Tomar decisões baseadas na análise– Implementar as decisões– Voltar a planejar e medir
![Page 35: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/35.jpg)
35
Princípios de um Processo de Medição
• Um processo de medição deve:– Fornecer uma base para melhoria contínua do
processo– Quantificar a qualidade e produtividade– Estar integrado com o ciclo de vida de
desenvolvimento– Medir o impacto de vários métodos, ferramentas,
e técnicas de melhorias
![Page 36: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/36.jpg)
36
Princípios de um Processo de Medição
• Medições devem ser usadas para medir processos, não pessoas
• O processo de medição deve ter objetivos claros e bem-definidos
• O processo de medição deve ser fortemente acoplado com o processo de gerência da qualidade e integrado dentro de planos e orçamentos
![Page 37: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/37.jpg)
37
Princípios de um Processo de Medição
• O processo de coleta de dados deve ser simples, e ferramentas automáticas para extração de dados devem ser usadas
• O processo de medição é contínuo e sujeito a melhoria
![Page 38: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/38.jpg)
38
Características de um programa efetivo de medição
• Escolha um conjunto adequado de métricas• Relacione as métricas ao processo de tomada de decisão
(suportado pela alta administração)• Avalie processos e não pessoas (explique os objetivos da
medição)• Não use as métricas para punir• Envolva várias pessoas na seleção e formulação das métricas• Estabeleça alta prioridade (recursos, ferramentas, etc.)
![Page 39: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/39.jpg)
39
Características de um programa efetivo de medição
• Integre o programa ao desenvolvimento de software• Alinhe aos objetivos de negócio• Padronize e documente• Compartilhe as métricas obtidas• Institucionalize como parte da cultura da organização• Integre com o programa de melhorias (ilustre o progresso e
as melhorias obtidos a partir do programa)• Ofereça planos de ação
![Page 40: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/40.jpg)
40
Plano de Métricas
• Para cada objetivo técnico o plano contém informação sobre:– POR QUE as métricas satisfazem o objetivo– QUAIS métricas serão coletadas, como elas serão definidas, e
como serão analisadas– QUEM fará a coleta, quem fará a análise, e quem verá os
resultados– COMO será feito: que ferramentas, técnicas e práticas serão
usadas para apoiar a coleta e análise das métricas– QUANDO no processo e com que freqüência as métricas serão
coletadas e analisadas– ONDE os dados serão armazenados
![Page 41: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/41.jpg)
41
Especificando as Medições – Definições Operacionais
Definir e documentar para cada métrica :• Objetivos• Público alvo da métrica
– Quem precisa da informação?– Quem irá usar as informações fornecidas pela métrica?– Uma métrica útil sempre tem um cliente
![Page 42: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/42.jpg)
42
Características de um programa efetivo de medição
• Procedimento de coleta e armazenamento– Quando coletar? Periodicamente ou por eventos? – Quem é o responsável por coletar e armazenar? – Onde armazenar? Quando armazenar ? – Como coletar o dado? A partir de que ferramentas e
produtos de trabalho do projeto / organização?– Avaliar métricas que podem acarretar em muito
esforço e pouco valor– Buscar automatizar a coleta dos dados (Ferramentas
para controle de tempo, helpdesk, controle de versão, gestão de requisitos)
![Page 43: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/43.jpg)
43
Especificando as Medições – Definições Operacionais
• Procedimentos de Análise– Necessários para
• Entendimento da métrica• Avaliação (critério para tomada de decisão)
– Seleção dos métodos e ferramentas de análise:• Como a métrica será visualmente apresentada?• Gráficos de barras, linhas, colunas, pizza, histogramas,
tabelas...
![Page 44: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/44.jpg)
44
Especificando as Medições – Definições Operacionais
– A equipe de desenvolvimento deve ser envolvida sempre que necessário
– Para métricas de controle:• Estabelecimento de limites de controle• Padrões ou requisitos de mercado de performance
– Média de mercado para custo da baixa qualidade = 4%
» Temos que correr atrás dessa meta!!!
![Page 45: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/45.jpg)
45
Após todo o planejamento...
Executar as atividades com base no planejamento realizado
Utilizar o plano de medição como base!!
Tomar ações com base nos resultados
Acompanhar os itens de ação
Comunicar os resultados ao público alvo de cada métrica
Ajustar o processo com melhorias a partir dos resultados de sua execução:
Inicialmente vai ser difícil definir todos esses procedimentos da melhor forma
Eles devem ser melhorados a medida em que o processo é executado
Novos objetivos e métricas surgem...
Melhores forma de coleta são identificadas
As orientações para realização da análise vão sendo refinadas a medida
que conhecemos melhor os dados
![Page 46: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/46.jpg)
46
Após todo o planejamento...
• Armazenar os resultados– Tanto os dados, como os resultados, as ações
tomadas, tudo que for relevante – Toda informação que contextualize a métrica ou
que forneça alguma informação adicional
Dados históricos não são Dados históricos não são apenas númerosapenas números
![Page 47: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/47.jpg)
47
Cuidado com...
• Elaborar um política de controle de acesso – Apenas pessoas autorizadas devem ter acesso a certos
tipos de dados
• Evitar o uso indevido dos dados– Avaliação de pessoas– Comparação entre projetos, grupos ou áreas da empresa
de forma indevida– Publicação de informações que foram fornecidas de forma
confidencial
![Page 48: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/48.jpg)
48
A Década de 70: Medição do Código Fonte
• Caracterizada por – Métricas para código fonte propostas por
Halstead (ex: número de operadores distintos, número de operandos distintos, etc.)
– Métricas de Complexidade Ciclomática de McCabe• Medida do número de caminhos linearmente
independentes num módulo
![Page 49: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/49.jpg)
49
A Década de 70: Medição do Código Fonte
• Influenciada por: – Aceitação crescente da programação estruturada– Primeiras noções de complexidade cognitiva
![Page 50: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/50.jpg)
50
A Década de 80: Medição no início do ciclo de vida
• Estimativas de medição: esforço e custo• Medidas na etapa de projeto• Medidas na etapa de especificação
![Page 51: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/51.jpg)
51
A Década de 90: Um perspectiva mais ampla
• Surgimento de relatórios sobre programas de métricas aplicados em empresas
• Benchmarking
• Impacto do modelo CMM
• Surgimento de ferramentas para medição
• Surgimento de uma teoria de medição como um framework unificado
• Surgimento de padrões internacionais de medição de software (ex: Análise de pontos de função)
![Page 52: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/52.jpg)
52
Tendências: procura por métricas mais específicas
• Medidas que: – capturem a complexidade cognitiva– capturem a complexidade estrutural– capturem a complexidade funcional – sejam independentes de linguagem– possam ser extraídas nas etapas iniciais do ciclo de vida
![Page 53: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/53.jpg)
53
ISBSG
• International Software Benchmarking Standards Group– Organização sem fins lucrativos
– Mantém um banco de dados de métricas de projetos de software para auxiliar na melhoria gerência de recursos de TI
![Page 54: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/54.jpg)
54
Métricas de Software: Resumo
• As atividades de medição devem ser guiadas por objetivos
• Plano de Métricas detalham como criar programas de medição para atender a objetivos técnicos específicos
• Tendências recentes: evolução de métricas ou modelos específicos para amplos programas organizacionais de métricas
![Page 55: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/55.jpg)
55
Principais Barreiras
Falta de comprometimento da alta gerênciaFalta de comprometimento da alta gerência
Medir custa caroMedir custa caro
Os maiores benefícios vêm a longo prazoOs maiores benefícios vêm a longo prazo
Má utilização das métricasMá utilização das métricas
Grande mudança cultural necessáriaGrande mudança cultural necessária
Dificuldade de estabelecer medições apropriadas e úteisDificuldade de estabelecer medições apropriadas e úteis
Interpretações dos dados realizadas de forma incorretaInterpretações dos dados realizadas de forma incorreta
Obter o comprometimento de todos os envolvidos e impactadosObter o comprometimento de todos os envolvidos e impactados
Estabelecer um programa de medições é fácil, o difícil é manter!!Estabelecer um programa de medições é fácil, o difícil é manter!!
![Page 56: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/56.jpg)
56
Mas podemos contornar ...
Foco desde os estágios iniciais da melhoria de processo
Medição faz parte do TODO
Começar Pequeno
Selecionar um conjunto coerente
É importante definir cada detalhe da métrica
Descartar o que não estiver sendo útil
Fornecer as informações corretas, para as pessoas certas
“Agregar valor”, ao invés de gerar apenas dados
![Page 57: Memória de Aula 07(2): Desenvolvimento de Sistemas Introdução a Métrica de Software](https://reader035.vdocuments.com.br/reader035/viewer/2022062304/56813d62550346895da73592/html5/thumbnails/57.jpg)
57
Mas podemos contornar ...
Incentivar a equipe de desenvolvimento a fazer uso das métricas
Envolvimento de todos os impactados
Estabelecer as expectativas
Educação e Treinamento
Ganhar Confiança
Adotar uma Abordagem Evolucionária
Compreender que a Adoção leva Tempo