Sei sulla pagina 1di 46

MTRICAS QUALIDADE DE SOFTWARE

Sabrina de F. Souto

Agenda
2

Conceitos
Mtricas

Caractersticas desejveis para mtricas










Tipos de Mtricas
Possveis problemas com mtricas
Teoria da Medio
Papis da Medio
Abordagem GQM
Processo de Medio
Plano de Mtricas
Concluso

Motivao
3

No se pode gerenciar o que no se pode medir


[Tom De Marco]

Se voc no sabe para onde voc quer ir, qualquer


caminho voc pode seguir. Se voc no sabe onde
voc est, um mapa no vai ajudar!
[Roger Pressman]

Conceitos
4

Forma padro de medir um atributo do processo de


desenvolvimento de software [Boehm, 1981]
Uma medida quantitativa do grau que um sistema,
componente, ou processo possui de um determinado
atributo [IEEE Std 610.12-1990]

O que so mtricas de software?


5

Uma mtrica a medio de um atributo (propriedades


ou caractersticas ) de uma determinada entidade
(produto, processo, recurso ...)
Exemplos:
Tamanho do produto de software (ex: Nmero de Linhas de
cdigo)
 Nmero
de defeitos encontrados por fase de
desenvolvimento
 Esforo para a realizao de uma tarefa
 Tempo para a realizao de uma tarefa
 Custo para a realizao de uma tarefa
 Grau de satisfao do cliente (ex: adequao do produto ao
propsito, conformidade do produto com a especificao)


Por que medir?


6




Se no sabemos onde estamos ...


No conseguimos...
 ...Saber

para onde queremos ir


 ...Saber o que faremos

Saber o que temos, o que somos e onde estamos

Por que medir?


7

Para entender uma presso do momento


 Ex.

Ganhar uma concorrncia

Se no ficaram razes, como ser o


prximo projeto?


Saber o que fazer hoje e para onde caminhar

Por que medir software?


8

Obter vrios indicadores de desempenho (exemplos:


produtividade, qualidade do cdigo etc.) consistentes
Melhorar a capacidade de estimar projetos,
estabelecendo uma base de dados para futuras
estimativas
Melhorar a capacidade de gerenciar projetos:
estabelecendo oramento para projetos de software
 fornecendo meios de controlar os custos do projeto
 controlando o progresso do trabalho pela comparao do
estimado com o realizado


Por que medir software?


9

Melhorar a comunicao com o cliente

Permitir a comparao com as prticas do mercado




Avaliar o impacto da introduo de novas


tecnologias
Minimizar o prazo de desenvolvimento
Medir e quantificar a qualidade do software como
produto
Melhoria do processo

Por que medir software?


10

Avaliar a produtividade dos elementos envolvidos


(equipe) no desenvolvimento de sistemas
Avaliar os benefcios derivados de novos mtodos e
ferramentas da engenharia de software para
desenvolver software
Avaliar a produtividade dos elementos envolvidos
(equipe) no desenvolvimento de sistemas

Caractersticas desejveis para mtricas


11

Analisvel
 Facilmente

Vlida
 As

calculada, entendida e testada

medidas devem verificar o modelo funcional

Robusta
 As

medidas no devem ser sensveis a alteraes que


no afetam os atributos

Simples
 Deve-se

obter medidas de fcil interpretao

Caractersticas desejveis para mtricas


12

Prescritiva


A mtrica deve til para orientar a gesto dos projetos de


desenvolvimento

Passvel de estudos estatsticos

Expressa em alguma unidade

Passvel de automao

Repetvel e independente do observador

Sugere uma estratgia de melhoria

Em resumo...
13

Uma mtrica deve ser:


 Vlida:

quantifica o que queremos medir


 Confivel: produz os mesmos resultados dadas as
mesmas condies
 Prtica: barata, fcil de computar e fcil de
interpretar


Dois contextos para medio de software


 Processo:

ex. produtividade
 Produto: ex. qualidade

Tipos de Mtricas
14

Na engenharia, medir importante. Pode-se


apresentar um n enorme de grandezas com este
tipo de tratamento:
 Dimenses
 Peso

fsicas

(ou massa)

 Temperatura
 Tenses
 Corrente

eltrica etc..

Tipos de Mtricas
15

Na informtica, alguns parmetros so quantificados


para expressar as potencialidades de determinadas
mquinas, como:
A

