Medição de Software
Mediçãode Software
1
Aluno: Felipe Barbalho
felipebarbalho@gmail.com
Professores: Alexandre Vasconcelos e Cristine
Gusmão
2.
Agenda
Agenda
Visão Geralsobre Medição
Medição e Modelos de Qualidade de Software
Boas práticas na implantação de Programas de
Medição nas organizações
2
3.
Objetivos
Objetivos
Entender asabordagens principais de métricas e
como elas são utilizadas
Entender porque medição é importante para
avaliação e garantia da qualidade de software
Entender algumas boas práticas na implantação
de Programas de Medição nas organizações
3
Motivação
Motivação
5
• Aumentar aqualidade, 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.
6.
Por que medirsoftware?
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
7.
Por que medirsoftware?
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
8.
Propriedades desejáveis deuma
Propriedades desejáveis de uma
métrica
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
Sugere uma estratégia de melhoria
8
9.
O que sãométricas de software?
O que são métricas de 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)
9
10.
Conceitos
Conceitos
Medida: forneceuma 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.
10
11.
Categorização de Métricas
Categorizaçãode Métricas
Mé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ção
11
12.
Categorização de Métricas
Categorizaçãode Métricas
Mé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.
12
13.
Categorização de Métricas
Categorizaçãode 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
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
13
14.
Categorização de Métricas
Categorizaçãode Métricas
Mé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
14
15.
Os Quatros papéisde Medição
Os Quatros papéis de Medição
Segundo Humphrey, são quatro os principais papéis de Medições de
Software:
15
Processos,
Processos,
Produtos e
Produtos e
Serviços de
Serviços de
Software
Software
Entender
Entender
Avaliar
Avaliar Prever
Prever
Controlar
Controlar
16.
Os Quatros papéisde Medição
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
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
16
17.
Métodos para Definiçãode
Métodos para Definição de
Medidas
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)
17
18.
O Paradigma GoalQuestion
O Paradigma Goal Question
Metrics (GQM)
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
18
19.
O Paradigma GoalQuestion
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?
19
Exemplo do usodo GQM
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?
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
21
Medição e Modelos/Normasde
Medição e Modelos/Normas de
Qualidade de Software
Qualidade de Software
Medição no CMMI
Medição no MPS.BR
Medição na ISO/IEC 15504
23
24.
Medição no CMMI
Mediçãono CMMI
No CMMI, as práticas e conceitos de medição estão
explicitamente apresentados nos seguintes
componentes do modelo:
Àrea de processo - Medição e Analise - Nível 2 de
maturidade;
Àrea de processo - Desempenho do Processo
Organizacional - Nível 4 de maturidade;
Àreas de processo - Gerenciamento Quantitativo
do Processo - Nível 4 de maturidade;;
Definição do nível 4 de capacidade.
24
25.
Àrea de processo- Medição e Analise
Àrea de processo - Medição e Analise
Propósito:
Desenvolver e sustentar a capacidade de
medições que é utilizada para apoiar as
necessidades de gerenciamento de informações.
Objetivo:
Alinhar os objetivos e atividades de medições
com as necessidades e objetivos de informações
identificados;
Fornecer resultados de medições que
endereçam as necessidades e objetivos de
informações identificados.
25
26.
Àrea de processo- Desempenho
Àrea de processo - Desempenho
do Processo Organizacional (OPP)
do Processo Organizacional (OPP)
Propósito:
Estabelecer e manter um entendimento quantitativo
do desempenho do conjunto de processos padrão da
organização no apoio aos objetivos de desempenho e
qualidade desses processos.
Objetivo:
Estabelecer baselines e modelos dos processos que
caracterizem o desempenho esperado para os
processos da organização a fim de permitir o
gerenciamento quantitativo dos projetos
organizacionais.
26
27.
Àreas de processo-
Àreas de processo -
Gerenciamento Quantitativo do
Gerenciamento Quantitativo do
Processo (QPM)
Processo (QPM)
Propósito:
Gerenciar quantitativamente o processo definido para o projeto a
fim de alcançar os objetivos de qualidade e de desempenho dos
processos estabelecidos para o projeto.
Objetivo:
Gerenciar quantitativamente o projeto utilizando objetivos de
desempenho do processo e qualidade;
Gerenciar estatisticamente o desempenho dos sub-processos
selecionados do conjunto de processo definido para o projeto;
Os objetivos de desempenho e qualidade dos processos, medidas e
baselines identificados na área de processo OPP são gerenciados
quantitativamente, por essa área de processo, através do Controle
Estatístico do Processo.
27
28.
Definição do nível4 de capacidade
Definição do nível 4 de capacidade
Decisões são tomadas baseadas em fatos
(medições).
Processo institucionalizado como um
processo gerenciado quantitativamente.
Neste nível os objetivos quantitativos para a
qualidade e o desempenho do processo são
estabelecidos e utilizados como critérios para
o gerenciamento desse processo.
28
29.
Definição do nível4 de capacidade
Definição do nível 4 de capacidade
Esses objetivos quantitativos são
estabelecidos com base:
Na capacidade do conjunto de processos-
padrão da organização;
Nos objetivos de negócio da organização;
Nas necessidades dos clientes, dos usuários
finais, da organização e dos responsáveis
pela implementação do processo;
Nos recursos disponíveis.
29
30.
Medição no MPS.BR
Mediçãono MPS.BR
No MR-MPS e no CMMI as práticas de medição e análise são
observadas forma semelhante, uma vez que o MR-MPS é
baseado no CMMI. No MR-MPS medição e análise são
encontradas nos seguintes pontos:
Processo Medição (MED) - do Nível F;
Evolução do Processo Gerência de Projetos – do Nível B;
Atributo de processo 4.1 - O processo é medido;
Atributo de processo 4.2 - O processo é controlado;
Atributo de Processo 3.2 - O processo está implementado.
30
31.
Processo Medição (MED)- Nível F
Processo Medição (MED) - Nível F
O propósito desse processo é coletar e analisar os
dados relativos aos produtos desenvolvidos e aos
processos implementados na organização e em seus
projetos, de forma a apoiar os objetivos
organizacionais.
O que é esperado nesse processo é similar ao que é
requerido na área de processo de Medição e Análise
do CMMI – Nível 2 de maturidade.
31
32.
Evolução do ProcessoGerência de
Evolução do Processo Gerência de
Projetos – Nível B
Projetos – Nível B
A gerência de projetos passa a ter um enfoque
quantitativo refletindo a alta maturidade que se espera da
organização;
Os objetivos para a qualidade e para o desempenho do
processo definido para o projeto são estabelecidos e
mantidos, e sub-processos desse processo definido são
gerenciados quantitativamente;
Os processos escolhidos serão gerenciados através do
Controle Estatístico do Processo e os dados do processo
são utilizados para tomada de decisão
32
33.
No atributo deprocesso 4.1 - O
No atributo de processo 4.1 - O
processo é medido
processo é medido
É exigido a partir do Nível B do MR-MPS;
Tem o objetivo de garantir a existência de um
sistema efetivo para coleta de medidas relevantes
para o desempenho do processo e a qualidade
dos produtos de trabalho
33
34.
No atributo deprocesso 4.2 - O
No atributo de processo 4.2 - O
processo é controlado
processo é controlado
É exigido a partir do Nível B do MR-MPS;
É uma medida do quanto o processo é
controlado estatisticamente para produzir um
processo estável, capaz e previsível dentro de
limites estabelecidos.
34
35.
Atributo de Processo3.2 - O
Atributo de Processo 3.2 - O
processo está implementado
processo está implementado
É uma medida do quanto o processo padrão é
efetivamente implementado como um processo definido
para atingir seus resultados;
O resultado esperado deste atributo requer que dados
apropriados sejam coletados e analisados para construir
uma base para o entendimento do comportamento do
processo, a fim de demonstrar a adequação e a eficácia do
processo, e avaliar onde pode ser feita a melhoria
contínua do processo.
35
36.
Medição na ISO/IEC15504
Medição na ISO/IEC 15504
Na ISO/IEC 15504 a medição e análise pode ser
observada explicitamente nos seguintes itens:
Processo de medição (MAN.6) do grupo de
Processos de Gerência da Categoria de
Processos Organizacionais;
Definição do Nível 4 de capacidade
36
37.
Processo de Medição(MAN.6)
Processo de Medição (MAN.6)
O propósito desse processo é coletar e analisar
dados relacionados aos produtos desenvolvidos
e processos implementados na organização e
seus projetos, para suportar uma gerência
efetiva e demonstrar de forma objetiva a
qualidade dos produtos.
37
38.
Nível 4 deCapacidade
Nível 4 de Capacidade
No Nível 4 de capacidade o processo
estabelecido, descrito previamente, opera
dentro de limites definidos para alcançar seus
resultados de processo.
Este nível de capacidade atinge seu objetivo
através de dois atributos de processo:
◦ PA 4.1: Atributo de Medição de Processo;
◦ PA 4.2: Atributo de Controle de Processo.
38
39.
Nível 4 deCapacidade
Nível 4 de Capacidade
PA 4.1: Atributo de Medição de Processo: mede o
escopo, no qual as medidas de produto e processo são
usadas para garantir que o desempenho do processo
permita a obtenção dos objetivos relevantes do
processo de acordo como os objetivos de negócio
definidos;
PA 4.2: Atributo de Controle de Processo: mede o
escopo no qual o processo é gerenciado
quantitativamente para produzir um processo que é
estável e capaz, e previsível dentro dos limites
determinados.
39
40.
Boas práticas naimplantação
de Programas de Medição
nas organizações
40
41.
Boas práticas naimplantação de Programas
Boas práticas na implantação de Programas
de Medição nas organizações
de Medição nas organizaçõ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
41
42.
Boas práticas naimplantação de Programas
Boas práticas na implantação de Programas
de Medição nas organizações
de Medição nas organizações
Automatizar a coleta e reportagem dos dados
Motivar a Gerência
Estabelecer expectativas
Envolvimento de todos desde os estágios
iniciais
Educação e treinamento
Ganhar confiança
42
43.
Boas práticas naimplantação de Programas
Boas práticas na implantação de Programas
de Medição nas organizações
de Medição nas organizações
Adotar uma abordagem evolutiva
Descartar o que não é útil
Fornecer informações corretas para pessoas
certas
Incentivar os desenvolvedores a fazer uso das
métricas
Compreender que a adoção leva tempo
Má interpretação dos dados
43
44.
Fatores críticos paraimplantação de
Fatores críticos para implantação de
programas de medição
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).
44
#5 Precisão do esforço: antes de ajustar o processo para melhorá-lo, devemos deixá-lo rodar para entender o que está sendo produzido. Então, faremos nossas especificações de projeto para a capacidade real que possuímos.
#10 Uma métrica é uma medição de números reais que satisfazem:
M(x,x)=0; M(x,y)=M(y,x); m(x,z)<=m(x,y)+m(y,z)