Beheersing van softwareprojecten

In softwareprojecten lopen kosten of ontwikkelingstijden vaak uit de hand. Continue microcontrole voor projectmanagers moet “positief teleurstellen” in een zo vroeg mogelijk stadium, d.w.z. het mogelijk maken de problemen aan te pakken voordat zij zich manifesteren.

Softwareontwikkeling is complex en gelaagd. Daarom is het moeilijk te voorspellen hoe het project zich zal ontwikkelen, vooral in het begin. Problemen en potentiële knelpunten liggen om elke hoek op de loer. “Daarom is de echte reden voor een uiteindelijk buitensporig budget of tijdsbesteding dat deze risico’s slecht worden beheerd,” zegt Christopher Möhle, CEO bij Turbine Kreuzberg, een digitaal bureau met ongeveer 90 ontwikkelaars aan boord. Al te vaak blijft de controle, die het project eigenlijk op koers zou moeten houden, beperkt tot een algemeen overzicht en wordt ze slechts periodiek uitgevoerd, bijvoorbeeld maandelijks, tweewekelijks of rond projectmijlpalen. “Dit is veel te ruw en werkt problemen in de hand die zich ongemerkt kunnen manifesteren en meestal pas worden ontdekt als het al te laat is,” aldus Möhle.

Het is een klassiek geval: de opdrachtgever geeft de aannemer de schuld, maar de aannemer geeft min of meer goede redenen waarom latere verzoeken om aanpassingen of wijzigingen in het bestek de oorzaak van de mislukking zijn.

Communicatie en tactische beslissingen

Communicatie tussen het ontwikkelingsteam en de klant is daarom van cruciaal belang voor het welslagen van het project. Dit klinkt als een waarheid als een koe, maar vaak zijn opdrachtgevers zich niet voldoende bewust van de risico’s van een softwareproject, of van eventuele aanpassingsmaatregelen die noodzakelijk kunnen worden. “Daarom moeten de opdrachtgevers vanaf het begin in de zin van agile requirements management worden gesensibiliseerd voor het feit dat de gewenste doelen ook kunnen worden bereikt via een weg die niet alle oorspronkelijk geplande functies omvat,” aldus de CEO. Op die manier kunnen in voortdurende onderlinge uitwisseling de juiste tactische beslissingen worden genomen, afhankelijk van het verloop van het project.

Consultants als bemiddelaars

De consultants van een agentschap of een systeemintegrator moeten zichzelf zien als neutrale bemiddelaars als er een geschil is tussen klant en opdrachtgever. Terwijl de producteigenaar het project operationeel beheert en mogelijke conflicten in een vroeg stadium doorgeeft, beheert hij de “politieke” kwesties samen met de klant. “In hun rol zijn de consultants beter in staat te bemiddelen en zijn zij dus de autoriteit voor conflictbeheersing in het project”, specificeert de Turbine-Kreuzberg-baas.

Strikte statusupdates

In de praktijk houdt men vooral controle “door voortdurende microcontrolling”. Het doel is hier om zo vroeg mogelijk “positief teleur te stellen”, aldus Möhle, “d.w.z. problemen onmiddellijk te onderkennen en aan te pakken, voordat ze zich kunnen manifesteren”. Om dit mogelijk te maken, moet elke dag een zeer nauwgezette en gedetailleerde statusupdate worden uitgevoerd. Dit betekent dat de bestede tijd en de middelen nauwkeurig moeten worden bijgehouden voor elke deeltaak en subtaak, hoe klein ook. Op basis hiervan moet steeds opnieuw worden beoordeeld hoeveel inspanning voor de rest van het project nodig zal zijn.

“Naarmate ontwikkelaars in de loop van het project steeds meer leren en navenant sneller werken, verandert deze variabele en moet deze voortdurend worden aangepast,” aldus Möhle. Als op deze manier een toekomstig knelpunt is vastgesteld, moeten de middelen dienovereenkomstig worden verschoven of moet het project zo vroeg mogelijk in nauw overleg met de klant worden aangepast. Op deze manier kunnen de tijd en kosten altijd onder controle worden gehouden door agile management.