De 4 mythes over productiviteit

Foto van Sohrab Salimi
Sohrab Salimi
3 min. Leestijd
Deze inhoud is vertaald met AI. Bekijk origineel

Wil je de productiviteit van softwareontwikkeling bij jezelf, in je team of je organisatie verbeteren? Lees dan verder en we zullen samen een paar mythes ontkrachten.

Snelheid versus kwaliteit

Mythe: Elk project in de softwareontwikkeling is een compromis tussen snelheid en kwaliteit.

Waarheid: Bij productiviteit in softwareontwikkeling is er geen conflict tussen snelheid en kwaliteit.

„Als de kwaliteit goed is, is de ontwikkeling eenvoudiger."
Greger Wikstrand

Hoge kwaliteit maakt hoge snelheid mogelijk. Dit is het inzicht uit veel populaire agile methoden, zoals testgedreven ontwikkeling (TDD), continue integratie en DevOps. Wanneer je niet meer genoeg focust op kwaliteit, bouwt zich steeds meer technische schuld op. Al snel gaat het hele budget op aan onderhoud en blijft er niets over voor investeringen. Je moet je systeem (of de systeemomgeving) in een staat houden waarin je daadwerkelijk iets kunt veranderen of verbeteren.

Als je meer wilt weten over kwaliteit en hoe je die bereikt, raad ik je het World Quality Report aan.

Vaardigheden versus kwantiteit

Mythe: Softwareontwikkelaars zijn slechts resources en kunnen indien nodig worden vervangen.

Waarheid: Als het gaat om productiviteit in softwareontwikkeling, zijn er enorme verschillen tussen individuele ontwikkelaars!

Er zijn individuele verschillen tussen ontwikkelaars. Laten we even aannemen dat een gemiddelde ontwikkelaar een productiviteit van 1 heeft. Een slechte programmeur heeft misschien een productiviteit van 0 of zelfs -1. Dat betekent dat de prestatie van een slechte ontwikkelaar en die van een middelmatige ontwikkelaar elkaar daadwerkelijk kunnen opheffen. Een fantastische programmeur kan daarentegen een productiviteit van 10 of zelfs 30 hebben. Zo'n ontwikkelaar kan hele teams van ontwikkelaars vervangen. Dus ja, het draait erom de juiste mensen te hebben.

Het kost tijd om een high-performance team in softwareontwikkeling op te bouwen. Tenzij je er expliciet op focust om een zogenaamd Transactive Memory (transactief geheugen) in het team te ontwikkelen, duurt het tot een jaar voordat deze verbetering zich vanzelf voordoet. Mensen zijn geen potplanten die je op aanwijzing van de tuinman zomaar van de ene plek naar de andere kunt verplaatsen. Het zijn bomen met diepe wortels. Hun wortels raken beschadigd en laten een groot gat achter wanneer je ze verplaatst.

Agile versus Waterval

Mythe: In andere sectoren werkt men succesvol met de watervalmethode, dus zouden wij dat ook moeten doen.

Waarheid: Sinds de jaren 50 is er veel veranderd en zelfs in de bouwsector werkt men niet meer met waterval.

Er is een fundamenteel verschil tussen massaproductie (reproductie) en sectoren met veel meer onzekerheid en ontwerpwerk, zoals softwareontwikkeling of zelfs de bouwsector. Maar wacht even, is de bouwsector niet hét uithangbord van de watervalmethode? Het begint allemaal bij de architect, dan volgen de ingenieurs, de bouw van het gebouw en uiteindelijk het gebruik ervan. Ja, dat was de situatie in de jaren 50, toen gebouwen nog op lege stukken grond werden neergezet. Maar dat is veranderd. In de bouwsector draait het tegenwoordig om renoveren, opknappen en verbouwen van al bestaande gebouwen – en niemand weet wat er in een muur of onder een vloer verborgen zit. Ook de bouwsector beweegt zich richting een meer agile aanpak.

Natuurlijk zijn er binnen Agile een aantal voorwaarden om alles goed te laten werken, maar die verdwijnen niet door ze te negeren. Als je nog niet agile werkt, is het voor productiviteitsverbetering en het oplossen van problemen enorm belangrijk om agile te worden.

Cloud versus On-Premise

Mythe: De cloud bestaat gewoon uit servers in de cloud – het kan je productiviteit niet verbeteren.

Waarheid: De cloud is een van de krachtigste motoren voor productiviteit in softwareontwikkeling.

… en dat geldt ook als je de cloud alleen ziet als een manier om servers te huren (Infrastructure-as-a-Service), wat op zich al duidelijke voordelen biedt voor de productiviteit in softwareontwikkeling. De mogelijkheid om binnen enkele seconden een volledig nieuwe omgeving op te zetten, maakt bijvoorbeeld Continuous Integration en Deployment en zelfs DevOps mogelijk, wat de productiviteit enorm kan verhogen. Maar de cloud is meer dan alleen infrastructuur. Tegenwoordig is het slechts een kwestie van uren voordat je na het afronden van het ontwerp je eerste producten in je webshop kunt verkopen. En dat allemaal dankzij Manufacturing-as-a-Service, Logistics-as-a-Service en zelfs eCommerce-as-a-Service. Hetzelfde geldt niet alleen voor fysieke producten, maar ook voor softwareontwikkeling.

Deze tekst is afkomstig uit de blog van Greger Wikstrand en is door ons naar het Nederlands vertaald.

Praat met onze assistent Praat met onze assistent