Skip to content

Commit d88a7ef

Browse files
author
Gabriel Laureano
committed
Update Peltzman Effect documentation: revise text for clarity, update tags to stageB, and enhance structure with additional context and figures
1 parent af2c4f4 commit d88a7ef

File tree

1 file changed

+67
-34
lines changed

1 file changed

+67
-34
lines changed

docs/notes/peltzman_effect.mdx

Lines changed: 67 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -2,67 +2,100 @@
22
sidebar_position: 1
33
title: Efeito Peltzman
44
description: Incluir uma nova camada de qualidade pode diminuir a qualidade do software?
5-
tags: [stageA, notes, qa, theory]
5+
tags: [stageB, notes, qa, theory]
66
draft: false
77
---
88

99
# Efeito Peltzman e a Centralização da Responsabilidade
1010

11-
Incluir uma nova camada de qualidade pode diminuir a qualidade do software?
11+
Incluir uma nova camada de qualidade pode reduzir a qualidade do software?
1212

1313
---
1414

15-
### O Cenário de Implementação
15+
### O Contexto de Implementação
1616

17-
Imagine o cenário em que, uma nova equipe de testers é contratada para realizar uma nova camada de qualidade, testando as novas alterações antes que cheguem em produção. A intenção é garantir que todos os erros sejam identificados antes do cliente e essa responsabilidade agora é transferida para essa nova equipe.
17+
Imaginemos um cenário em que uma nova equipe de testers é contratada com a finalidade de implementar uma camada adicional de qualidade, testando as alterações antes que estas cheguem à produção. O objetivo dessa mudança é assegurar que todos os erros sejam detectados antes de afetar os usuários finais, transferindo a responsabilidade pela qualidade para essa equipe especializada.
1818

19-
Mas algo inverso acontece, mais erros começam a aparecer em produção, e a gestão não consegue entender porque mais erros estão aparecendo no fluxo de desenvolvimento.
20-
A solução proposta é aumentar o tempo de execução dos testes para garantir que todos sejam mais minuciosos. E agora o tempo de desenvolvimento também está sofrendo atrasos.
19+
Após essa alteração, um resultado inesperado ocorre: o número de erros em produção começa a aumentar. A gestão não compreende por que mais falhas estão surgindo no fluxo de desenvolvimento. Como solução, aumenta-se o tempo dedicado aos testes, com o intuito de torná-los mais detalhados e abrangentes. Mas essa decisão de "aumento no tempo de execução" resulta também em atrasos no desenvolvimento.
2120

22-
Com o tempo, a equipe de testes é desfeita por não conseguir entregar os resultados esperados e a equipe de desenvolvimento recebe novamente a responsabilidade de realizar os próprios testes. O que magicamente diminui o número de erros em produção.
21+
Com o tempo, a equipe de testes é desfeita, incapaz de alcançar os resultados esperados. A responsabilidade de testar retorna à equipe de desenvolvimento, o que, curiosamente, leva a uma diminuição no número de erros em produção.
2322

24-
### Análise do Cenário
23+
<figure>
24+
<figcaption class="text--center">SDLC com nova camada de qualidade</figcaption>
2525

