Veel development teams krijgen er vroeg of laat mee te maken:
Developers werken niet meer aan één project tegelijk.
In plaats daarvan:
Zeker in een agency-omgeving of bij supportgedreven werk is dit eerder regel dan uitzondering.
Bij Qlic schakelen developers regelmatig meerdere keren per dag tussen projecten. Daarnaast komt het vaak voor dat iemand instapt in een project waar hij of zij niet vanaf het begin bij betrokken was.
Zonder duidelijke afspraken leidt dat vrijwel altijd tot:
Om dat te voorkomen, hebben we een aantal vaste werkwijzen ingericht.
Waarom contextwissels een probleem zijn
Onderzoek naar “context switching” binnen softwareontwikkeling laat zien dat productiviteit afneemt naarmate taken vaker worden onderbroken.
Belangrijke effecten:
De impact hiervan wordt groter wanneer:
Daarom ligt de oplossing niet alleen in minder schakelen (wat vaak niet realistisch is), maar vooral in het verlagen van de kosten per switch.
De basis: elk project moet overdraagbaar zijn
Ons uitgangspunt:
Elk project moet binnen korte tijd op te pakken zijn door een andere developer.
Dat betekent concreet dat een project niet afhankelijk mag zijn van:
Om dat te bereiken, werken we met een aantal vaste elementen.
1. Een duidelijke en complete README
Elke repository bevat een README die minimaal de volgende onderdelen bevat:
Projectcontext
Technische setup
Architectuur (globaal)
Bekende aandachtspunten
Dit voorkomt dat een developer moet zoeken naar basisinformatie voordat hij kan beginnen.
2. Standaardisatie tussen projecten
Hoe groter de verschillen tussen projecten, hoe hoger de “switch cost”.
Daarom beperken we variatie waar mogelijk:
Dit zorgt ervoor dat kennis overdraagbaar wordt tussen projecten.
Een developer hoeft niet telkens opnieuw te leren hoe iets werkt, maar alleen wat er specifiek is gebouwd.
3. Overdrachten bij afwezigheid
Wanneer een developer met verlof gaat of tijdelijk uit een project stapt, wordt er een overdracht gedaan.
Deze overdracht bevat:
Bij voorkeur wordt dit vastgelegd in:
Het doel is dat iemand anders zonder extra uitleg verder kan.
4. Kleine, afgebakende taken
Grote, langdurige taken maken het lastig om werk over te dragen of tijdelijk te pauzeren.
Daarom werken we zoveel mogelijk met:
Dit maakt het mogelijk om:
5. Centrale plek voor voortgang en beslissingen
Naast code is ook besluitvorming belangrijk om vast te leggen.
We zorgen dat:
Dit voorkomt dat informatie verloren gaat wanneer iemand:
Wat dit oplevert
Door deze werkwijze wordt het effect van context switching beperkt.
Concreet zien we:
Dit maakt het mogelijk om flexibel te plannen zonder dat kwaliteit direct onder druk komt te staan.
Kort samengevat
Snel schakelen tussen projecten vraagt niet alleen discipline, maar vooral structuur.
De belangrijkste elementen:
Afsluiting
In omgevingen waar developers aan meerdere projecten werken, is context geen bijzaak maar een randvoorwaarde.
De vraag is niet:
“Hoe voorkomen we dat we moeten schakelen?”
Maar:
“Hoe zorgen we dat schakelen zo min mogelijk tijd en fouten kost?”