Medição de Software
Medição de Software
1
Aluno: Felipe Barbalho
felipebarbalho@gmail.com
Professores: Alexandre Vasconcelos e Cristine
Gusmão
Agenda
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
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
Motivação
5
• 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.
Por que medir software?
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?
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
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
O que são mé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
Conceitos
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
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
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
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
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
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
Os Quatros papéis de 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
Métodos para Definição de
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
O Paradigma Goal Question
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
O Paradigma Goal Question
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
O Paradigma Goal Question
O Paradigma Goal Question
Metrics (GQM)
Metrics (GQM)
20
Goal 1
Goal 1 Goal 2
Goal 2
Questão 1
Questão 1 Questão 2
Questão 2 Questão 3
Questão 3 Questão 4
Questão 4
Métrica 1
Métrica 1 Métrica 2
Métrica 2 Métrica 3
Métrica 3 Métrica 4
Métrica 4 Métrica 5
Métrica 5
Exemplo do uso do 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 de
Qualidade de Software
22
Medição e Modelos/Normas de
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
Medição no CMMI
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
À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
À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
À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
Definição do nível 4 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
Definição do nível 4 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
Medição no MPS.BR
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
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
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
No atributo de processo 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
No atributo de processo 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
Atributo de Processo 3.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
Medição na ISO/IEC 15504
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)
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
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
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
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
Boas práticas na implantaçã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
Boas práticas na implantaçã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
Fatores críticos para implantaçã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
Dúvidas?
45

Medicao_de_Software-Felipe-Barbalho Workshop

  • 1.
    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
  • 4.
    Visão Geral sobreMedição 4
  • 5.
    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
  • 20.
    O Paradigma GoalQuestion O Paradigma Goal Question Metrics (GQM) Metrics (GQM) 20 Goal 1 Goal 1 Goal 2 Goal 2 Questão 1 Questão 1 Questão 2 Questão 2 Questão 3 Questão 3 Questão 4 Questão 4 Métrica 1 Métrica 1 Métrica 2 Métrica 2 Métrica 3 Métrica 3 Métrica 4 Métrica 4 Métrica 5 Métrica 5
  • 21.
    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
  • 22.
    Medição e Modelosde Qualidade de Software 22
  • 23.
    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
  • 45.

Notas do Editor

  • #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)