Höj kvalitén på din mjukvara med Rubber Duck Debugging

Först kom WC-ankan – och nu är det dags för PC-ankan! Plötsligt snackar alla om Rubber Duck Debugging, trenden som fått allt fler utvecklare att vända sig till gummiankor när koden trilskas. Här berättar vi hur du kommer igång.

Det börjar med ett rykte – Infotivs affärsområde Test & Development ska tydligen ha köpt in tvåhundra gummiankor till kontoret. Ankorna ska hjälpa våra femtio testutvecklare, heter det. Någon muttrar något om en trend från internet.

Det låter för knäppt för att vara sant, men ett snabbt samtal till ansvarig chef bekräftar farhågan. Ankorna, som just nu skeppas över Östersjön, är tänkta att fungera som ett ”stöd i granskningsaktiviteter”.

 

 

Tvåhundra gummiankor.

Första tanken är att ledningsgruppen varit på en riktigt usel kurs, säkert i regi av någon rackarns karismatisk skojare. Visst, det är inte lätt att hitta rätt i metoddjungeln, men allt är nödvändigtvis inte kompetensutvecklande bara för att en föreläsare med lång hittepåtitel och ett restlager med gummiankor har sagt det.

Kvack-salveri?

Efter ytterligare efterforskningar visar det sig dock att gummiankorna kan kopplas till en ny sorts felsökningsmetod – ett fenomen som kallas ”Rubber Duck Debugging” och som tydligen är något av en subkultur i programmerarkretsar.

 

 

Men hur kom det sig att gummiankan plötsligt blev vår tids hetaste IT-konsult? Vi tar det från början. 

Låt säga att du arbetar som mjukvaruutvecklare. Det är eftermiddag och du har just knackat ur dig några hundra rader kod när du tvingas konfronteras med ett jobbigt faktum. Koden funkar inte. Någonstans finns en bugg, men du kan inte för ditt liv begripa var problemet ligger. 

Du lommar iväg till en kollega som snällt hänger med tillbaka, bara för att påpeka att det saknas ett kommatecken eller semikolon – försmädliga små missar, som dock aldrig borde ha krävt någon omfattande felsökningsinsats. Inom loppet av någon minut har du inte bara skapat irritation hos din överkvalificerade kollega, utan också fått dig själv att framstå som både lat och lite lätt förståndssvag.

Flera medlemmar på Stack Overflow, ett nätcommunity för programmerare, vittnar även om hur de brukar gå fram till sin kollega, lirka loss vederbörandes hörlurar och börja förklara ett problem för att sedan tystna: ”Äh, förresten. Det var inget. Tack för hjälpen”. Som på ett magiskt sätt lyckades de alltså komma på problemet själva, mitt uppe i sin förklaring.

Nu har dock utvecklare världen över tröttnat på att agera IT-support helt i onödan, och som svar på denna kollektiva frustration ser vi alltså hur fenomenet Rubber Duck Debugging sprider sig som en oljad foton bland programmerare. 

Metoden bygger på en simpel idé: istället för att störa dina kollegor kan du lika gärna förklara problemet för – ja, just det, en gummianka.

Rubber Duck Debugging – så kommer du igång

Rubberduckdebugging.com förklaras metoden steg för steg. Första steget är förstås att du skaffar dig en gummianka. Ankan placeras sedan på skrivbordet, varefter du informerar den om att ni snart kommer att gå igenom lite kod tillsammans. Om den har tid, förstås. 

Nästa steg är att berätta för ankan vad det är tänkt att koden ska göra och sedan gå igenom koden i detalj, rad för rad. Vid något tillfälle inser du kanske att det du beskriver för ankan inte överensstämmer med vad koden faktiskt gör. Bingo! Problemet är hittat, du gråter av glädje, ankan gråter av glädje – eller nej, ankan gråter troligtvis inte av glädje. Men som Rubberduckdebugging.com skriver: “The duck will sit there serenely, happy in the knowledge that it has helped you on your way”.

 

 

Att metoden funkar är egentligen inte så konstigt. När man beskriver ett problem för en kollega, eller en gummianka för den delen, kan man inte bara fokusera på en detalj eller ett delproblem. Istället tvingas man sätta problemet i en kontext, och när man gör detta ökar sannolikheten att man inser var det verkliga felet ligger.

En annan förklaring är att hjärnan har en tendens att själv fylla i sånt man ändå ”vet” borde finnas där. Men genom att förklara saken högt för dig själv blir du mer eftertänksam och fokuserad.

På nätet hyllas metoden bland annat av studenter, som vittnar om att gummiankan dramatiskt förbättrat deras betyg. Andra är mer kritiska och menar att själva gummiankan är överflödig – att det är minst lika effektivt att beskriva sitt problem på Stack Overflows forum (denna populära felsökningsmetod går för övrigt under namnet “typing seven paragraphs into Stack Overflow and then deleting the whole thing because you just figured it out”).

Dessutom känner sig långtifrån alla bekväma med att sitta på kontoret och prata högt med en gummianka. För hur sjutton tillämpar man metoden utan att riskera att bli inlagd? 

På forumen duggar tipsen tätt. ”Lämna ankan hemma, ta på ett headset och tala in ett meddelande på ankans röstbrevlåda”, föreslår en användare som förklarar att knepets styrka ligger i att samhället numera klarar av att se människor med bluetoothlurar utan att tänka att de är galningar som pratar med sig själva.

Eller ännu värre, med en gummianka.

Boosta kvalitén i din produkt!

Behöver du hjälp med att testa dina produkter? På Infotiv Test & Development arbetar inte bara 200 gummiankor, utan också 80 testutvecklare och utvecklare. Varmt välkommen att kontakta oss!

Tomas Sjögren, Business Area Manager, tomas.sjogren@infotiv.se
Hanna Gynnerstedt, Consultant Manager, hanna.gynnerstedt@infotiv.se
Magnus de Canesie, Technical Project Leader – Test Systems, magnus.de.canesie@infotiv.se

Share this page