capacidade de um processador para executar um


certo no de instrues por segundo (MIPS)

A

capacidade de armazenagem (MB)

A

freqncia do relgio do processador (MHz) etc..

Tipos de Mtricas
16

As mtricas de software podem ser classificadas em


duas categorias principais:


Mtricas Diretas
Medida realizada em termos de atributos observados (usualmente
determinada pela contagem)
 Ex.: custo, esforo, n de linhas de cdigo (LOC), tamanho de
memria ocupado, velocidade de execuo, no de erros
registrados num dado perodo de tempo etc..


 Mtricas

Indiretas

Medidas obtidas a partir de outras mtricas


 Ex.:
permitem quantificar aspectos como funcionalidade,
complexidade, eficincia, manutenibilidade etc. que so bastante
difceis a quantificar


Tipos de Mtricas
17

As mtricas de software tambm podem ser organizadas


em outras classes, como:


Mtricas Orientadas a Tamanho


So medidas diretas do tamanho dos artefatos de software
associados ao processo por meio do qual o software
desenvolvido.
 Ex.: esforo, custo, no. KLOC, no. pginas de documentao, no.
Erros


Mtricas Orientadas Funo




Baseadas em medidas indiretas do software e no processo utilizado


para obt-lo, onde so considerados os aspectos como a
funcionalidade e a utilidade do programa como pontos de funo
(function points) e pontos de particularidade (feature points)

Tipos de Mtricas
18

Mtricas de Produtividade
Baseadas na sada do processo de desenvolvimento com o objetivo
de avali-lo
 Ex.: n de casos de uso/iterao


Mtricas de Qualidade
Indicam o nvel de resposta do software s exigncias explcitas e
implcitas do cliente (conformidade/adequao do software)
 Ex.: erros/fase


Mtricas Tcnicas
Concentram-se nas caractersticas do software e no no processo
por meio do qual o software foi desenvolvido
 Ex.: complexidade lgica e grau de manutenibilidade


Tipos de Mtricas
19

Mtricas Orientadas s Pessoas




Indicam a forma como as pessoas desenvolvem os sistemas de


computador e tambm medidas da percepo humana sobre a
eficincia de ferramentas e mtodos de desenvolvimento

Possveis problemas com mtricas


20

Ex: Comparar a produtividade de engenheiros em termos de


linha de cdigo
 Est sendo utilizado a mesma unidade de medida?


O contexto considerado o mesmo?




E a qualidade do cdigo?

Como o resultado ser interpretado?




Todos os engenheiros so familiarizados com a linguagem de


programao?

O que se quer realmente o tamanho do cdigo?




O que uma linha de cdigo vlida?

Produtividade mdia de um engenheiro?

O que se quer com o resultado?




Comparar a produtividade do processo de software?

Teoria da Medio
21

Teoria sobre mtricas pode ajudar a resolver estes


problemas
 Relaes
 Medida
 Medio
 Escala

empricas

Relaes Empricas
22

Ajudam a observar as relaes do tipo


verdadeiro/falso entre entidades do mundo real
Ex. Relaes empricas entre o atributo altura das
pessoas

Binria: O Super-homem mais alto do que papai Noel

Unria: O Super-homem alto

Ternria: O Super-homem mais alto do que papai


Noel e mame Noel

Medida
23

Medida uma funo de mapeamento

Super-homem

2.10m

Papai Noel

1.65m

Mame Noel

1.50m

Atributos do mundo
real (domnio)

Um smbolo em um
conjunto com relaes
matmaticas
conhecidas

Medio
24

a atribuio de uma medida (atravs de um


smbolo) a um atributo do mundo real
Propsito: manipular smbolos na faixa =>
determinar concluses sobre os atributos do domnio
Para ser precisa, a medio deve especificar
 Domnio:

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 caladas?

Escala
25

Representa os smbolos na faixa de uma medida


mais as manipulaes permitidas
Ex. de manipulaes:
 Mapeamento:

transformar smbolos em um conjunto em


outros smbolos em outro conjunto.
 {verdadeiro,

falso} {1, 0}

Papis da Medio
26

Segundo Humphrey, so quatro os principais papis


de Medies de Software:
Entender

Controlar
Processos,
Produtos e
Servios de
Software

Avaliar

Prever

Papis da Medio
27

Entender


Avaliar


Mtricas podem ser utilizadas para tomar decises e determinar o


