41
Blameless: A culpa não é sua? (Blameless Post-Mortems) Fernando Ike

Blameless: A culpa não é sua

Embed Size (px)

Citation preview

Page 1: Blameless: A culpa não é sua

Blameless: A culpa não é sua? (Blameless Post-Mortems)

Fernando Ike

Page 2: Blameless: A culpa não é sua
Page 3: Blameless: A culpa não é sua
Page 4: Blameless: A culpa não é sua
Page 5: Blameless: A culpa não é sua

Quem já errou no trabalho?

Page 6: Blameless: A culpa não é sua

Não avisou que aquela ação iria gerar um incidente?

Page 7: Blameless: A culpa não é sua

Foi demitido por errar no trabalho?

Page 8: Blameless: A culpa não é sua
Page 9: Blameless: A culpa não é sua

O Ciclo da vergonha/culpa/ em 7 passos

John Allspaw

Page 10: Blameless: A culpa não é sua

1. Engenheiro tomam atitude e contribuem para uma falha ou acidente

2. Engenheiro é punido, envergonhado, culpado ou reprimido

3. Reduz a confiança entre engenheiros e a gerência fica procurando alguém como bode expiatório

4. Engenheiros ficam em silêncio sobre detalhes de ações/situações/observações, resultando na engenharia de "Cover-Your-Ass (pelo medo de punição)

5. Gerentes tornam-se menos conscientes e informados sobre o desempenho do trabalho do dia a dia, engenheiros se tornam menos educados na espreita ou condição latente para falha devido ao silêncio mencionado no passo #4

6. Erros tornam-se mais prováveis, condição latente para eles não serem identificadas devido ao passo #5

7. Repete a partir do passo #1

Page 11: Blameless: A culpa não é sua

Reprimir as maçãs podres pode parecer uma solução rápida e gratificante, mas é como fazer xixi nas calças. Você sente aliviado, talvez mesmo até agradável e aquecido por algum tempo, mas depois fica frio e desconfortável. E você parece

um idiota.

The Field Guide to Understanding Human ErrorSidney Dekker

Page 12: Blameless: A culpa não é sua

- Erro humano é visto como a causa da falha

- Dizer o que as pessoas deveriam ter feito é um forma satisfatória para descrever um fracasso

- Dizer às pessoas para serem mais cuidadosas fará com que o problema desapareça

Primeira história - A visão antiga do erro humano

Page 13: Blameless: A culpa não é sua

- Erro humano é visto como o efeito da vulnerabilidade sistêmica profunda dentro de uma organização

- Dizer o que as pessoas deveriam ter feito não explica porque fazia sentido fazer o que faziam

- Somente procurando constantemente suas vulnerabilidades as organizações podem melhorar a segurança

Segunda história - A nova visão do erro humano

Page 14: Blameless: A culpa não é sua

"Debaixo de cada história simples e óbvia sobre "erro humano", há uma história mais profunda e complexa sobre a organização"

The Field Guide to Understanding Human ErrorSidney Dekker

Page 15: Blameless: A culpa não é sua

- É importante ter uma cultura de confiança, aprendizado e responsabilidade quando alguma coisa dá errado na sua organização

- Just Culture significa que irá fazer o esforço para balancear a segurança e a responsabilidade

Dekker em Just Culture

Page 16: Blameless: A culpa não é sua

Uma Cultura Blameless acredita que os sistemas não são inerentemente seguros e

humanos fazem o melhor para eles continuem rodando

John Willis

Blameless Culture

Page 17: Blameless: A culpa não é sua

Blameless

Blameless é não culpar as pessoas pelas falhas, mas sim identificar no processo as falhas e corrigi-las. Sem

deixar de lados as responsabilidades inerentes da função.

Fernando Ike

Page 18: Blameless: A culpa não é sua

Sua organização deve continuamente afirmar que os indivíduos nunca irão ser a 'causa raiz' das interrupções

The human side of Postmortems - Dave Zwieback

Page 19: Blameless: A culpa não é sua

Revisão de melhoria de qualidadeRetrospectivas de projeto

Laudo pós-incidente Análise de revisão de projeto

Relatório pós-incidente

Page 20: Blameless: A culpa não é sua

Blameless Postmortem Process- John Allspaw

1. Quais ações eles tomaram e em que momento2. Quais os efeitos que eles observaram3. As expectativas que eles tinham4. As suposições que eles fizeram5. A compreensão deles da linha do tempo dos eventos que ocorrerão

6. ... E que eles possam dar o relato detalhado sem medo de punição ou retaliação

Page 21: Blameless: A culpa não é sua

3 R'sRegret - Arrependimento Um reconhecimento do impacto da interrupção e um pedido de desculpa.

The human side of Postmortems - Dave Zwieback

Reason - Razão Uma linha do tempo da interrupção, do incidente inicialmente detectado até a resolução, incluindo o assim chamado "causa raiz"

Remedy - Solução (contorno) Uma lista dos itens solucionados para garantir que esta interrupção não irá se repetir

Page 22: Blameless: A culpa não é sua

❏ Documentar sua linha do tempo ou os dados de log

❏ Documente as conversas

❏ Deixe espaços para notas

❏ Média de tempo para resolução / Outros cálculos de tempo

❏ Nível de severidade

❏ Arquive-os para recuperação histórica

❏ Remediação - torne-o acionável

Postmortem Checklist - Victor Ops