26-
Implementar uma nova camada de qualidade piorou a qualidade do software porque não faz sentido somente uma equipe ser responsável por garantir a qualidade do software em um fluxo completo e complexo de desenvolvimento.
26+
```mermaid
27+
%%{init:{'flowchart':{'useMaxWidth':'true'}}}%%
28+
flowchart LR
2729
28-
O que aconteceu foi que, a nova equipe criou uma falsa sensação de segurança em todos os envolvidos no processo de desenvolvimento. Fazendo com que os desenvolvedores acreditassem que não precisavam mais se preocupar com a qualidade como antes, pois agora havia uma equipe dedicada a isso. Essa sensação de segurança levou a um desleixo nas práticas de desenvolvimento e testes, resultando em mais erros que a equipe focada em qualidade não conseguiu cobrir. Isso é o que chamamos de Efeito Peltzman.
30+
classDef node stroke:#000,stroke-width:2px;
31+
classDef invisible fill:#fff0,stroke:#fff0,stroke-width:0px,color:#fff0;
32+
classDef green fill:#8f8,stroke:#000,stroke-width:2px,color:#000;
2933
30-
### O Efeito Peltzman
34+
a:::invisible; b:::invisible; c:::invisible; d:::invisible; e:::invisible; f:::invisible;
3135
32-
O Efeito Peltzman foi um conceito proposto pelo economista Sam Peltzman no artigo de 1975, "The Effects of Automobile Safety Regulation". O estudo analisou como a introdução de regulamentações de segurança em automóveis levou a um aumento no número de acidentes.
36+
subgraph a[" "]; a0; a1; end
37+
subgraph b[" "]; b0; b1; end
38+
subgraph c[" "]; c0; c1; end
39+
subgraph d[" "]; d0; d1; end
40+
subgraph e[" "]; e1; end
41+
subgraph f[" "]; f0; f1; end
3342
34-
A ideia proposta é que, quando as pessoas se sentem mais seguras devido a regulamentações ou medidas de segurança, elas tendem a adotar comportamentos mais arriscados, diminuindo sua vigilância ou negligenciando as precauções que tomavam anteriormente.
43+
a0["Planejamento"]
44+
b0["Definição"]
45+
c0["Design"]
46+
d0["Desenvolvimento"]
47+
f0["Deploy"]
3548
36-
No cenário do desenvolvimento de software, a equipe de testes não pode simplesmente receber toda a responsabilidade pelos erros encontrados em produção, apenas por ser a última camada de segurança. É necessário que dados sejam coletados e analisados para garantir que todos os envolvidos no processo de desenvolvimento mantenham a vigilância e a responsabilidade pela qualidade do software.
49+
a1["Planejamento"]
50+
b1["Definição"]
51+
c1["Design"]
52+
d1["Desenvolvimento"]
53+
e1@{ shape: processes, label: "Testes", green}; e1:::green;
54+
f1["Deploy"]
3755
38-
Toda alteração feita no fluxo de desenvolvimento deve ser acompanhada de dados que comprovem a eficácia da mudança, etapa por etapa. Isso garante que nenhuma equipe envolvida se sinta excluída da responsabilidade e consequentemente negligencie seu papel na manutenção da qualidade do software.
56+
a0 ==> b0 ==> c0 ==> d0 ==> f0
57+
a1 ==> b1 ==> c1 ==> d1 l0@==> e1 l1@==> f1
3958
40-
---
59+
l0@{ animate: true, animation: fast }
60+
l1@{ animate: true, animation: slow}
61+
```
4162

42-
### Mapa Mental
63+
</figure>
64+
65+
### Análise do Cenário
66+
67+
A introdução de uma nova camada de qualidade, embora inicialmente promissora, resultou em uma diminuição da qualidade do software. Isso aconteceu porque não é eficaz transferir toda a responsabilidade pela qualidade para uma única equipe em um processo de desenvolvimento dinâmico e complexo.
68+
69+
O que ocorreu foi que a criação dessa nova equipe gerou uma falsa sensação de segurança entre os envolvidos no processo. Os desenvolvedores, agora amparados por uma equipe dedicada ao controle de qualidade, passaram a acreditar que poderiam relaxar em suas próprias práticas de testes e desenvolvimento. Essa confiança levou ao descuido nas etapas de desenvolvimento e testes, o que resultou em um aumento no número de erros. A equipe de testes, por sua vez, não conseguiu identificar todos esses erros antes que chegassem à produção. Essa situação é um bom exemplo do Efeito Peltzman.
4370

