De drie essentiële elementen voor succesvolle software: mens, proces en techniek

Huib Schoots - Het streven naar snellere softwareontwikkeling is alomtegenwoordig, maar helaas gaat het vaak mis. Kapotte software kost niet alleen veel geld, maar veroorzaakt ook frustratie. In deze blog wil ik het hebben over drie essentiële elementen voor succesvolle software: mens, proces en techniek. 

Wat me telkens weer opvalt in organisaties is dat iedereen sneller wil. Software moet sneller gemaakt worden en daarna moet het ook sneller naar productie. Ik, als ongeduldig mens, snap dat als geen ander. Fouten in software kosten onze samenleving handen vol geld. In 2014 zo'n 1,6 miljard euro (1). Veel softwareproblemen blijken bijzonder complex en niet eenvoudig op te lossen. Om softwareontwikkeling te verbeteren is afstemming tussen mens, proces en techniek essentieel. Helaas focussen veel organisaties zich slechts op het proces en/of de techniek, waarbij het proces vaak de voorkeur krijgt. Frameworks zoals Scrum of SAFe worden geïmplementeerd om de productie te stroomlijnen. Maar maken ze de verwachtingen waar? Ik zie regelmatig dat het een tijdje beter gaat, maar verdere verbetering blijft uit en de organisatie als geheel is niet direct wendbaarder of sneller geworden.  

Twee boeken ter inspiratie 

Een fantastische inspiratiebron gebaseerd op harde wetenschappelijke data is het boek "Accelerate" (2) en de achterliggende DORA research (3). Volgens Nicole Forsgren, Jez Humble en Gene Kim zijn er (voorheen 24, inmiddels) 27 capabilities (4) verdeeld over drie categorieën: techniek, proces en cultuur die van belang zijn voor het verbeteren van software en het bevorderen van de prestaties van organisaties. Dit bevestigt het belang van afstemming tussen mens, proces en techniek. 

No alt text provided for this image

Het inspirerende boek "Viral Change" (5) van Leandro Herrero maakt kristalhelder dat verandering vooral over gedrag gaat. In elke organisatie zijn twee aspecten die performance bepalen: het systeem en het gedrag binnen het systeem. Het systeem is hoe zaken georganiseerd zijn: processen, teams, beleid en afspraken. Gedrag is alles wat we doen, waaronder ook de manier van communiceren en samenwerken. Het gedrag van mensen binnen een organisatie bepaalt de cultuur. Herrero stelt dat de systeemkant ongeveer een derde van het succes van de organisatie bepaalt en gedrag bepaalt twee derde. Doorslaggevend is dus het gedrag van de mensen!  

Mens, proces en techniek in balans 

Hoe vertalen deze principes zich dan naar development teams? Dit komt het duidelijkst naar boven als we kijken naar de rol van scrummasters. Een slechte scrummaster is vooral gefocust op het proces, terwijl een middelmatige scrummaster ook als coach optreedt op het gebied van teamdynamiek, gedrag en de cultuur binnen het team. Een goede scrummaster heeft daarnaast ook kennis van de techniek en helpt het team ook daarin beter worden. Ik zie dat ook bij de organisaties waar ik rondloop. Teams die scrummen als proces zien, hebben het vaak lastig. Teams die ook bezig zijn met gedrag, de samenwerking en communicatie zie ik sneller groeien. Teams die het geheel van mens, proces en techniek verbeteren, gaan echt vliegen. Want ook in techniek is veel winst te halen met concepten als “Continuous Integration & deployment”, "Code maintainabilty”, “Trunk-based development” of “Loosely coupled architecture” en “slimme Automation” om er maar een paar te noemen. 

Ik geloof sterk dat afstemming tussen mens, proces én techniek de oplossing is om betere software te kunnen maken. En om teams succesvol te maken, zal je deze aspecten in balans moeten brengen. De mens staat niet voor niets voorop, omdat het proces en de techniek pas echt succesvol kunnen zijn als de mens het juiste gedrag vertoont. Gedrag is de sleutel tot succes, en dat is juist het lastigste om te veranderen. 

Hoe doet jouw team dat? Welke aspecten focussen jullie? Hoe maken jullie gedrag tot een belangrijk onderdeel van jullie “inspect en adapt”? Spreken jullie elkaar consequent aan op niet constructief gedrag? En welke feedback geven jullie elkaar?  

In mijn volgende blogs ga ik dieper in op verbeteren binnen organisaties. En dan wil ik het specifiek hebben over gedrag, veranderen en leren.  

 


Referenties:

  1. Kosten van software fouten in 2014: https://tweakers.net/nieuws/99251/softwarefouten-kosten-nederlandse-economie-jaarlijks-1-komma-6-miljard-euro.html 
  2. Accelarate: https://www.google.com/books/edition/_/Kax-DwAAQBAJ 
  3. Dora research: https://dora.dev/ 
  4. DevOps capabilities: https://dora.dev/devops-capabilities/ 
  5. Viral Change: https://www.google.nl/books/edition/Viral_Change/5yghwxEDpmUC 

 


Over de auteur: Huib Schoots

Software ontwikkelen is complex en lastig! Ik geloof dat persoonlijk leiderschap, communicatie en samenwerken op de werkvloer uiteindelijk het verschil maken. Mijn missie is daarom mensen te ondersteunen zich te ontwikkelen. En daarmee kwaliteit in software delivery te realiseren. Ik ben gefascineerd door mindset, denken, gedrag en samenwerking. 

Naar het overzicht

Ron Rouhof
Directeur 
ron@qualityaccelerators.nl
06 - 50 60 76 91

James Johnson
Managing Director
james@qualityaccelerators.nl
06 - 15 02 27 81