Page 23: Blameless: A culpa não é sua
Page 24: Blameless: A culpa não é sua
Page 25: Blameless: A culpa não é sua

5 Whys (Por ques)?

Page 26: Blameless: A culpa não é sua

Elementos chaves para usar 5 Whys

1. Descrições exatas e completa dos problemas

2. Honestidade completa em responder as perguntas

3. A determinação de ir a fundo nos problemas e resolvê-los

Page 27: Blameless: A culpa não é sua

5 Porques - Gitlab fora do ar (2017)

1. Por que o Gitlab.com ficou fora do ar?O diretório do banco de dados primário foi removido acidentalmente,

ao invés de remover o diretório do banco de dados secundário.

Page 28: Blameless: A culpa não é sua

5 Porques - Gitlab fora do ar (2017)

2. Por que o diretório do banco de dados foi removido? A replicação do banco de dados parou, foi necessário refazer o banco secundário. Para isso, é necessários que o dados do diretório do PostgreSQL esteja vazio. A restauração dele é um trabalho manual, porque isso não foi automatizado, nem foi documento apropriadamente.

Page 29: Blameless: A culpa não é sua

5 Porques - Gitlab fora do ar (2017)

3. Por que a replicação parou? Uma sobrecarga fez o processo de replicação parar. Isso aconteceu porque o banco de dados primário removeu os segmentos WAL antes do banco de dados secundário pudesse replicá-los.

Page 30: Blameless: A culpa não é sua

5 Porques - Gitlab fora do ar (2017)

4. Por que a carga do banco de dados cresceu? Ela foi causada por dois eventos que aconteceram ao mesmo tempo: aumento no spam em conjunto ao processo de remoção executado por funcionário da Gitlab e os dados associados.

Page 31: Blameless: A culpa não é sua

5 Porques - Gitlab fora do ar (2017)

5. Por que um funcionário da Gitlab estava designado para remover? O funcionário recebeu uma notificação de abuso por um troll. O sistema atual para responder notificação de abuso torna muito fácil ignorar os detalhes da notificação. Como resultado, o funcionário designado removeu acidentalmente.

Page 32: Blameless: A culpa não é sua
Page 33: Blameless: A culpa não é sua

Acidentalmente destrui o banco de dados de produção no meu primeiro dia de trabalho e me mandaram embora.

Além disso, o CTO me disse que eles irão me processar.

Como estou ferrado?

Page 34: Blameless: A culpa não é sua

Oi, o cara aqui foi quem acidentalmente destruiu o banco de dados da GitLab.com's no início deste ano.

Não é culpa sua.

Page 35: Blameless: A culpa não é sua
Page 36: Blameless: A culpa não é sua

Wheel of Misfortune GameDay

Chaos Engineering

Page 37: Blameless: A culpa não é sua

Enquanto ninguém quer fazer exercícios de preparação operacional, todo mundo está preparado para o Wheel of Misfortune.

Neste contexto, é nada mais um mecanismo de seleção estatisticamente ajustado para escolher um desastre, seguido de role playing, onde uma pessoa faz o papel do dungeon master.

Google SRE bookBrent Traynor

Page 38: Blameless: A culpa não é sua

Gameday

Um exercício para aumentar a resiliência através injeção de falhas em larga escala nos sistemas críticos

Page 39: Blameless: A culpa não é sua

Chaos Engineering

Engenharia do Caos é a disciplina da experimentação de sistemas distribuídos para aumentar a confiança na capacidade dos sistemas para

suportar condições turbulentas na produção

Page 40: Blameless: A culpa não é sua

First Day and destroy database: https://redd.it/6ez8agGoogle Postmorteam example report: https://landing.google.com/sre/book/chapters/postmortem.htmlMorgue: https://github.com/etsy/morgueGitlab postmortem live document: https://goo.gl/Ikis68Gitlab postmortem report: https://about.gitlab.com/2017/02/10/postmortem-of-database-outage-of-january-31/HootSuite Timeline in the Whiteboard: http://code.hootsuite.com/blameless-post-mortems/Postmortem collection: https://github.com/danluu/post-mortems5 Whys: https://www.adb.org/sites/default/files/publication/27641/five-whys-technique.pdfResilience Engineering: Learning to Embrace Failure: http://queue.acm.org/detail.cfm?id=2371297Gameday: https://goo.gl/JCvhwYThe Field Guide to Understanding Human Error: https://www.amazon.com/Field-Guide-Understanding-Human-Error/dp/0754648265Blameless PostMortems and a Just Culture: https://codeascraft.com/2012/05/22/blameless-postmortems/VictorOps Guide to Blameless Post-mortems: https://pt.slideshare.net/VictorOps/victor-ops-guide-to-blameless-post-mortemsIt's Not Your Fault - Blameless Post-mortems: https://pt.slideshare.net/jhand2/its-not-your-fault-blameless-post-mortemsAwesome Chaos Engineering: https://github.com/dastergon/awesome-chaos-engineeringAwesome Post-Mortem: https://github.com/danluu/post-mortemsPrinciples of Chaos: http://principlesofchaos.org/System Failure, Human Error: Who’s to Blame? https://vimeo.com/102167635

Referências

Page 41: Blameless: A culpa não é sua

Fernando ike ● https://www.fernandoike.com.br● @fernandoike● https://www.linkedin.com/in/fernandoike● https://www.naestradadevops.com