El nombre es una referencia a una historia del libro The Pragmatic Programmer en donde un programador toma un patito de goma y revisa su código forzándose a sí mismo a explicarlo, línea por línea, al pato.
[1][2] Existen otros muchos términos para esta técnica[cita requerida], que a menudo tienen que ver con objetos inanimados.
Muchos programadores han tenido la experiencia de explicar un problema de programación a alguien más, posiblemente a alguien que no sabe nada sobre programación, y encontrar la solución en el proceso de explicar el problema.
Al comparar lo que supuestamente hace el código con lo que hace en realidad, cualquier incongruencia resulta evidente.
[3] Usando un objeto inanimado, el programador puede tratar de lograr el mismo efecto sin tener que hablar con otra persona.