Post on 22-Sep-2020
Garan%a da Qualidade, Medição e Melhoria
Leonardo Gresta Paulino Murta leomurta@ic.uff.br
Exercício mo%vacional
Leonardo Murta Garan%a da Qualidade, Medição e Melhoria 2
Qualidade depende da perspec%va...
Leonardo Murta Garan%a 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 perspec%va...
Leonardo Murta Garan%a 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 usuário)
Qualidade depende da perspec%va...
Leonardo Murta Garan%a 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 usuário)
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 Garan%a da Qualidade, Medição e Melhoria 6
Evolução da Garan%a da Qualidade
Leonardo Murta Garan%a 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 (So#ware Quality Assurance) – Apoiar às equipes de desenvolvimento – Garan%r que os produtos gerados pela equipe de desenvolvimento de fato têm qualidade
Leonardo Murta Garan%a da Qualidade, Medição e Melhoria 8
Tarefas do SQA • Preparar o plano de SQA
– Iden%ficar as normas a serem seguidas – Iden%ficar as auditorias a serem feitas
• Par%cipar na definição do processo • Auditar as a%vidades de ES para assegurar compa%bilidade com o processo definido
• Auditar os produtos gerados para assegurar a sua compa%bilidade 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 Garan%a da Qualidade, Medição e Melhoria 9
Medição • Por que medir? • O que significa uma medição?
Leonardo Murta Garan%a 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 obje%vas (“eu acho” x “eu tenho certeza”)
Leonardo Murta Garan%a 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 par%r de diversas medições em contextos semelhantes é possível – Estabelecer uma baseline – Comparar as novas medições com a baseline
Leonardo Murta Garan%a da Qualidade, Medição e Melhoria 12
Medindo pessoas? • Importante
– Não u%lizar medições de Engenharia de Sokware para punir ou premiar indivíduos!!!
– Medições devem ser u%lizadas para aprimorar o produto, projeto ou processo
Leonardo Murta Garan%a da Qualidade, Medição e Melhoria 13
O que medir? • Existe uma técnica que nos apoia nessa tarefa
– Goal-‐Ques6on-‐Metric (GQM)
• Algoritmo 1. Definir os obje%vos de negócio (Goal) 2. Definir questões que permitem verificar se cada
obje%vo está sendo a%ngido (Ques6on) 3. Definir medidas que apoiam na resposta de cada
questão (Metric)
Leonardo Murta Garan%a 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 efe%vidade do processo – Os custos associados – Os benemcios ob%dos
• Sugestão: – Aplicar GQM – Começar a medir antes de modificar o processo
Leonardo Murta Garan%a 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 corre%vas
Leonardo Murta Garan%a da Qualidade, Medição e Melhoria 16
Como analisar as métricas ob%das? • É 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 Garan%a 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 Garan%a 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 ó%mo? • Quais processos são estáveis? • Quais processos são capazes?
Leonardo Murta Garan%a da Qualidade, Medição e Melhoria 19
Processos estáveis x capazes
Leonardo Murta Garan%a da Qualidade, Medição e Melhoria 20
tempo
prob
abili
dade
20 min
tempo
prob
abili
dade
20 min
tempo
prob
abili
dade
20 min
tempo
prob
abili
dade
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 Garan%a 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 par%r da série temporal da métrica desejada
calcular 1. Média:
2. Desvio-‐padrão:
Leonardo Murta Garan%a da Qualidade, Medição e Melhoria 22
∑×==
n
iixn 1
1µ
∑ −×−
==
n
iixn 1
2)(11
µσ
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 Garan%a da Qualidade, Medição e Melhoria 23
Exemplo – número de solicitações corre%vas por semana
• Passo 1 – coleta de métricas
• Passo 2 – cálculo de média e desvio padrão
Leonardo Murta Garan%a 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 corre6vas 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 corre%vas por semana
• Passos 3 e 4 – desenho do gráfico de controle
Leonardo Murta Garan%a 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 corre6vas 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 corre%vas por semana
• Passos 3 e 4 – desenho do gráfico de controle
Leonardo Murta Garan%a 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 Garan%a 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 Garan%a 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 Garan%a 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 Garan%a 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 Garan%a 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 Garan%a 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á in%mamente ligada à qualidade do processo
Leonardo Murta 33 Garan%a 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 incompayveis 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 Garan%a da Qualidade, Medição e Melhoria
CMMI • Duas perspec%vas principais
– Conynua: 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 Garan%a 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 Garan%a 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 – Garan%a de Qualidade – Gerência de Por}ólio de Projetos – Medição – Atributo: Os produtos de trabalho do processo são gerenciados
Leonardo Murta Garan%a 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 Reu%lizaçã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 Garan%a da Qualidade, Medição e Melhoria 38
MPS.BR • Nível C – Definido
– Desenvolvimento para Reu%lização – Gerência de Decisões – Gerência de Riscos
• Nível B – Gerenciado Quan%ta%vamente – Atributo: O processo é medido – Atributo: O processo é controlado
• Nível A – Em O%mização – Atributo: O processo é objeto de melhorias e inovações – Atributo: O processo é o%mizado con%nuamente
Leonardo Murta Garan%a da Qualidade, Medição e Melhoria 39
Principais Referências Bibliográficas
• Anne Hass, 2003. Configura%on Management Principles and Prac%ces, Boston, MA, Pearson Educa%on, Inc.
• Florac, W. A., Carleton, A. D., 1999. Measu%ng the Sokware Process. Addison Wesley
• Pressman, R. S., 2004. Sokware Engineering: A Prac%%oner’s Approach. 6 ed. McGraw-‐Hill.
• SOFTEX, 2009. MPS.BR – Melhoria de Processo do Sokware Brasileiro – Guia Geral. h�p://www.sokex.br/mpsbr
Leonardo Murta Garan%a da Qualidade, Medição e Melhoria 40
Garan%a da Qualidade, Medição e Melhoria
Leonardo Gresta Paulino Murta leomurta@ic.uff.br