Dit artikel verscheen eerder op opensourcewerken.nl.
Terwijl software development bij uitstek een werkveld is waarin samenwerking vereist is, kampen veel organisaties met “eilandjesvorming”. Teams werken geïsoleerd van elkaar, met weinig onderlinge afstemming. Dit leidt tot een gebrek aan eenheid in het gebruik van technieken, zoals programmeertalen en libraries.
Wat is het resultaat? Een wildgroei van verschillende codebases zonder handleidingen die later onderhoudsproblemen veroorzaken. Ik zet een aantal van de nadelen voor management en developers op een rij.
Nadelen voor het management
Lastig inwerken op nieuwe projecten
Wanneer er een grote verscheidenheid van projecten (codebases) binnen een organisatie is, kost het inwerken van developers op nieuwe projecten meer tijd. Verschillen in projectinrichting zorgen voor onnodige complexiteit en extra werk.
Onderhoud kost meer tijd
Het up-to-date houden en beheren van software kost meer tijd als deze niet eenduidig gebouwd en gedocumenteerd is. Als een developer een update moet doorvoeren in een codebase die niet lijkt op iets wat diegene eerder heeft gezien, kost dit meer tijd dan in een herkenbare codebase.
Moeilijker te monitoren
Een versnipperde infrastructuur laat zich lastig monitoren. Wanneer projecten verspreid staan over meerdere omgevingen, zoals GitLab en GitHub, wordt het overzicht houden en beheren uitdagender.
Nadelen voor developers
Beperkte kennisontwikkeling
Als developers geïsoleerd werken, missen ze belangrijke kansen voor kennisdeling. Het ontwikkelen van nieuwe vaardigheden en het leren van collega’s is een cruciale reden om bij een organisatie te willen werken.
Minder werkplezier, inbedding en gezelligheid
Eilandjeswerking belemmert niet alleen de efficiëntie, maar vermindert ook het werkplezier. Developers voelen zich minder verbonden met het team en de organisatie, wat leidt tot een snellere uitstroom en een gebrek aan betrokkenheid.
Hoe voorkom je eilandjes?
Om bovenstaande problemen te voorkomen, is het essentieel om teams met elkaar te laten afstemmen en synergie te creëren. Gelukkig zijn er prima realistische manieren om dit te bewerkstelligen. Hieronder enkele praktische oplossingen:
Tip 1: Fysieke samenwerking bevorderen
Fysiek samen op locatie werken bevordert informele kennisdeling en samenwerking. Door regelmatig samen te werken op kantoor weten developers sneller waar hun collega’s mee bezig zijn en sturen ze tijdig bij. Vanuit Developer Overheid organiseren we daarom ook maandelijks een samenwerkdag waar teams elkaar kunnen ontmoeten.
Tip 2: Organiseer kennissessies en presentaties
Kennisdeling kan actief gestimuleerd worden door het organiseren van interne presentaties, workshops en hackathons. Dit creëert een leeromgeving waarin developers van elkaar leren en geïnspireerd raken. Vanuit Developer Overheid stimuleren we dit door maandelijkse vrij toegankelijke workshops waarbij je wordt meegenomen achter de schermen van een project of organisatie.
Tip 3: Creëer een Open Source Program Office (OSPO)
OSPO’s kunnen fungeren als schakel tussen teams met vergelijkbare wensen en vragen. De samenwerking tussen deze teams bevordert de standaardisatie van tools en processen binnen de organisatie. Daarnaast is het een belangrijke taak van OSPO’s om het softwarelandschap van de organisatie in kaart te brengen, zodat teams elkaar gemakkelijk kunnen vinden wanneer dat nodig is. Steeds meer organisaties, zoals Alliander, het UWV en het ministerie BZK, hebben een OSPO opgericht.
Wat levert dit op?
Door samenwerking over teams heen krijgen developers de kans om van elkaar te leren, wat hun technische vaardigheden en persoonlijke groei ten goede komt. Werken in een omgeving waarin kennisdeling en samenwerking centraal staan, leidt tot meer werkplezier en een gevoel van verbondenheid met de organisatie. Teams die beter op elkaar afgestemd zijn, werken efficiënter. Developers weten sneller wat er binnen andere teams speelt en kunnen hierop anticiperen.
Kortom, met deze aanpak profiteren zowel management als developers van een meer gestroomlijnde en plezierige werkomgeving, met minder eilandjes, meer samenwerking en dus betere ontwikkelresultaten.
Jouw ervaring?
Heb jij in jouw organisatie ook ervaring met een eilandjescultuur, hebben jullie manieren gevonden om dit aan te pakken? We horen graag jullie inzichten.