Agile draait een groot deel om communicatie en concentratie op het werk dat moet gebeuren. Toch is het gewoonlijk om veilig achter je eigen computer te blijven werken en alle taken in een sprint te verdelen onder de teamleden. Is pair programming een stille dood gestorven in ons dagelijks werk?
Vaak wordt er pas gecommuniceerd in een team als er vragen ontstaan. De focus op het werk gaat voor sommige programmeurs al snel verloren omdat ze vaak alle vragen krijgen. Deze blog gaat over een misschien inmiddels vergeten principe namelijk pair programming. Wie de regels van pair programming leest komt bijvoorbeeld tegen dat alle code die naar een productie-omgeving gaat moet worden gemaakt met behulp van pair programming. In deze blog ga ik even niet in op hoe de regels zijn bepaald en of ik hier achter sta maar kijk ik vanuit mijn eigen agile mindset naar de voordelen. Hier volgen dan ook de 5 tips voor het toepassen van pair programming in agile scrum.
1. Pair programming bij complexe situaties
Het toepassen van pair programming is zeer geschikt in complexere onderdelen. Sommige onderdelen vereisen meerdere standpunten en mensen van verschillende achtergronden. Bepaal bij de onduidelijke technische uitdagingen wie er in het team op het onderdeel ingaan en verkrijg op deze manier vooral kennis. Een proof of concept, of ook wel spike genoemd, zijn prima methoden om kennis op te doen en aannames te valideren.
2. Bepaal onderdelen in planningsessie
Hoe goed de voorbereiding van een onderdeel ook is voor de sprint, onderdelen in de sprint kunnen nog steeds uitdagend zijn. Bepaal tijdens de planning sessie welke onderdelen worden benaderd met pair programming. Het team kan bijvoorbeeld de regel instellen dat alle onderdelen boven een bepaald aantal complexiteit punten uit principe worden ontwikkeld door twee teamleden.
3. Concentratie en discipline
Om pair programming vol te houden is concentratie en discipline nodig. Stem tijdens de daily standup tussen de teamleden af wanneer er door twee teamleden aan hetzelfde onderdeel wordt gewerkt. Spreek elkaar aan op de afspraak en probeer niet uit te stellen. Discipline is nodig om van pair programming een succes te maken.
4. Persoonlijke match
Door een juiste match van teamleden kan er een hoge productiviteit worden gehaald. De verschillende referentiekaders en ervaring zijn van toegevoegde waarde. Door de juiste match van persoonlijkheden zal de concentratie behouden blijven en wordt kennis sneller gedeeld.
5. Laat ego gaan
Combinaties van teamleden die elkaar niet goed liggen zullen minder productief zijn. Het is daarom belangrijk dat teamleden hun ego kunnen laten varen. Iedereen kan hierdoor leren. Mensen die moeilijk de controle uit handen geven kunnen dit met pair programming leren. Junior teamleden die opkijken tegen senior teamleden worden op deze manier voor het blok gezet om open te worden en durven zo eerder fouten te maken. Fouten maken is op zijn beurt weer juist een positief onderdeel om snel te kunnen leren. Hiermee heeft iedereen iets te leren in het proces van pair programming.
Ik ben erg benieuwd hoe jullie aankijken tegen het toepassen van pair programming in het dagelijks werk. Mis ik onderdelen of ben ik te kort door de bocht?