Mag software ontwikkeling winstgevend zijn?

Het binnen budget houden van softwareprojecten voor u als opdrachtgever en het winstgevend bouwen van maatwerksoftware voor leveranciers is altijd weer de uitdaging. De angst in beide kampen alleen is al een slechte basis voor een goed "huwelijk". Voor u gelezen in de Automatiseringgids:

 

False precision grootste fout in softwareindustrie'

 
(bron: AG 8 juni 2011 door: Chris Nap)
 
De grootste en meest gemaakte fout in de software industrie is ‘false precision’. De term staat voor te gedetailleerde specificaties in de requirements voor te ontwikkelen software, die het gevoel geeft dat alles precies is geformuleerd, maar in de ontwikkelpraktijk tot een overmaat aan onzekerheid leidt.
Dat zei Walker Royce, vice president en general manager van IBM Rational tijdens de Innovate 2011, de gebruikersconferentie die IBM Rational op dit moment in Orlando, Florida houdt. “We hanteren een vijfcijferig nauwkeurigheidsniveau bij het opstellen van requirements en ontwikkelplannen, terwijl ons begrip van wat het systeem precies moet doen, met één cijfer kan worden uitgedrukt”, zei Royce. “Dat leidt tot heel veel onzekerheid in het ontwikkelproces, en resuteert in veel overbodig werk.”
Volgens Royce gaat veertig procent van de ontwikkelinspanning in de traditionele waterval-aanpak verloren aan ‘scrap’ en ‘rework’, en een groot deel daarvan wordt door ‘false precision’ in de requirements  veroorzaakt. Uit dit inzicht is de Agile-ontwikkelmethode voortgekomen. Om overbodig werk te voorkomen moet eerst zoveel mogelijk van de onzekerheid vooraf worden opgehelderd. Bijvoorbeeld door niet eerst de verschillende software-units te bouwen en te testen, zegt Royce.
“Beter is eerst een rudimentaire ‘executable’ versie van de unit te maken en dan te testen of die goed integreert met de architectuur. Als je dat doet krijg je de lastige en ‘malignant’ veranderingen in een vroeger stadium voor je kiezen. Doe je dat niet dan krijg je die veranderingen pas op je bord als de units klaar zijn en moet je veel meer werk verzetten om het alsnog aan de praat te krijgen.”
Het houdt volgens Royce voor projectmanagers in dat ze 'incomplete dingen moeten gaan managen'. Dat is lastiger, maar zal de productiviteit van een ontwikkelteam sterk verhogen. Royce zei ook dat de meeste productiviteitswinst in software-ontwikkeling behaald kan worden in teamverband. “De productiviteit van ontwikkelaars die de juiste tools gebruiken heeft ongeveer zijn limiet wel bereikt. Maar de productiviteit van een team kan door betere samenwerking en een betere samenwerking van meerdere teams enorm omhoog.”  

Mag ik een met u van gedachte wisselen over hoe dit anders kan? Bel mij aub, J.M.Kruk +31646723784