Medição de Software
Aluno: Felipe Barbalho
[email protected]
Professores: Alexandre Vasconcelos e Cristine
Gusmão
1
Agenda

Visão Geral sobre 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
Objetivos

Entender as abordagens 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
Visão Geral sobre Medição
4
Motivação
• Aumentar a qualidade, 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.
5
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
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
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
 Sugere uma estratégia de melhoria

8
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
Conceitos
Medida: fornece uma 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
Categorização de 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
Categorização de 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
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

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
Categorização de 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
Os Quatros papéis de Medição

Segundo Humphrey, são quatro os principais papéis de Medições de
Software:
Entender
Controlar
Processos,
Produtos e
Serviços de
Software
Avaliar
Prever
15
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
Métodos para Definição de
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
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
18
O Paradigma Goal Question
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
O Paradigma Goal Question
Metrics (GQM)
Goal 1
Goal 2
Questão 1
Questão 2
Questão 3
Questão 4
Métrica 1
Métrica 2
Métrica 3 Métrica 4
Métrica 5
20
Exemplo do uso do GQM

Objetivo: Assegurar que todos os defeitos
são corrigidos antes do software ser
liberado para uso.
Perguntas:

Métricas:

◦ Quantos defeitos temos atualmente?
◦ Qual o status de cada defeito?
◦ Qual a cobertura dos testes?
◦ 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 de
Qualidade de Software
22
Medição e Modelos/Normas de
Qualidade de Software
 Medição
no CMMI
 Medição
no MPS.BR
 Medição
na ISO/IEC 15504
23
Medição no 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
À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
Àrea de processo - Desempenho 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
Àreas de processo - Gerenciamento
Quantitativo do 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
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
Definição do nível 4 de capacidade
Esses objetivos quantitativos são
estabelecidos com base:
 Na capacidade do conjunto de processospadrã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
Medição no 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
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
Evolução do Processo Gerência de
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
No atributo de processo 4.1 - O
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
No atributo de processo 4.2 - O
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
Atributo de Processo 3.2 - O
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
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
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
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
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
Boas práticas na implantação
de Programas de Medição
nas organizações
40
Boas práticas na implantação de Programas
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
Boas práticas na implantação de Programas
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
Boas práticas na implantação de Programas
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
Fatores críticos para implantação de
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
Dúvidas?
45
Download

Medição de Software