Como foi possível chegar a esse julgamento?
(stdy.blog)Experiência recente de depuração em par
- “Um problema em que o resultado de executar uma determinada ação para vários itens na página de lista às vezes não aparece refletido na página de item individual”. Não foi possível identificar o caminho de reprodução
- Assim que ouvi isso, sugeri verificar o caso em que “você primeiro entra na página do item individual, depois volta para a página de lista e então executa a ação em questão”. Esse era mesmo o caminho de reprodução
A sessão de depuração em par terminou em menos de 5 minutos, mas isso me deixou pensando
- Como eu consegui perceber isso, e por que esse colega não conseguiu?
- Como posso elevar de forma eficaz a capacidade dessa pessoa?
Como sênior, esse tipo de situação acontece com certa frequência em code reviews e trabalho em dupla
- O sênior percebe rapidamente alguma parte suspeita e faz uma sugestão de melhoria plausível.
- O júnior recebe isso com admiração.
- Da próxima vez, surge de novo um problema parecido, embora não exatamente igual.
- O sênior percebe de novo e faz outra sugestão de melhoria.
- O júnior entende um pouco mais e erra menos, mas não evolui tão rápido quanto eu gostaria.
Isso acontece porque só a solução do sênior é transmitida, enquanto o processo cognitivo por trás dela — ou seja, “como foi possível chegar àquele julgamento e àquela tomada de decisão” — não é transmitido
O CDM, desenvolvido por Gary Klein, é um bom método para analisar esse processo cognitivo com relativa rapidez, até mesmo por conta própria
- Cues : What were you seeing, hearing, smelling ...?
- Knowledge, Source : What information did you use in making this decision, and how was it obtained?
- Analogues : Were you reminded of any previous experience?
- Goals : What were your specific goals at this time?
- Options : What other courses of action were considered by or available to you?
- Basis : How was this option selected/other options rejected? What rule was being followed?
- Experience : What specific training or experience was necessary or helpful in making this decision?
- Aiding : If the decision was not the best, what training, knowledge, or information could have helped?
- Tools : When making this decision, were there any tools that helped that specific decision?
- Time Pressure : How much time pressure was involved in making this decision?
- Situation Assessment : Imagine that you were asked to describe the situation to someone superior to(in terms of expertise, for example) you at this point, how would you summarize the situation?
- Hypothesis : If a key feature of the situation had been different, what difference would it have made in your decision?
Conclusão
- Em reviews de PR no GitHub, que em geral acontecem de forma assíncrona, o conhecimento tácito do revisor tende a aparecer muito menos
- Nesse momento, se a pessoa conscientemente se fizer as perguntas do CDM e incluir junto “como eu consegui pensar nesse comentário”, acredito que tanto a capacidade do revisor quanto a de quem escreveu o PR vão evoluir muito mais rápido
- Naturalmente, isso pode ser extremamente útil também fora do desenvolvimento: em qualquer área que exija trabalho cognitivo, seja eu quem ensina ou quem aprende.
1 comentários
Tradução parcial do CDM (DeepL):