estabelecimento de padres, metas e critrios de aceitao

Controlar


Mtricas ajudam a entender o comportamento e funcionamento de


processos, produtos e servios de software

Mtricas podem ser utilizadas para controlar processos, produtos e


servios de software

Prever


Mtricas podem ser utilizadas para prever valores de atributos

Abordagem GQM:
(Goal/Question/Metric - metas/perguntas/mtricas)
28

Excelente tcnica para seleccionar as mtricas


apropriadas
GQM funciona do seguinte modo:


Metas (Goal) - Selecionar e identificar objetivos em termos


quantitativos

Questes (Question) - Para cada objetivo encontrado, definir um


conjunto de questes que verifica se o este foi atingido

Mtricas (Metric) - Identificar a mtrica que permite responder a


cada questo

Exemplo do uso de GQM


29

Objetivo 1
Propsito: Melhorar
Questo: preciso
Objeto: estimativas de projeto
Ponto de vista: analisado pelo ponto de vista dos gerentes de projeto
Questo 1.1
Qual a preciso das estimativas de cronograma do projeto?

Mtrica 1.1a)
Preciso Total de Cronograma = tempo real de todo o projeto/tempo estimado do projeto

Mtrica 1.1b)
Preciso Cronograma por atividade = tempo real por atividade/tempo estimado por atividade

Questo 1.2
Qual a preciso das estimativas de esforo do projeto?

Mtrica 1.2a)
Preciso Total do Esforo = esforo real de todo o projeto/esforo estimado para o projeto

Mtrica 1.2b)
Preciso esforo por atividade = esforo real por atividade/esforo estimado por atividade

Selecionando Objetivos
30

Devem estar associados a um perodo de tempo




Aumentar a produtividade em 20% no prazo de 12 meses

Facilita o acompanhamento e a tomada de aes para


viabilizar objetivo  pois existe um prazo!!!

Estudos indicam que objetivos muito complexos e de


longo prazo podem causar impacto na motivao


Objetivos menores, a curto prazo, permitem que as pessoas


visualizem o progresso e alcancem sucessos

Com o tempo e com a maturidade da organizao, os


objetivos devem se tornar mais complexos e mais
desafiadores

Selecionando Mtricas
31




Seja realista e prtico


Considere o processo e o ambiente de desenvolvimento
atual


No seleciona mtricas em que os dados sejam difceis de serem


coletados na sua realidade

Comece com o que for possvel

A equipe no seve ser muito impactada

Utilize a abordagem incremental




Com o tempo, com o benefcios, mais dados estaro disponveis...

Selecionando Mtricas
32

Objetivo: Aumentar satisfao do cliente




Que atributos dos nossos produtos e servios so mais


importantes para os nossos clientes?
Aspectos Relevantes de Produto e Servio para Clientes
Clientes que
Consideram o Aspecto

20
15
10

# Clientes

5
0
Qualidade

Custo

Prazo

Visibilidade do Flexbilidade p/
Progresso
mudanas

Aspectos Relevantes Para os Clientes

O Processo de Medio
33

um processo cclico que envolve:

Implementar
as decises

Planejar

Tomar
decises

Medir

Analisar os
dados

Princpios de um processo de medio


34

Um processo de medio deve:


 Fornecer

uma base para melhoria contnua do processo

 Quantificar
 Estar

a qualidade e produtividade

integrado com o ciclo de vida de desenvolvimento

 Medir

o impacto de vrios mtodos, ferramentas, e


tcnicas de melhorias

Princpios de um processo de medio


35

Medies devem ser usadas para medir processos, no


pessoas
O processo de medio deve ter objetivos claros e bemdefinidos
O processo de medio deve ser fortemente acoplado com o
processo de gerncia da qualidade e integrado dentro de
planos e oramentos
O processo de coleta de dados deve ser simples, e
ferramentas automticas para extrao de dados devem ser
usadas
O processo de medio contnuo e sujeito a melhoria

Caractersticas de um processo de medio


36

Escolha um conjunto adequado de mtricas

Relacione as mtricas ao processo de tomada de


deciso (suportado pela alta administrao)

Avalie processos e no pessoas (explique os objetivos da


medio)

No use as mtricas para punir

Envolva vrias pessoas na seleo e formulao das


mtricas

Estabelea alta prioridade (recursos, ferramentas, etc.)

