garantia da qualidade, medição e melhorialeomurta/courses/2011.2/es2/aula7.pdf · qualidade...

Post on 22-Sep-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Garantia da Qualidade, Medição e Melhoria

Leonardo Gresta Paulino Murta

leomurta@ic.uff.br

Exercício motivacional

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 2

Qualidade depende da perspectiva...

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 3

Atributos de qualidade

Atributo 1

Atributo 2

Atributo 3

Atributo 4

Atributo 5

Atributo 6

Qualidade depende da perspectiva...

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 4

Atributos de qualidade

Atributo 1

Atributo 2

Atributo 3

Atributo 4

Atributo 5

Atributo 6

Priorizou Gostaria

Baixa Qualidade (para o cliente)

Qualidade depende da perspectiva...

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 5

Atributos de qualidade

Atributo 1

Atributo 2

Atributo 3

Atributo 4

Atributo 5

Atributo 6

Priorizou Gostaria

Alta Qualidade (para o cliente)

Frases para pensar...

• “Fazer é só uma vez, manter é para sempre”

• “Você pode fazer certo ou fazer de novo”

• “Não ter tempo para pensar em qualidade agora significa ter tempo para refazer o produto no futuro”

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 6

Evolução da Garantia da Qualidade

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 7

Anos 50 e 60

O próprio

desenvolvedor avalia a

qualidade dos seus

produtos A partir dos anos 70

Normas e equipes

próprias (SQA) para a

avaliação da qualidade

Responsabilidades do desenvolvedor x SQA

• Desenvolvedor

– Conceber produtos de qualidade

• SQA (Software Quality Assurance)

– Apoiar às equipes de desenvolvimento

– Garantir que os produtos gerados pela equipe de desenvolvimento de fato têm qualidade

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 8

Tarefas do SQA

• Preparar o plano de SQA – Identificar as normas a serem seguidas – Identificar as auditorias a serem feitas

• Participar na definição do processo • Auditar as atividades de ES para assegurar

compatibilidade com o processo definido • Auditar os produtos gerados para assegurar a sua

compatibilidade com os padrões definidos • Reportar as não conformidades encontradas • Assegurar que as correções necessárias serão de fato

feitas

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 9

Medição

• Por que medir?

• O que significa uma medição?

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 10

Medição é o caminho para maturidade!

Medição

• Medições permitem:

– Aumentar a visibilidade do produto, projeto ou processo

– Tomadas de decisão objetivas (“eu acho” x “eu tenho certeza”)

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 11

Produto Processo

2

5 3

8

9

7 4

Projeto

Baseline de medições

• Medições isoladas usualmente são inúteis

• A partir de diversas medições em contextos semelhantes é possível

– Estabelecer uma baseline

– Comparar as novas medições com a baseline

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 12

Medindo pessoas?

• Importante – Não utilizar medições de Engenharia de Software para

punir ou premiar indivíduos!!!

– Medições devem ser utilizadas para aprimorar o produto, projeto ou processo

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 13

O que medir?

• Existe uma técnica que nos apoia nessa tarefa

– Goal-Question-Metric (GQM)

• Algoritmo

1. Definir os objetivos de negócio (Goal)

2. Definir questões que permitem verificar se cada objetivo está sendo atingido (Question)

3. Definir medidas que apoiam na resposta de cada questão (Metric)

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 14

Exemplo: processo de Gerência de Configuração

• O que medir em Gerência de Configuração?

– A efetividade do processo

– Os custos associados

– Os benefícios obtidos

• Sugestão:

– Aplicar GQM

– Começar a medir antes de modificar o processo

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 15

Exemplo: processo de Gerência de Configuração

• Métricas – Custo de operação – Número de sistemas/ICs sob gerência de configuração – Número de solicitações de modificação por mês – Tempo gasto para resolução de solicitações de modificação – Carga de disco/memória/processamento do servidor de GC – Densidade de defeitos por severidade – Número de achados na auditoria de GC – Tempo gasto para resolução dos achados de auditoria – Intervalo entre releases – Número de releases corretivas

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 16

Como analisar as métricas obtidas?

• É possível definir um limite (threshold) para a métrica em questão

– Se a métrica passar desse limite, é necessário fazer uma análise de causa

• Qual seria um limite apropriado?

– Que tal deixar a própria história determinar esse limite?

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 17

Processos estáveis x capazes

• Nem sempre o processo “mais rápido” é um processo estável ou capaz

– Um processo estável permite que o desempenho futuro seja previsível em função do desempenho passado

– Um processo capaz é um processo estável em que o desempenho atende aos requisitos do usuário

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 18

Processos estáveis x capazes

• Problema: – Ir em até 20 minutos de Icaraí para São Francisco

• Processos – Ir de carro

– Ir de ônibus

– Ir de bicicleta

– Ir a pé

• Qual é o processo mais rápido num cenário ótimo?

