Blog om agile metoder, udvikling og ledelse


oprydning, teknisk gæld, kodekvalitet, boy scout rule, metafor

Tag opvasken

Morten Ulrik Sørensen | 29.05.2021

Det er lækkert at komme ud i køkkenet når det er rent og klar til brug — derfor er det en god idé at rydde op inden man forlader det. Det samme gælder når vi programmerer; efterlad koden (og køkkenet) lidt lækrere end da du fandt det, klar til de andre og klar til dig selv.

Jeg stod i køkkenenet den anden aften og ordnede det sidste: satte i opvaskemaskinen, skrubbede en pande, tørrede bordet; alle de små ting, der ville gøre det til et rarere køkken at komme ned til næste morgen — og så tænkte jeg på, at det egenligt er af de samme grunde at jeg prøver at altid1 efterlade koden ren og ryddelig.

Jeg kan lade opvasken stå til i morgen, men det er faktisk lettere nu, før det tørrer ind. Jeg kan også vente med at rydde op i koden til næste gang jeg kommer forbi, men det er faktisk lettere nu, mens jeg har det i hovedet og forstår det.

Jeg kan lade det stå til i morgen, men jeg risikerer at der kommer en anden forbi, ærgrer sig over tingenes sørgelige tilstand, og rydder op før jeg selv får chancen. Luksus, men ærgrer de sig også over mig?

Det er det, the boy scout rule handler om: efterlad altid lejrpladsen/koden/køkkenet lidt pænere end da du kom.

Det er også det, der ligger i anden del af make it work, make it right, make it fast: at man ikke skal stoppe så snart skidtet virker (vi fik mad i dag), men fortsætte indtil det også er "rigtigt": altså i en tilstand, som man kan byde andre (og sig selv) at arbejde videre med.

I køkkenet er det som regel forholdsvis veldefineret, hvad "rent og rydeligt" betyder. Der kan godt være lidt mere delte meninger om "hvad der er pænt" i kodebasen, men det er ikke nogen god grund til ikke at forsøge at gøre sig umage.

At efterlade køkkenet rent og ryddeligt og rart at bruge næste gang er en kærlig gestus til dem, jeg deler køkken med — inklusive "fremtidige mig", som også er værd at gøre en tjeneste.

Hvad med dig — er du én, man har lyst til at dele køkken med?


  1. Forudsigelig fodnote om at dette altid er min ambition, men at det ikke altid lykkes.