metricas de qualidade de software
Post on 09-Mar-2016
229 Views
Preview:
DESCRIPTION
TRANSCRIPT
-
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
top related