Sokakkal, talán már szinte mindenkivel megtörténhetett, hogy hiába volt kezében mondjuk egy IKEA-útmutató, képtelenségnek tűnt az egyszerű bútor összeszerelése. Mikor már csüggedten leült a padlóra, bejött a szobába valaki, akinek érdeklődésére elmagyarázta a problémáját – és ekkor hirtelen rájött a megoldásra!
Mikor elakadunk valamivel, és megpróbáljuk hangosan elmagyarázni, gyakran váratlanul minden értelmet nyer. A programozásban ezt „gumikacsa-hibakeresésnek” nevezik.
Elliot Valoy, a Sydney-i Egyetem informatikusa elmagyarázza, miért hatékony ez a módszer.
A „gumikacsa-hibakeresés” kifejezés először állítólag 1999-ben, a The Pragmatic Programmer: From Journeyman to Master című egyetemi tankönyvben jelent meg. A tankönyv programozásról és szoftverfejlesztésről szól, de ahelyett, hogy valamilyen elméletet mutatna be, gyakorlati fejlesztési folyamatokat vázol, analógiákat, sztorikat és népmeséket ismertet, a forrásban lévő béka metaforáját használja.
A forrásban lévő béka ismert példázata azt írja le, hogy a fazékban a béka lassan egyre jobban alkalmazkodik a növekvő hőmérséklethez, és csak akkor próbál kimenekülni, amikor már túl késő, és megfőtt. A tanmese nem biztos, hogy igaz, de szemléletes.
A gumikacsa-hibakeresés fogalmát is az említett könyvben vezették be. A módszer lényege, hogy amikor egy programozó nem tud rájönni, miért nem működik a kódja, helyezzen el egy gumikacsát az asztalán, és hangosan magyarázza el neki, mi is lenne a kód feladata. Miközben a kacsához beszél,
akaratlanul észre fogja venni, mi a különbség aközött, amit megpróbál csinálni és amit valójában csinál.
Valoy szerint sokan először hangosan felolvasnak egy feladatot, így dolgozzák fel azt. A hangos olvasásnak sokszor megvilágosító ereje van, segít agyunknak „meghallani” a korábban fel nem ismert problémákat. A másoknak való magyarázat pedig arra kényszerít minket, hogy a tartalmat fogalmi részekre bontsuk, integráljuk azokat a meglévő tudásunkkal, és logikusan rendszerezzük.
Egy, a tanítás általi tanulás relatív előnyeiről írt 2013-as tanulmány megállapította, hogy mások tanításának őszinte szándékával, ténylegesen tanítva őket, „az információk mélyebb és tartósabb megértéséhez jutunk”.