Bij Mob Programming werken drie of meer ontwikkelaars samen achter dezelfde computer. Het doel is om zo snel mogelijk kwalitatieve software af te leveren. Zo’n samenwerking van een groepje ambitieuze developers is sowieso niet evident. Als het ook op afstand moet gebeuren, lijkt het nog moeilijker. Toch levert ook Remote Mob Programming mooie resultaten als je het goed aanpakt.
De meeste ontwikkelaars zijn vertrouwd met Pair Programming, waarbij twee developers samenwerken aan dezelfde oplossing. Mob Programming of Mob programmeren is hetzelfde concept maar dan met drie of meer softwareontwikkelaars. Normaal gezien zitten ze daarbij samen in dezelfde ruimte, en kijken ze naar een – liefst groot – scherm. Als dat niet kan, is Mob Programming ook perfect mogelijk op afstand. Hieronder enkele tips voor Remote Mob Programming.
Wissel regelmatig de rollen
Net als bij Mob Programming is er bij Remote Mob Programming altijd één ‘driver’ nodig. Dat is de enige persoon die mag typen en coderen. Een belangrijke regel: om de zoveel tijd wordt er van rol gewisseld zodat elke deelnemer aan de beurt komt als driver. Zo blijft iedereen alert.
Naast de driver is er normaal gezien ook een ‘dedicated navigator’. Terwijl de driver druk bezig is met typen, heeft de navigator alle tijd om na te denken, te reviewen en het werk te bespreken en beschrijven. De navigator dicteert aan de driver wat er gecodeerd moet worden. De overige aanwezigen krijgen ook de rol van navigator om de toegewijde navigator te ‘challengen’.
Creëer een virtuele ruimte
Zorg ervoor dat iedereen uit het team op elk moment kan worden aangesproken, net zoals dat het geval is wanneer iedereen in hetzelfde bureau zit. Creëer daarom een virtuele ruimte waar iedereen aanwezig is, door bijvoorbeeld een ‘lobby call’ op te zetten die de hele dag aanstaat. Gewoonlijk staan de microfoon en de webcam gewoon uit wanneer er niet gecommuniceerd wordt. Op het moment dat je een vraag hebt die iedereen moet horen, kan je je microfoon aanzetten en de vraag luidop stellen. Iedereen in de lobby kan dan reageren.
Deel je scherm
Maak kleine teams van liefst drie of vier mensen. Er bestaan verschillende tools zoals Microsoft Teams en Use Together die de mogelijkheid geven om je scherm te delen en effectief met meerdere mensen samen te werken op één pc. Bovendien kan telkens degene die de ‘driver’ is, de controle over de computer nemen.
Zet de webcam aan
Zet je webcam aan tijdens meetings. Wanneer je moet brainstormen of iets wil bespreken, is het veel aangenamer om elkaar te kunnen zien. Lichaamstaal zorgt ook voor een veel betere communicatie. Je ziet dan hoe jouw collega’s reageren op beslissingen en oplossingen die op dat moment genomen worden.
Wees agile
Durf te experimenteren met verschillende processen en bekijk wat het best werkt voor jou en je team.
Do’s en don’ts
Wat je vooral wél moet doen bij (Remote) Mob Programming:
- durf te praten
- stel vragen
- maak zaken visueel door ze te tekenen
Wat je beter níet doet bij (Remote) Mob Programming:
- te lang discussiëren over zaken die er niet toe doen zoals keyboard shortcuts
- dezelfde persoon te lang in dezelfde rol houden
- dezelfde persoon die altijd het laatste woord heeft
Uitdagingen bij Mob Programming
Voor Mob Programming is het lastig wanneer developers met verschillende computers en toetsenborden werken. Mac en Windows bijvoorbeeld, of azerty en qwerty, of als ze werken met zelf gedefinieerde shortcuts of met verschillende editors zoals IntelliJ of Visual Studio Code.
Handige tools voor Mob Programming
Er bestaan ook tools die de samenwerking wat vlotter doen verlopen. Zo is Mobster een erg handige tool voor Mob of Pair Programming. Je kan hierin de namen van de deelnemers invoeren waarna automatisch een driver en een navigator aangeduid worden. Wanneer de timer afgaat, worden de rollen ook automatisch herverdeeld. Zo vermijd je al een aantal discussies.
Je kan ook je tests als roteermiddel gebruiken. Daarvoor moet je natuurlijk Test-Driven Development (TDD) toepassen, waarbij je eerst de tests schrijft en pas daarna de code. In plaats van na een bepaalde tijd te wisselen van rol, wissel je dan na elke goedgekeurde test.
Grote voordelen, ook op lange termijn
Mob Programming en Remote Mob Programming lijkt misschien op het eerste gezicht erg ingewikkeld en inefficiënt omdat er zoveel mensen bij betrokken zijn. Toch biedt die aanpak grote voordelen. Om te beginnen leer je je collega-ontwikkelaars beter kennen, wat de samenwerking op langere termijn een boost geeft. Bovendien kan je complexe problemen vaak mooier en beter oplossen door de hoofden bij elkaar te steken. Tenslotte zorgt mobbing er ook voor dat het hele team op de hoogte is van alle beslissingen, de codebase en functionaliteiten.
Meer tips voor Remote Programming vind je hier.
Cheops Webinar Wednesdays
Schrijf je vandaag nog in voor onze webinar reeks.