• Quais processos são estáveis?

• Quais processos são capazes? Leonardo Murta Garantia da Qualidade, Medição e Melhoria 19

Processos estáveis x capazes

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 20

tempo

pro

ba

bili

da

de

20 min

tempo

pro

ba

bili

da

de

20 min

tempo

pro

ba

bili

da

de

20 min

tempo

pro

ba

bili

da

de

20 min

carro ônibus

a pé bicicleta

estável e capaz

Gráfico de controle

• O gráfico de controle é um artefato que nos permite analisar a estabilidade de um processo

• Foi criado em 1920 por Walter Shewhart

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 21

0,0

2,0

4,0

6,0

8,0

10,0

12,0

1 3 5 7 9 11 13 15 17 19

+3σ

+2σ

+1σ

μ

-1σ

-2σ

-3σ

Solicitações corretivas

Algoritmo para construção do gráfico de controle

1. Coletar uma série temporal da métrica desejada

2. A partir da série temporal da métrica desejada calcular

1. Média:

2. Desvio-padrão:

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 22

n

iix

n 1

1

n

iix

n 1

2)(1

1

Algoritmo para construção do gráfico de controle

3. Desenhar um gráfico com linhas delimitando

– Média

– 1 desvio-padrão para cima e para baixo da média

– 2 desvios-padrão para cima e para baixo da média

– 3 desvios-padrão para cima e para baixo da média

4. Desenhar os pontos da série desejada e conectar os pontos via uma linha

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 23

Exemplo – número de solicitações corretivas por semana

• Passo 1 – coleta de métricas

• Passo 2 – cálculo de média e desvio padrão

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 24

Semana 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Solicitações corretivas

5 6 5 9 6 5 4 6 7 5 6 5 5 7 6 3 4 5 8 6

μ 5,65

σ 1,39

Exemplo – número de solicitações corretivas por semana

• Passos 3 e 4 – desenho do gráfico de controle

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 25

Semana 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Solicitações corretivas

5 6 5 9 6 5 4 6 7 5 6 5 5 7 6 3 4 5 8 6

+3σ 9,8 9,8 9,8 9,8 9,8 9,8 9,8 9,8 9,8 9,8 9,8 9,8 9,8 9,8 9,8 9,8 9,8 9,8 9,8 9,8 +2σ 8,4 8,4 8,4 8,4 8,4 8,4 8,4 8,4 8,4 8,4 8,4 8,4 8,4 8,4 8,4 8,4 8,4 8,4 8,4 8,4 +1σ 7,0 7,0 7,0 7,0 7,0 7,0 7,0 7,0 7,0 7,0 7,0 7,0 7,0 7,0 7,0 7,0 7,0 7,0 7,0 7,0 μ 5,7 5,7 5,7 5,7 5,7 5,7 5,7 5,7 5,7 5,7 5,7 5,7 5,7 5,7 5,7 5,7 5,7 5,7 5,7 5,7

-1σ 4,3 4,3 4,3 4,3 4,3 4,3 4,3 4,3 4,3 4,3 4,3 4,3 4,3 4,3 4,3 4,3 4,3 4,3 4,3 4,3 -2σ 2,9 2,9 2,9 2,9 2,9 2,9 2,9 2,9 2,9 2,9 2,9 2,9 2,9 2,9 2,9 2,9 2,9 2,9 2,9 2,9 -3σ 1,5 1,5 1,5 1,5 1,5 1,5 1,5 1,5 1,5 1,5 1,5 1,5 1,5 1,5 1,5 1,5 1,5 1,5 1,5 1,5

Exemplo – número de solicitações corretivas por semana

• Passos 3 e 4 – desenho do gráfico de controle

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 26

0,0

2,0

4,0

6,0

8,0

10,0

12,0

1 3 5 7 9 11 13 15 17 19

+3σ

+2σ

+1σ

μ

-1σ

-2σ

-3σ

Solicitações corretivas

Análise do gráfico de controle

• Assumindo uma distribuição normal para as medidas coletadas

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 27

Intervalo Probabilidade do intervalo

Eventos esperados fora do intervalo (medidas diárias)

μ ± 1σ 68% Dois por semana

μ ± 2σ 95% Um a cada três semanas

μ ± 3σ 99,7% Um por ano

Análise do gráfico de controle

• Causa comum de variação

– Dentro dos limites de probabilidade

– Existe em todo processo estável e previsível

• Causa especial de variação

– Foge os limites de probabilidade

– Precisa ser analisada e evitada para que o processo possa ser estável e previsível

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 28

Análise do gráfico de controle

• Quando o comportamento do gráfico foge do esperado...

– É necessário achar uma causa atribuível

– O processo pode estar instável

• Situações a serem analisadas

– 1 evento além de μ ± 3σ

– 2 de 3 eventos sucessivos do mesmo lado além de μ ± 2σ

– 4 de 5 eventos sucessivos do mesmo lado além de μ ± 1σ

– 8 eventos sucessivos do mesmo lado de μ

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 29

-5,0

0,0

5,0

10,0

15,0

20,0

1 3 5 7 9 11 13 15 17 19

+3σ

+2σ

+1σ

μ

-1σ

-2σ

-3σ

Solicitações corretivas

Análise do gráfico de controle

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 30

-2,0

0,0

2,0

4,0

6,0

8,0

10,0

12,0

14,0

16,0

1 3 5 7 9 11 13 15 17 19

+3σ

+2σ

+1σ

μ

-1σ

-2σ

-3σ

Solicitações corretivas

Análise do gráfico de controle

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 31

Processo instável?

Causa atribuível: adoção

de testes automatizados

Ação: Contextualizar a

medição com e sem os

testes automatizados

Análise do gráfico de controle

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 32

0,0

2,0

4,0

6,0

8,0

10,0

12,0

14,0

1 2 3 4 5 6 7 8 9

+3σ

+2σ

+1σ

μ

-1σ

-2σ

-3σ

Solicitações corretivas

0,0

1,0

2,0

3,0

4,0

5,0

6,0

7,0

8,0

1 2 3 4 5 6 7 8 9 10 11

+3σ

+2σ

+1σ

μ

-1σ

-2σ

-3σ

Solicitações corretivas

Processos estáveis, antes e depois da

adição de testes automatizados

Modelos de maturidade

• Crença principal: A qualidade do produto está intimamente ligada à qualidade do processo

Leonardo Murta 33 Garantia da Qualidade, Medição e Melhoria

Modelos de maturidade

• Servem para guiar empresas na busca por qualidade

• Não determinam como algo deve ser feito, mas sim o que deve ser feito

• Não são incompatíveis com métodos ágeis

– Existem empresas que usam XP e SCRUM e já avaliaram em algum modelo de maturidade

• Principais modelos em uso no Brasil

– CMMI

– MPS.BR

Leonardo Murta 34 Garantia da Qualidade, Medição e Melhoria

CMMI

• Duas perspectivas principais

– Contínua: mede a capacidade de processos individuais

– Estagiada: mede a maturidade da organização como um todo

• Modelo com 22 áreas de processo divididas em 5 níveis de maturidade

Leonardo Murta 35 Garantia da Qualidade, Medição e Melhoria

MPS.BR

• Modelo brasileiro semelhante ao CMMI – Foco nas pequenas e médias empresas brasileiras

– Menor custo para implementação e avaliação

– Mais degraus intermediários, ajudando na melhoria progressiva

• Modelo com 19 processos e 9 atributos de processo divididos em 7 níveis de maturidade

• Mapeamento para o CMMI – Nível 5 = A

– Nível 4 = B

– Nível 3 = C

– Nível 2 = F

Leonardo Murta 36 Garantia da Qualidade, Medição e Melhoria

MPS.BR

• Nível G – Parcialmente Gerenciado – Gerência de Projetos – Gerência de Requisitos – Atributo: O processo é executado – Atributo: O processo é gerenciado

• Nível F – Gerenciado – Aquisição – Gerência de Configuração – Garantia de Qualidade – Gerência de Portfólio de Projetos – Medição – Atributo: Os produtos de trabalho do processo são gerenciados

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 37

MPS.BR

• Nível E – Parcialmente Definido – Avaliação e Melhoria do Processo Organizacional – Definição do Processo Organizacional – Gerência de Recursos Humanos – Gerência de Reutilização – Atributo: O processo é definido – Atributo: O processo está implementado

• Nível D – Largamente Definido – Desenvolvimento de Requisitos – Integração do Produto – Projeto e Construção do Produto – Validação – Verificação

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 38

MPS.BR

• Nível C – Definido – Desenvolvimento para Reutilização

– Gerência de Decisões

– Gerência de Riscos

• Nível B – Gerenciado Quantitativamente – Atributo: O processo é medido

– Atributo: O processo é controlado

• Nível A – Em Otimização – Atributo: O processo é objeto de melhorias e inovações

– Atributo: O processo é otimizado continuamente

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 39

Principais Referências Bibliográficas

• Anne Hass, 2003. Configuration Management Principles and Practices, Boston, MA, Pearson Education, Inc.

• Florac, W. A., Carleton, A. D., 1999. Measuting the Software Process. Addison Wesley

• Pressman, R. S., 2004. Software Engineering: A Practitioner’s Approach. 6 ed. McGraw-Hill.

• SOFTEX, 2009. MPS.BR – Melhoria de Processo do Software Brasileiro – Guia Geral. http://www.softex.br/mpsbr

Leonardo Murta Garantia da Qualidade, Medição e Melhoria 40

Garantia da Qualidade, Medição e Melhoria

Leonardo Gresta Paulino Murta

leomurta@ic.uff.br

top related