Het beste software tool

Er zijn veel tools te koop die helpen bij de ontwikkeling
van software.  De IT-bladen beloven van alles, maar hoe
weet je wat het echt oplevert?

Organisaties gooien 40 a 50% van al het geld dat ze aan
software tools besteden uit het raam.  Dit omdat die
tools niet blijken te doen wat ze beloven.  Als je het
beeld ziet van pakketsoftware in het algemeen, dan blijkt
het niet veel beter:  ongeveer 30% van de aangekochte
pakketten voldoet zo slecht aan gebruikerswensen dat ze
als niet effectief beschouwd moeten worden.  Nog een mooi
getal: 10% van de gekochte pakketten is meteen na aankoop
shelfware.  En in 20% van de gevallen was je niet de
enige die het pakket had gekocht: anderen hadden hetzelfde
of een vergelijkbaar pakket al aangeschaft; dus je had
het al.  Je hebt ook mensen die wel geld hebben om een
pakket te kopen, maar dan geen geld meer hebben om de
gebruikers op te leiden.  Dan schiet het ook niet op:
25% van de aangekochte pakketten liggen op de plank
vanwege gebrek aan training.  Dan is er nog incompatibiliteit:
15% van de pakketten sluiten zo slecht aan op andere
systemen dat ze aangepast moeten worden om uberhaupt te
kunnen werken.

In IT development tool advertenties lees je meestal over
tientallen procenten productiviteitsverbetering als de
analysten en programmeurs de tools zouden gebruiken.
Dit is totale onzin.  Er is geen geheim wapen waarmee je
al die problemen ineens kwijt bent.  In softare folkore
jargon: there is no silver bullet.  Er is geen technologie
die in z'n eentje een orde verbetering brengt in
productiviteit van software constructie.  Wat je inderdaad
tegenkomt is dat coderen sneller gaat.  Maar in een groot
project is dat 15% van de effort, dus als je dat stukje,
30% sneller doet, blijft je project net zo lang duren.
Nee langer, want je moet eerst dat tool weer leren.

Een mogelijke methode om de toegevoegde waarde van software
tools te meten is om in te schatten wat de Return On
Investment (ROI) is van die tools.  Dat kan je doen door
genoeg projecten te vergelijken:  bijvoorbeeld 50 projecten
zonder het tool, 50 projecten die voor het eerste het
tool gebruiken, en dan 50 projecten waar de ontwikkelaars
veel ervaring hebben.  Dan kan je de kosten zonder tool,
de kosten van het leren van het tool, en de baten van
het ervaren gebruik vergelijken.

En dan is het natuurlijk leuk om eens te kijken welke
tools hoog scoren.  Dat blijken niet vaak tools te zijn
die je in de IT-bladen aangeprezen ziet.  Software
inspecties blijken bijvoorbeeld heel hoog te scoren.
Daar hoef je helemaal geen eens een tool voor te kopen.
Dat doe je met de hand.  Het idee is ontwikkeld door
Michael Fagan, die voor deze vinding van zijn werkgever
de grootste individuele Corporate Achievement Award kreeg:
50.000 dollar, wat best aardig was in 1979.

In het kort, software inspecties zijn vergaderingen
volgens een vast patroon waarin een document (requirements,
design, code, testcases, etc) geinspecteerd wordt.  Dit
moet je wel even leren, via een cursus bijvoorbeeld.
Dat kost wat, maar dan heb je ook echt wat: gemiddeld
vindt je 60% van de fouten in elk document.  Elke vorm
van testing levert je niet meer dan 30% van de fouten
op.  En dan alleen nog in code maar dan is het voor foute
ontwerpbeslissingen en problematische requirements al
veel te laat.

Software inspecties blijken een excellente investering
te zijn: per geinvesteerde dollar is de ROI 3 dollar na
1 jaar, zo'n 7 dollar na 2 jaar, meer dan 11 dollar na
3 jaar, en na 4 jaar is de ROI 16 dollar.  Er zit echter
een addertje onder het gras: het is veel fijner om een
tool de schuld te geven van fouten, dan dat je moet horen
van anderen dat jezelf fouten hebt gemaakt.  Daarom is
het lastig om software inspecties in te voeren in een
organizatie, vooral bij ontwikkelaars met kamer-vullende
ego's.  Maar ROI berekeningen wijzen uit dat het werkelijk
de moeite loont om inspecties in te voeren.

X

Meer weten over de wondere wereld van ICT 
in Jip en Janneke taal? Ga dan naar de
knipselkrant van Chris Verhoef

Prof. dr Chris Verhoef is hoogleraar informatica 
aan de Vrije Universiteit in Amsterdam.  Hij schrijft      
maandelijks een column in AG II.  Deze tekst is 
copyright SDU.  Niets van deze uitgave mag zonder
schriftelijke toestemming van de uitgever worden
overgenomen of worden gepubliceerd.