jueves, 18 de diciembre de 2014

No Tiene Nada Que Ver: Resolución de Problemas por Patito de Hule

"No hay problema que pueda ser resuelto en el mismo nivel de consciencia que teníamos cuando lo creamos"
~ Albert Einstein (1879 - 1955)

Hace tiempo, mientras que nos devanábamos los sesos por un problema en la aplicación que soportamos, un amigo mencionó el concepto de "Debuggeo* por Patito de Hule" que consiste en tomar tu código y explicárselo paso a paso a un pequeño patito de hule a un lado de tu computadora.

*Debuggeo = debugging = remover bugs. Un "bug" es un error en un programa de cómputo. "Debuggeo" es el término pocho bastardificado del Spanglish.

Funcionó. Puede sonar risible, pero por las nalgas empolvadas de Campanita, funcionó. Desde entonces lo utilizo cuando estoy atorado en algún problema en esta pobre aplicación que está sostenida con alfileres, chicle y buenos deseos. 

El término fue referenciado en "The Pragmatic Programmer: From Journeyman to Master" (El Programador Pragmático: De Principiante a Maestro) escrito por Andrew Hunt y David Thomas**, publicado en 1999, donde se cuenta la historia de un programador que cargaba un patito de hule consigo y encontraba los problemas en su código al forzarse a sí mismo a explicarle línea por línea su razonamiento al patito. 

**Ah, el área de Tecnologías de la Información, donde no es necesario estar loco !pero cómo ayuda!

Es, además, el mejor medidor de ebriedad que tengo: cuando el patito empieza a discutir conmigo he bebido suficiente.

Ésta metodología es una de las maneras más sutiles e interesantes de ayudarte a tí mismo para resolver un problema: tomarte el tiempo de pensar en tu problemática y explicarlo de una manera simple y ordenada otorga una perspicacia sobre los componentes que probablemente no tenías cuando empezaste. Es increíble, pero funciona, se las recomiendo la siguiente vez que estén perdidos en un problema: ordenen sus pensamientos, recorran el problema paso a paso y de ser posible platíquenselo al objeto inanimado más cercano que tengan.

No se preocupen por sonar ridículos, y no lo digan en su mente, realmente háblenle y platíquenle su problema como se lo harían a una persona. Es un paso crítico el comprometerse en platicar/preguntar su problema de la manera más detallada posible al objeto inanimado. Por supuesto, sirve cualquier objeto inanimado. Yo uso un pingüinito de felpa con un suéter navideño.

Se llama Cirilo. ¿Qué? ¿Ustedes no le ponen nombre a sus muñecos de peluche?

!Saludos!
Atte,
El Kushiage
~ Por supuesto, sirve platicar el problema a cualquier persona que no sepa nada del asunto, pero  sólo Cirilo me tiene la misma paciencia que yo le tengo a él.

PD. Gracias Jaime por presentarme el genial concepto.

1 comentario: