Slide 1

Slide 1 text

Os vícios ao escrever um Postmortem @fernandoike

Slide 2

Slide 2 text

Fernando Ike // linkedin.com/in/fernandoike // twitter.com/fernandoike // pontocafe.fernandoike.com

Slide 3

Slide 3 text

TEMOS VAGAS!! #VempraZup Tire foto do QR Code para ver as oportunidades. zup.com.br/vagas

Slide 4

Slide 4 text

Por que Postmortem? É uma oportunidade de aprendizagem (processo) estruturada através de análise e retrospectiva para identificar as causa(s)-raiz de uma falha ou incidente. Como um processo de feedback loop, deve-se encaminhar mudanças de código, designer ou processos organizacionais para que não ocorra novamente uma falha ou incidente.

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

5 Whys (Por quês)

Slide 7

Slide 7 text

O que é 5 Whys (Por quês)? 5 Whys é uma técnica interrogativa iterativa criada por Sakichi Toyoda para explorar a relação de causa-efeito de um determinado problema no processo fabril na Toyota

Slide 8

Slide 8 text

Um incidente num ecommerce

Slide 9

Slide 9 text

Os 5 Whys (Por quês) 1- Por que o site caiu? 2- Por que o banco de dados está aceitando mais conexões? 3- Por que o banco de dados atingiu o limite de conexões? 4- Por que as transações no banco de dados não estão sendo finalizadas? 5- Por que o banco de dados está sem um índice para essas consultas?

Slide 10

Slide 10 text

Os 5 Whys (Por quês) 1- Por que o site está indisponível? 2- Por que o banco de dados não aceita mais conexões? 3- Por que havia conexões da aplicação presa no banco de dados? 4- Por que as transações estavam muito lentas? 5- Por que foi esquecido de adicionar o índice do campo novo? 6- Por que não foi criado o teste para identificar a falta do índice?

Slide 11

Slide 11 text

Críticas ao 5 Whys “A tendência da investigação parar nos sintomas e não continuar investigando mais profundamente até encontrar as causas-raiz” “A falta de habilidade de quem está investigando além dos atuais conhecimentos” “ Dificuldade em apoiar e facilitar quem está investigando a fazer as pergunta certas” “Dificuldade de reproduzir os resultados: equipes diferentes usando a técnica do 5 Whys chegam em causa diferentes ao mesmo problema” https://www.adb.org/sites/default/files/publication/27641/five-whys-technique.pdf

Slide 12

Slide 12 text

Conway Law é “…organizações que projetam sistemas (no sentido amplo usados aqui) restringem o desenvolvimento dos projetos como cópias da estrutura de comunicação dessas organizações”

Slide 13

Slide 13 text

Conway Law “Uma organização de pesquisa contrata oitos pessoas nas quais irão produzir um compilador COBOL e outro em ALGOL. Depois de algumas estimativas iniciais da dificuldade e de tempo, cinco pessoas são designadas para trabalhar no compilador COBOL e três para o compilador ALGOL. O resultado será que o compilador COBOL terá 5 etapas e o compilador ALGOL terá 3.”

Slide 14

Slide 14 text

O viés da causa-raiz

Slide 15

Slide 15 text

O viés da causa-raiz - primeira visão 1/2 ● Considerar a possibilidade de ter sido esquecido a criação de índice e o respectivo teste. ● Considerar que as pessoas da equipe podem não saber este tipo de teste ou mesmo não sabem fazer nenhum tipo de teste. ● Definido uma nova função de compra ● Criado a instrução para adicionar a coluna sem índice

Slide 16

Slide 16 text

O viés da causa-raiz - primeira visão 2/2 ● Os testes unitários não tinham cobertura para este problema ● Revisores do Pull Request/Merge Request não viram a falta de índice ● A coluna sem índice não degradou o desempenho nos testes de carga ● A função foi implementada em produção sem degradar desempenho ● Após campanha de marketing da nova função, as compras usando a nova função aumentaram para 30% do total e o site caiu.

Slide 17

Slide 17 text

O viés da causa-raiz - segunda visão ● Definido uma nova função de compra ● Criado a instrução para adicionar a coluna sem índice ● Os testes unitários não tinham cobertura para este problema ● Revisores do Pull Request/Merge Request não viram a falta de índice ● A coluna sem índice não degradou o desempenho nos testes de carga ● A função foi implementada em produção sem degradar desempenho ● Após campanha de marketing da nova função, as compras usando a nova função aumentaram para 30% do total e o site caiu

Slide 18

Slide 18 text

Abrace a complexidade... Pessoa + Software + Processos

Slide 19

Slide 19 text

O viés da causa-raiz - além do operacional ● A equipe responsável pela função tinha as habilidades para evitar que o incidente acontecesse? ● Se eles tivessem a documentação ou referências do que era a funcionalidade evitaria? Se eles soubessem técnicas como Test-Driven Development evitaria o incidente? ● A equipe estava trabalhando no limite da capacidade?

Slide 20

Slide 20 text

Postmortem escrito só por Devs e/ou Ops

Slide 21

Slide 21 text

Quem deve estar envolvido A escrita de um Postmortem envolve não só os papéis que estiveram nas atividades de resolução de um incidente, também todos os papéis em torno das aplicações envolvidas num incidente. Exemplo: Desenvolvedores Sysadmin/SREs Segurança PO/PM

Slide 22

Slide 22 text

Papéis envolvidos num incidente Responsável pelo Incidente Responsável pela Comunicação Responsável pelo Planejamento Responsável pelo Postmortem

Slide 23

Slide 23 text

O viés do Postmortem automatizados???

Slide 24

Slide 24 text

Um incidente nunca é igual a outro incidente

Slide 25

Slide 25 text

Automação presume-se que há um controle do “ambiente” mas não tem

Slide 26

Slide 26 text

Escrever um Postmortem é uma atividade Cognitiva que precisa (ainda) de humanos para analisar e interpretar as múltiplas perspectivas de um incidente

Slide 27

Slide 27 text

Responsabilidade vs Segurança (Psicológica) “Ter uma Cultura Justa (Just Culture) significa que você está se esforçando para ter um equilíbrio entre responsabilidade e segurança. Isso significa que investigar os erros focado nos aspectos situacionais dos mecanismos de uma falha e o processo de tomada de decisão dos indivíduos próximos à falha, uma organização pode ficar mais segura do que normalmente seria se tivesse simplesmente punindo os atores envolvidos, como também uma remediação” https://codeascraft.com/2012/05/22/blameless-postmortems/

Slide 28

Slide 28 text

Abrace as falhas “Não consumir seu erro budget é porque você não está fazendo coisas novas” Adaptação da frase de Daniel Colchete na apresentação “introdução à SRE no Google”

Slide 29

Slide 29 text

Fernando Ike // linkedin.com/in/fernandoike // twitter.com/fernandoike // pontocafe.fernandoike.com