Ese 'bug' irresoluble: Herramientas para hacer de detective y (casi) mantener la calma

Todos nos hemos encontrado alguna vez, probablemente múltiples veces al año, con algún problema sin aparente solución en uno de nuestros proyectos. Las horas pasan, salen nuevas canas, el patito de goma ya está cansado de oírnos, y cada vez parece más tentador solucionar este ticket y todos los demás abandonándolo todo y yéndote a trabajar como panadero.

Cada vez que me he encontrado en ésta situación, con un bug imposible de encontrar (a priori), he pensado cómo intentar automatizar también este proceso y que dependa menos de cómo me levante ese día. Tener algún tipo de algoritmo, procedimiento o 'checklist' al que poder agarrarme cuando las cosas vienen mal dadas y poder seguir avanzando sin perder cordura en el proceso.

Para ello, abordaré este problema como si fuera un puzzle o un juego de mesa, manteniendo tanto el punto de vista del detective que quiere encontrar al bug y a sus causas de una manera perfeccionista, como el punto de vista del niño que sólo quiere solucionar el puzzle sea como sea, incrustando la pieza con todas sus fuerzas y consiguiendo la cuadratura del círculo: si funciona...

Así que propongo un sistema de cartas/algorítmico con preguntas que permitan separar conceptos de forma iterativa y así detectar sus dependencias y dividir el problema otros menores. Si hace falta, esquivaremos algunos de ellos dudando de premisas, delegaremos otros que estarán en mejores manos, o incluso crearemos nuevos problemas para exponer el real, pero siempre con la idea de dar con una solución al conjunto que permita que todos vivamos más felices.