Integre o programa ao desenvolvimento de software

Caractersticas de um processo de medio


37

Alinhe aos objetivos de negcio

Padronize e documente

Compartilhe as mtricas obtidas

Institucionalize como parte da cultura da organizao

Integre com o programa de melhorias (ilustre o


progresso e as melhorias obtidos a partir do
programa)
Oferea planos de ao

Plano de Mtricas
38

Para cada objetivo tcnico o plano contm informao


sobre:
POR QUE as mtricas satisfazem o objetivo
 QUE mtricas sero coletadas, como elas sero definidas, e
como sero analisadas
 QUEM far a coleta, quem far a anlise, e quem ver os
resultados
 COMO ser feito: que ferramentas, tcnicas e prticas sero
usadas para apoiar a coleta e anlise das mtricas
 QUANDO no processo e com que freqncia as mtricas
sero coletadas e analisadas
 ONDE os dados sero armazenados


Especificando as Medies
39

Definir e documentar para cada mtrica :




Objetivos

Pblico alvo da mtrica




Quem precisa da informao?

Quem ir usar as informaes fornecidas pela mtrica?

Uma mtrica til sempre tem um cliente

Especificando as Medies
40

Procedimento de coleta e armazenamento


Quando o dado deve ser coletado? Periodicamente ou por
eventos?
 Quem o responsvel pela coleta e armazenamento?
 Como o dado deve ser coletado? A partir de que
ferramentas e produtos de trabalho do projeto /
organizao?
 Onde ele ser armazenado? Quando o dado deve ser
armazenado?
 Avaliar mtricas que podem acarretar em muito esforo e
pouco valor
 Buscar automatizar a coleta dos dados sempre que possvel
 Ferramentas para controle de tempo, bugtracking,
helpdesk, controle de verso, gesto de requisitos


Especificando as Medies
41

Procedimentos de Anlise


Necessrios para



Entendimento da mtrica
Avaliao (critrio para tomada de deciso)

A anlise dos dados deve enderear os objetivos das medies

Seleo dos mtodos e ferramentas de anlise:






Como a mtrica ser visualmente apresentada?


Grficos de barras, linhas, colunas, pizza, histogramas, diagramas de scatter, tabelas...
Ferramentas de Ishikawa

A equipe de desenvolvimento deve ser envolvida sempre que necessrio

Para mtricas de controle:






Estabelecimento de limites de controle


Estabelecimento de thresholds (limiar)
Padres ou requisitos de mercado de performance
 Mdia de mercado para custo da baixa qualidade = 4%
 Temos que correr atrs dessa meta!!!

Aps todo o planejamento


42





Executar as atividades com base no planejamento


realizado
Tomar aes com base nos resultados
Ajustar o processo com melhorias a partir dos resultados
de sua execuo
Armazenar os resultados
Tanto os dados, como os resultados, as aes tomadas, tudo
que for relevante
 Toda informao que contextualize a mtrica ou que fornea
alguma informao adicional


Resumo
43

As atividades de medio devem ser guiadas por


objetivos
Plano de Mtricas detalha como criar programas de
medio para atender a objetivos tcnicos
especficos
Tendncias recentes: evoluo de mtricas ou
modelos especficos para amplos programas
organizacionais de mtricas

Principais Barreiras
44

Falta de comprometimento da alta gerncia

Medir custa caro

Os maiores benefcios vm a longo prazo

M utilizao das mtricas

Grande mudana cultural necessria

Dificuldade de estabelecer medies apropriadas e teis

Interpretaes dos dados realizadas de forma incorreta

Obter o comprometimento de todos os envolvidos e impactados

Estabelecer um programa de medies fcil, o difcil manter!!

Mas podemos contornar...


45

Foco desde os estgios iniciais da melhoria de processo

Medio faz parte do TODO

Comear Pequeno

Selecionar um conjunto coerente

importante definir cada detalhe da mtrica

Descartar o que no estiver sendo til

Fornecer as informaes corretas, para as pessoas certas

Agregar valor, ao invs de gerar apenas dados

Mas podemos contornar...


46

Incentivar a equipe de desenvolvimento a fazer uso


das mtricas

Envolvimento de todos os impactados

Estabelecer as expectativas

Educao e Treinamento

Ganhar Confiana

Adotar uma Abordagem Evolucionria

Compreender que a Adoo leva Tempo

Potrebbero piacerti anche