In veel organisaties bestaat er een gezonde mate van tegenstrijdigheid c.q. verschil in belang tussen ‘Ontwikkeling’ en ‘IT-Beheer’. Waar ontwikkeling vanuit verandering denkt en juist voorstander is van innovatie, is beheer veelal terughoudend in verandering en wordt meer op stabiliteit gestuurd.
DevOps
Het doel van de software ontwikkelmethode DevOps is o.a. om versneld beter passende software producten en diensten te kunnen produceren. Met name door een nauwere samenwerking (communicatie, samenwerking & integratie) tussen ontwikkeling, IT-beheer en quality assurance te creëren. Dit ten opzichte van software ontwikkelmethodes waar nog, conform traditionele inrichting, apart opererende afdelingen voor ontwikkeling, IT-beheer en quality assurance zijn ingericht.
Het is geen vereiste, maar de ervaring is dat veel organisaties die DevOps als methode willen gaan hanteren specifieke DevOps teams inrichten, welke zijn samengesteld met vertegenwoordigers van alle disciplines. De teams werken op een Agile wijze aan software ontwikkeling om op die manier op iteratieve wijze software te ontwikkelen welke door zowel ontwikkeling als IT-beheer wordt erkend en gedragen.
Multidisciplinaire teams
Het gebruik van multidisciplinaire teams is vaak een streven binnen organisaties die DevOps hanteren. De bredere inzetbaarheid van teamleden en de nauwe samenwerking in elkaars primaire taken wordt belangrijk geacht. Kortom, een ontwerper ontwerpt niet alleen, maar schrijft o.a. ook code en/of test ook. De ontwikkelaar ontwikkelt niet alleen, maar ontwerpt en/of test ook. Een tester test niet alleen, maar ontwikkelt en/of ontwerpt ook. In de praktijk zullen dus situaties ontstaan waar een tester in eerste instantie een nieuwe release dient te deployen alvorens de testen kunnen aanvangen.
Schoenmaker blijf bij je leest
Vanuit de basis is het natuurlijk een goed streven dat teams multidisciplinair zijn, echter roept het wel de volgende vragen op.
Enerzijds ontstaat de vraag of het wel realistisch is om complete multidisciplinaire teams voor ogen te hebben. Een ontwikkelaar is specialist in het ontwikkelen van software, maar dat wil niet direct zeggen dat een ontwikkelaar bijvoorbeeld ook het specialisme van een tester (afdoende) beheerst en of zich daarin wil en kan ontwikkelen. Zo geldt dat natuurlijk ook andersom en voor de overige specialismen binnen een DevOps team. Aangezien iemand specialist is op een specifiek onderdeel binnen zijn/haar vakgebied (ontwikkelen, testen, etc.), bestaat de kans dat diegene zich minder interesseert in de overige onderdelen waarop hij/zij geen specialist is. Er mag toch worden aangenomen dat een ieder specialist is in zijn of haar vakgebied waarvoor men zich het meest interesseert?!
Door bovenstaande ontstaat anderzijds de vraag of de kwaliteit geen gevaar loopt wanneer (middels multidisciplinaire teams) personen worden aangespoord zich te ontwikkelen op andere gebieden dan hun specialisme. Medewerkers die middels organisatorische wijzigingen en strategische keuzes ‘gedwongen worden’ zich breder te gaan ontwikkelen zullen hier soms niet bereid toe zijn. Wanneer medewerkers hier wel bereid toe zijn blijft de vraag is of zijn/haar capaciteiten wel afdoende zijn daar invulling aan te kunnen geven. Hoe welwillend men ook is.
Conclusie
Mijns inziens kan vastgesteld worden dat DevOps een goede keuze is wanneer gezocht wordt naar een efficiëntere manier van samenwerken tussen betrokken disciplines. De korte lijnen, afstemming, communicatie en samenwerking tussen verschillende disciplines zorgen er in deze voor dat het object waaraan gewerkt wordt eerder de vorm aanneemt die een ieder verlangd. Daarnaast zullen de korte lijnen, afstemming, communicatie en samenwerking de doorlooptijd vaak ten goede komen.
De algemene vraag of DevOps leidt naar versnelde ontwikkeling van software kan daarmee positief worden beantwoord volgens mij. Middels de directere en nauwere samenwerking van disciplines worden veel vertragende factoren weggenomen en is het versneld opleveren van functionaliteit in bijna alle gevallen het resultaat!
Of het creëren van een multidisciplinair team ten allen tijde ook positief bijdraagt aan de kwaliteit, kan door mij niet met een volmondig positief antwoord beantwoord worden. Ja, het kan zeker meerwaarde hebben wanneer mutlidisciplinaire teams gevormd worden en men daadwerkelijk in staat is elkaar te vervangen, echter zal in praktijk rekening moeten worden gehouden met de bereidheid en capaciteiten van de betreffende medewerkers. Toetsing, afstemming en profielbepaling met de betreffende medewerkers is essentieel wil je er zeker van zijn dat de juiste mensen (met de juiste capaciteit en bereidheid) een multidisciplinair team vormen. Vervolgens is het essentieel om parallel daaraan de kwaliteitsprocessen ingericht te hebben om de kwaliteit te kunnen borgen.