Upload
sabrina-souto
View
229
Download
1
Embed Size (px)
DESCRIPTION
Metricas de Qualidade de Software
Citation preview
MTRICAS QUALIDADE DE SOFTWARE
Sabrina de F. Souto
Agenda
Conceitos Mtricas Caractersticas desejveis para mtricas Tipos de Mtricas Possveis problemas com mtricas
2
Possveis problemas com mtricas Teoria da Medio Papis da Medio Abordagem GQM Processo de Medio Plano de Mtricas Concluso
Motivao3
No se pode gerenciar o que no se pode medir[Tom De Marco]
Se voc no sabe para onde voc quer ir, qualquercaminho voc pode seguir. Se voc no sabe ondevoc est, um mapa no vai ajudar!
[Roger Pressman]
Conceitos4
Forma padro de medir um atributo do processo dedesenvolvimento de software [Boehm, 1981]
Uma medida quantitativa do grau que um sistema,componente, ou processo possui de um determinadoatributo [IEEE Std 610.12-1990]
O que so mtricas de software?5
Uma mtrica a medio de um atributo (propriedadesou caractersticas ) de uma determinada entidade(produto, processo, recurso ...)
Exemplos: Tamanho do produto de software (ex: Nmero de Linhas de Tamanho do produto de software (ex: Nmero de Linhas decdigo)
Nmero de defeitos encontrados por fase dedesenvolvimento
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 aopropsito, 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 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 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 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 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 Avaliar os benefcios derivados de novos mtodos eferramentas da engenharia de software paradesenvolver software
Avaliar a produtividade dos elementos envolvidos(equipe) no desenvolvimento de sistemas
Caractersticas desejveis para mtricas11
Analisvel Facilmente calculada, entendida e testada
Vlida As medidas devem verificar o modelo funcional As medidas devem verificar o modelo funcional
Robusta As medidas no devem ser sensveis a alteraes queno afetam os atributos
Simples Deve-se obter medidas de fcil interpretao
Caractersticas desejveis para mtricas12
Prescritiva A mtrica deve til para orientar a gesto dos projetos dedesenvolvimento
Passvel de estudos estatsticos 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 asmesmas condies
Prtica: barata, fcil de computar e fcil deinterpretar
Dois contextos para medio de software Processo: ex. produtividade
Produto: ex. qualidade
Tipos de Mtricas14
Na engenharia, medir importante. Pode-seapresentar um n enorme de grandezas com estetipo de tratamento:
Dimenses fsicas Dimenses fsicas
Peso (ou massa)
Temperatura
Tenses
Corrente eltrica etc..
Tipos de Mtricas15
Na informtica, alguns parmetros so quantificadospara expressar as potencialidades de determinadasmquinas, como:
A capacidade de um processador para executar um A capacidade de um processador para executar umcerto no de instrues por segundo (MIPS)
A capacidade de armazenagem (MB)
A freqncia do relgio do processador (MHz) etc..
Tipos de Mtricas16
As mtricas de software podem ser classificadas emduas categorias principais:
Mtricas Diretas
Medida realizada em termos de atributos observados (usualmentedeterminada pela contagem)determinada pela contagem)
Ex.: custo, esforo, n de linhas de cdigo (LOC), tamanho dememria ocupado, velocidade de execuo, no de errosregistrados 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 bastantedifceis a quantificar
Tipos de Mtricas17
As mtricas de software tambm podem ser organizadasem outras classes, como:
Mtricas Orientadas a Tamanho So medidas diretas do tamanho dos artefatos de softwareassociados ao processo por meio do qual o 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 utilizadopara obt-lo, onde so considerados os aspectos como afuncionalidade e a utilidade do programa como pontos de funo(function points) e pontos de particularidade (feature points)
Tipos de Mtricas18
Mtricas de Produtividade
Baseadas na sada do processo de desenvolvimento com o objetivode avali-lo
Ex.: n de casos de uso/iterao
Mtricas de Qualidade Mtricas de Qualidade
Indicam o nvel de resposta do software s exigncias explcitas eimplcitas do cliente (conformidade/adequao do software)
Ex.: erros/fase
Mtricas Tcnicas
Concentram-se nas caractersticas do software e no no processopor meio do qual o software foi desenvolvido
Ex.: complexidade lgica e grau de manutenibilidade
Tipos de Mtricas19
Mtricas Orientadas s Pessoas
Indicam a forma como as pessoas desenvolvem os sistemas decomputador e tambm medidas da percepo humana sobre aeficincia de ferramentas e mtodos de desenvolvimento
Possveis problemas com mtricas20
Ex: Comparar a produtividade de engenheiros em termos delinha de cdigo Est sendo utilizado a mesma unidade de medida?
O que uma linha de cdigo vlida?
O contexto considerado o mesmo? Todos os engenheiros so familiarizados com a linguagem deprogramao?
O que se quer realmente o tamanho do cdigo? E a qualidade do cdigo?
Como o resultado ser interpretado? Produtividade mdia de um engenheiro?
O que se quer com o resultado? Comparar a produtividade do processo de software?
Teoria da Medio21
Teoria sobre mtricas pode ajudar a resolver estes problemas
Relaes empricas
Medida
Medio
Escala
Relaes Empricas22
Ajudam a observar as relaes do tipoverdadeiro/falso entre entidades do mundo real
Ex. Relaes empricas entre o atributo altura daspessoaspessoas
Binria: O Super-homem mais alto do que papai Noel
Unria: O Super-homem alto
Ternria: O Super-homem mais alto do que papaiNoel e mame Noel
Medida23
Medida uma funo de mapeamento
Super-homem
Papai Noel
2.10m
Papai Noel
Mame Noel
1.65m
1.50m
Atributos do mundoreal (domnio)
Um smbolo em um conjunto com relaes
matmaticasconhecidas
Medio24
a atribuio de uma medida (atravs de umsmbolo) a um atributo do mundo real
Propsito: manipular smbolos na faixa =>determinar concluses sobre os atributos do domniodeterminar 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 alturaconsiderando pessoas caladas?
Escala25
Representa os smbolos na faixa de uma medidamais as manipulaes permitidas
Ex. de manipulaes:Mapeamento: transformar smbolos em um conjunto emMapeamento: transformar smbolos em um conjunto emoutros smbolos em outro conjunto. {verdadeiro, falso} {1, 0}
Papis da Medio26
Segundo Humphrey, so quatro os principais papis de Medies de Software:
EntenderEntender ControlarControlar
Processos, Processos, Produtos e Produtos e Servios de Servios de SoftwareSoftware
EntenderEntender
AvaliarAvaliar PreverPrever
ControlarControlar
Papis da Medio27
Entender
Mtricas ajudam a entender o comportamento e funcionamento deprocessos, produtos e servios de software
Avaliar
Mtricas podem ser utilizadas para tomar decises e determinar o Mtricas podem ser utilizadas para tomar decises e determinar oestabelecimento de padres, metas e critrios de aceitao
Controlar
Mtricas podem ser utilizadas para controlar processos, produtos eservios 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 mtricasapropriadas
GQM funciona do seguinte modo:
Metas (Goal) - Selecionar e identificar objetivos em termosquantitativos
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 acada questo
Exemplo do uso de GQM29
Objetivo 1
Propsito: Melhorar
Questo: preciso
Objeto: estimativas de projeto
Ponto de vista: analisado pelo ponto de vista dos gerentes de projeto
Questo 1.1Questo 1.1Qual 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.2Qual 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 Objetivos30
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 paraviabilizar objetivo pois existe um prazo!!!
Estudos indicam que objetivos muito complexos e delongo prazo podem causar impacto na motivao
Objetivos menores, a curto prazo, permitem que as pessoasvisualizem o progresso e alcancem sucessos
Com o tempo e com a maturidade da organizao, osobjetivos devem se tornar mais complexos e maisdesafiadores
Selecionando Mtricas31
Seja realista e prtico
Considere o processo e o ambiente de desenvolvimentoatual No seleciona mtricas em que os dados sejam difceis de serem No seleciona mtricas em que os dados sejam difceis de seremcoletados 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 Mtricas32
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
0
5
10
15
20
Qualidade Custo Prazo Visibilidade doProgresso
Flexbilidade p/mudanas
Aspectos Relevantes Para os Clientes
C
l
i
e
n
t
e
s
q
u
e
C
o
n
s
i
d
e
r
a
m
o
A
s
p
e
c
t
o
# Clientes
O Processo de Medio33
um processo cclico que envolve:
PlanejarImplementar as decises
Planejar
Medir
Analisar os dados
Tomar decises
as decises
Princpios de um processo de medio34
Um processo de medio deve:
Fornecer uma base para melhoria contnua do processo
Quantificar a qualidade e produtividadeQuantificar a qualidade e produtividade
Estar integrado com o ciclo de vida de desenvolvimento
Medir o impacto de vrios mtodos, ferramentas, etcnicas de melhorias
Princpios de um processo de medio35
Medies devem ser usadas para medir processos, nopessoas
O processo de medio deve ter objetivos claros e bem-definidos
O processo de medio deve ser fortemente acoplado com o O processo de medio deve ser fortemente acoplado com oprocesso de gerncia da qualidade e integrado dentro deplanos e oramentos
O processo de coleta de dados deve ser simples, eferramentas automticas para extrao de dados devem serusadas
O processo de medio contnuo e sujeito a melhoria
Caractersticas de um processo de medio36
Escolha um conjunto adequado de mtricas
Relacione as mtricas ao processo de tomada dedeciso (suportado pela alta administrao)
Avalie processos e no pessoas (explique os objetivos damedio)
Avalie processos e no pessoas (explique os objetivos damedio)
No use as mtricas para punir
Envolva vrias pessoas na seleo e formulao dasmtricas
Estabelea alta prioridade (recursos, ferramentas, etc.)
Integre o programa ao desenvolvimento de software
Caractersticas de um processo de medio37
Alinhe aos objetivos de negcio
Padronize e documente
Compartilhe as mtricas obtidas Compartilhe as mtricas obtidas
Institucionalize como parte da cultura da organizao
Integre com o programa de melhorias (ilustre oprogresso e as melhorias obtidos a partir doprograma)
Oferea planos de ao
Plano de Mtricas38
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 analisadascomo 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 Medies39
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 Medies40
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 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 Medies41
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: 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 planejamento42
Executar as atividades com base no planejamentorealizado
Tomar aes com base nos resultados Ajustar o processo com melhorias a partir dos resultadosde sua execuo
Armazenar os resultados Tanto os dados, como os resultados, as aes tomadas, tudoque for relevante
Toda informao que contextualize a mtrica ou que forneaalguma informao adicional
Resumo43
As atividades de medio devem ser guiadas porobjetivos
Plano de Mtricas detalha como criar programas demedio para atender a objetivos tcnicosmedio para atender a objetivos tcnicosespecficos
Tendncias recentes: evoluo de mtricas oumodelos especficos para amplos programasorganizacionais de mtricas
Principais Barreiras44
Falta de comprometimento da alta gerncia
Medir custa caro
Os maiores benefcios vm a longo prazo
M utilizao das mtricas 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 usodas mtricas
Envolvimento de todos os impactados
Estabelecer as expectativas Estabelecer as expectativas
Educao e Treinamento
Ganhar Confiana
Adotar uma Abordagem Evolucionria
Compreender que a Adoo leva Tempo