Driehoeksverhouding

Pieter Wisse

Wie onzekerheid erkent, speelt op zeker.

 

De dynamiek van ontwikkeling, inclusief ontwerp, van complexe computerprogrammatuur laat zich herleiden tot de verhouding tussen drie elementen. Die elementen zijn: capaciteit, functionaliteit en tijd. In de praktijk verloopt hun verhouding zelden harmonieus. Met de beschikbare capaciteit, zo luidt de boodschap vaak, is het onmogelijk programmatuur met de vastgestelde functionaliteit binnen de afgesproken periode te vervaardigen.

Het is de vraag of dat eigenlijk een probleem is. Om te beginnen vind ik dat ontwikkeling van allerlei programmatuur onterecht over één kam geschoren wordt. Het is daarentegen verstandig te nuanceren overeenkomstig reële onzekerheid. Over platte, simpele kaartenbakken heb ik het hier dan niet. En voor complexe besturingssituaties vind ik dat programmatuurontwikkeling meestal véél onzekerheid kent, in veel opzichten zelfs in toenemende mate. Zo verschijnen steeds nieuwe programmeertalen, of tenminste verschijningsvormen ervan, in hoger tempo dan ooit. Tijdens de aankondiging zijn de beloften schoon. Visual zus, generatie van code zo. Maar zijn de gewenste constructies daadwerkelijk realiseerbaar? En, zo ja, lukt dat inderdaad met redelijke moeite, door beschikbare mensen en op overzienbare termijn? Een andere bron van onzekerheid vormt de functionaliteit. De eisen groeien alsmaar, niet het minst aangewakkerd door bedoelde beloften over gereedschappen. Telkens blijkt echter dat mensen aan de slag gaan met middelen die zij met valse verwachtingen onvoldoende beheersen om functionaliteit te ontwikkelen die zij onvoldoende overzien. Omdat niemand zulk onvermogen gaarne toegeeft, en onzekerheid dus negeert, is de resulterende programmatuur op z'n best suboptimaal, maar misschien zelfs levensgevaarlijk. En altijd véél te duur en véél te laat. Kortom, de problematische afstemming van capaciteit op functionaliteit en tijd is dan volstrekt logisch. Wie dat niet inziet, laat zich eenvoudig verrassen.

Indien zoveel onzekerheid heerst, moeten de vroege stadia van het ontwikkelproces vooral het karakter van onderzoek hebben. De driehoeksverhouding kan immers slechts geleidelijk stabiliteit verkrijgen. Het is nu eenmaal zo, dat veel van wat met informatietechnologie te maken heeft, voorlopig experimenteel danwel veranderlijk blijft. Alles moet daarom groeien voor elke unieke opgave, van betrokken mensen met hun houding, kennis en vaardigheden tot het beeld wat de optimale functionaliteit is en wat het tijdstip waarop de programmatuur gereed is. Gevolg is natuurlijk dat bijvoorbeeld over de opleverdatum in zo'n vroeg stadium geen ferme schatting mogelijk is. Maar ontkenning van onzekerheid maakt de schattingen geen cent realitischer, integendeel.

Pas nadat onzekerheid over de wezenlijke functionaliteit en de benodigde capaciteit om die te realiseren helemaal verdwenen is, valt een zekere uitspraak over de opleverdatum te doen. Als het om complexe programmatuur gaat, is dat moment echter pas bereikt wanneer diezelfde programmatuur vrijwel gereed is. De driehoeksverhouding blijft dus tot op het laatst spannend. Nogmaals, dat is geen probleem, maar de aard van zo'n ontwikkelproces. Wie dat niet begrijpt, kan zich er beter niet mee bemoeien.

Het is de ontkenning dat de driehoeksverhouding een cyclus met wisselende onzekerheden kent, waarom ontwikkeling vaak faalt. De opdrachtgever, bijvoorbeeld, zoekt zijn zekerheid helaas steeds vaker in een vaste prijs en vaste opleverdatum. Dat heet zakelijk. Maar is de passende functionaliteit dan bekend? Wanneer opdrachtgever en aannemer over hun aansprakelijkheden langs elkaar wensen te praten, komt het gauw tot een overeenkomst. Van dat soort projecten zijn er maar weinig resultaten die het stadium van operationeel gebruik halen. En als het al zover komt, met ruzies over vertragingen en extra kosten, zijn gebruikers er meestal niet gelukkig mee. Daarmee is de opdrachtgever met zijn organisatie niet geholpen. Per saldo behoorlijk ònzakelijk, dus.

Waar het om gaat, is dat allereerst reductie van onzekerheid prioriteit heeft. Met inzicht uit de vroegste stadia is het vervolg van het ontwikkelproces altijd opmerkelijk beter beheersbaar. Onderhoud van de driehoeksverhouding is een spel, dat tijdens alle stadia van een ontwikkelproces voor (complexe) computerprogrammatuur nauwgezette aandacht vergt. Wie het eenmaal als spel ziet, gaat het ongetwijfeld ook leuk vinden. Dat is de enige manier  om, in plaats van haar te ontkennen, de spanning van onzekerheid te verdragen.

 

© 1996, webeditie 2001.
Eerder verschenen in: Informatie Management, 1996, nr 10.