44-
```mermaid
45-
%%{init:{'flowchart':{'useMaxWidth':'true'}}}%%
46-
flowchart LR
71+
### O Efeito Peltzman
72+
73+
O Efeito Peltzman é um conceito proposto pelo economista Sam Peltzman em seu estudo de 1975, "The Effects of Automobile Safety Regulation". Em sua pesquisa, Peltzman analisou os impactos das regulamentações de segurança em automóveis, observando que, paradoxalmente, a implementação dessas normas de segurança levou a um aumento no número de acidentes.
74+
75+
A ideia central é que, quando as pessoas percebem um aumento na segurança, regulamentações ou medidas preventivas, elas tendem a adotar comportamentos mais arriscados, reduzindo sua vigilância e negligenciando as precauções que tomavam anteriormente. Ou seja, a sensação de segurança gerada pela intervenção faz com que as pessoas se tornem mais propensas a agir de maneira imprudente.
76+
77+
Esse fenômeno também pode ser aplicado ao desenvolvimento de software. A introdução de uma equipe de testes, encarregada de identificar falhas antes da produção, não deve ser vista como a única responsável pela qualidade. Em vez disso, a qualidade deve ser uma responsabilidade compartilhada entre todos os membros da equipe de desenvolvimento. Quando se transfere completamente a responsabilidade para uma única camada de testes, os desenvolvedores podem negligenciar suas próprias responsabilidades, resultando no aumento dos erros.
4778

48-
classDef red fill:#f88,stroke:#333,stroke-width:2px,color:#000;
49-
classDef green fill:#8f8,stroke:#333,stroke-width:2px,color:#000;
79+
A centralização da responsabilidade de garantir a qualidade do software em uma única equipe pode gerar um ambiente propício ao desleixo, reduzindo a eficácia geral do processo de desenvolvimento.
5080

51-
a:::red
52-
b:::green
81+
### A Necessidade de Vigilância Coletiva e Dados Consistentes
5382

54-
z["Nova camada de<br>qualidade no SDLC"]
55-
z --> a["Método A<br>Diminuição de Qualidade"]
56-
a --> A01["Incluir Equipe"]
57-
a --> A02["Centralizar<br>Responsabilidade"]
58-
z --> b["Método B<br>Aumento de Qualidade"]
59-
b --> B01["Incluir Equipe"]
60-
b --> B02["Incluir Monitoramento<br>Etapa a Etapa"]
61-
b --> B03["Dividir<br>Responsabilidade"]
83+
A responsabilidade pela qualidade do software é de todos os envolvidos no processo, desde os desenvolvedores até os testadores. A introdução de qualquer nova camada de controle, como a equipe de testes, deve ser acompanhada de dados objetivos e mensuráveis que comprovem, tanto a eficácia da nova equipe, quanto das equipes já anteriormente presentes no SDLC. Esses dados coletados e analisados ao longo de todo o fluxo de desenvolvimento serão usados para garantir que cada etapa esteja contribuindo de forma significativa para a qualidade do produto final.
6284

63-
subgraph p["Peltzman Effect"]; a; A01; A02; end
85+
Ao manter uma abordagem colaborativa e uma vigilância completa sobre todas as fases do desenvolvimento, é possível evitar a criação de uma falsa sensação de segurança. Isso assegura que nenhuma equipe se sinta alheia às suas responsabilidades e que a qualidade do software seja efetivamente garantida de forma integral e contínua.
86+
87+
---
88+
89+
### Mapa Mental
6490

65-
```
91+
- **Nova camada de qualidade:**
92+
- 🔴 **Método A (Diminuição da qualidade):**
93+
- Incluir equipe;
94+
- Centralizar a responsabilidade.
95+
- 🟢 **Método B (Aumento da qualidade):**
96+
- Incluir equipe;
97+
- Incluir monitoramento etapa por etapa;
98+
- Dividir a responsabilidade.
6699

67100
---
68101

0 commit comments

Comments
 (0)