In/druk — 2

Pieter Wisse

Zeker wie altijd nog gelooft dat ontwikkeling van computerprogrammatuur een deterministisch proces is, dat volgens een vaste methode kan verlopen, beveel ik Dynamics of Software Development (Microsoft Press, 1995. pp xv + 188) van Jim McCarthy aan. Maar ook gevorderde coördinatoren van programmatuurontwikkeling kunnen er inspiratie aan ontlenen. Het boek heeft een sterke inhoud en, ik geef het toe, voor mij was het een verrassing dat een medewerker van Microsoft zo'n principieel menselijke kijk op complexe veranderingsprocessen heeft. Blijkbaar moest ik het vooroordeel overwinnen dat het bedrijf — zoals toch met de vroege versies van MS/DOS en Windows — weinig meer doet dan betrekkelijk simpele programmatuur kopen, kopieëren en/of naäpen en die vervolgens zo'n beetje onderhouden en dat het daarmee allemaal vreselijk veel geld verdient. McCarthy vertelt naar aanleiding van een recent grootschalig project — dat was trouwens de ontwikkeling van Visual C++ — waarover hij de leiding had. Ik begrijp nu dat daar ruimte bestaat, nee, zelfs actief wordt gemaakt voor originele bijdragen.

De programmatuur die McCarthy bedoelt, is commercieel. Het gaat om pakketten, dwz software die gemaakt wordt voor verspreiding in talloze exemplaren en achtereenvolgende versies. Dat accent is wat mij onmiddellijk tot zijn boek aantrok. Want ikzelf vind dat eigenlijk àlle programmatuur kwalitatief zo gemaakt moet zijn alsof het commerciële is, zoals ik dat hier in termen van exemplaren en versies definieer. Daardoor zijn allerlei wezenlijke criteria voor gebruikskwaliteit, onderhoudbaarheid e.d. evident. Of de programmatuur daadwerkelijk als zgn consumentenartikel op de markt komt, acht ik in het vlak van de voornaamste kwaliteitseisen secundair. Gebruikers zijn er immers overal, bijvoorbeeld ook wanneer het programmatuur met één exemplaar, één versie en/of voor intern gebruik betreft.

McCarthy beschouwt in het totale proces van ontwikkeling drie verschillende stadia. Uiteraard sluiten ze elkaar niet uit; het is eerder de waarschijnlijkheid dat bepaalde aspecten in een stadium (extra) relevant zijn. Zijn drie ontwikkelstadia noemt McCarthy: voorspel (opening moves), middenspel (the middle game) en eindspel (ship mode). Tenslotte is er de presentatie (launch) van het produkt. Voor elk stadium/spel heeft hij een aantal (vuist)regels met toelichting geformuleerd. Zo draagt het boek vooral het karakter van een serie opstellen. Wat ze verbindt is de consequente houding van de auteur, die ik het beste kan samenvatten onder de noemer van een menselijke oriëntatie. McCarthy belijdt dat ontwikkeling inclusief ontwerp van programmatuur overwegend een intellectuele inspanning van mensen vergt. Daarom staan mensen centraal. Zijn aanpak is dus in eerste aanleg organisatiepsychologisch en in veel mindere mate technologisch. Op pagina 5, bijvoorbeeld, staat: "[Y]ou need the intellectual involvement of the creators, and this involvement is the single hardest thing to achieve in any software development effort." En op de volgende pagina: "Where intellectual property rather than a tangible product is the desired output, the mechanical part of the effort shrinks dramatically." Terecht meent McCarthy dat de belangrijkste voorwaarden in het vlak van menselijke motivatie liggen; de rest klopt dan vanzelf. Wie met een compacte visie relevante problemen aanreikt en betrokken mensen vervolgens ruimte biedt om hun eigen oplossingen bij te dragen, voert optimaal projectbeheer.

Het is steeds deze zelfde boodschap die McCarthy in allerlei variaties brengt. Door vierenvijftig van zulke regels/toelichtingen ontstaat een compleet beeld, dat onzekerheid tijdens ontwikkeling van programmatuur nu eenmaal normaal is. De grootste kans op succes ligt dan, nogmaals, in de concentratie van voldoende mensen met voldoende gevarieerde kwaliteiten. "Treasure and reward team members who consistently make themselves aware of the list of relevant things that are currently unknown," zegt de auteur op pagina 99. Dat geeft natuurlijk meer houvast dan een methode die vooraf de vorm van het proces bepaalt en daarmee reële onzekerheid ontkent. Want (p. 100) "[p]seudo-order is one maladaptive defense against uncertainty. [...] The goal on a software develoment project is not to have the correct plan in advance but to make the right decisions every day as things that were unknown become known." Dit wijst er nogeens duidelijk op dat onderscheid tussen ontwerpers (informatie-architecten) en bouwers (systeemaannemers) niet mag leiden tot strikt gescheiden fasen. Daarentegen moeten zij continu samenwerken, tijdens het gehele interdisciplinaire ontwikkelproces. Daarbij verandert naar omstandigheden uiteraard wel de verhouding van hun bijdragen, maar zij blijven principeel gelijktijdig betrokken.

 

Nadat mijn belangstelling gewekt was, herkende ik plotseling een overvloed aan lectuur. Dat gaat allemaal over ontwikkelprojecten bij hetzelfde bedrijf. Uit toenemend aanbod koos ik vervolgens het boek Show-stopper (Little, Brown & Co., 1994, pp 312) van G.P. Zachary, omdat de ondertitel aankondigt dat het een verhaal is over The Breakneck Race to Create Windows NT and the Next Generation at Microsoft. Ik wilde toch al iets leren over het besturingssysteem Windows NT. Ook dacht ik aanvullend inzicht te verkrijgen in de Microsoft-praktijk van complexe ontwikkelprojecten.

Beide verwachtingen zijn niet uitgekomen. Mijn verklaring is niet zozeer dat Zachary een journalist is, maar wèl dat hij een luie, ongeïnformeerde journalist blijkt. Want ik heb niet ontdekt dat hij iets serieus weet over informatietechnologie. Daardoor faalt hij om uitgangspunten en opzet van Windows NT te schetsen. Netzo mislukt vind ik het boek als uitleg over leiderschap, projectbeheer enzovoort. Ik vermoed dat de auteur zèlf nooit leiding aan dergelijke projecten gaf. Op zich is dat nog geen bezwaar, maar hij mist tevens het inlevingsvermogen om wezenlijke aspecten van complexiteit in artefacten èn veranderingsprocessen op het spoor te komen.

Wat resteert, is een beschrijving volgens het journalistieke recept van de zgn human interest. Dat is echter mager voor wie bijdragen aan professionele kennis wenst. Zachary blijft steken in het ten tonele voeren van betrokken medewerkers, die hij consequent met bijzinnen vol listige adjectieven aan de lezer voorstelt. Dat leer je zo als je creative writing op een amerikaans college volgt. Het is bijna universeel irrelevant voor begrip van Windows NT en de manier waarop — de eerste commerciële versie van — de programmatuur tot stand kwam. En wat binnen de lengte van een enkel krantartikel draaglijk is, blijkt op de schaal van een boek irritant. De stijl kan immers niet zonder inhoud overeind blijven. De eindeloze voortzetting van uniforme persoonlijke kenschetsen leidt er juist toe dat àlle karakters geen eigen identiteit overhouden, homogeen schijnen. De projectleider komt met dezelfde intensiteit over het voetlicht als, zeg maar, de koffiejuffrouw. Dat is vanuit de optiek van universele mensenrechten uiteraard volkomen terecht, maar klopt niet om het verhaal in kwestie informatief te maken.

Van één aspect van de projectcultuur heeft Zachary, zonder er overigens bij stil te staan, een dwingend beeld opgeroepen. Dat betreft het hanige gedrag, de macho stijl, gericht op mobilisatie van concurrentie. Dat is toch iets anders dan wat ik van McCarthy begreep. Misschien overdrijft McCarthy in zijn verhaal de menselijkheid van zijn managementstijl en krijg ik van Zachary teveel de indruk dat ontwikkelprojecten bij Microsoft er ònmenselijk aan toe gaan. Ligt de waarheid in het midden? Of groeit met elk project een karakteristieke cultuur, waarop vooral leidinggevenden hun stempel drukken? Geef mij dan maar de menselijke projectcultuur. Dat levert ook een beter resultaat.

 

Min of meer gelijktijdig met — de eerste versies van — Visual C++ en Windows NT ondernam Microsoft de ontwikkeling van een encyclopedie voor kinderen. Dat produkt kwam onder de naam Explorapedia op de markt. Over het ontwikkelproject schreef Fred Moody het boek I Sing the Body Electric (Hodder Stoughton, 1995, pp xx + 311). Zijn ondertitel luidt A Year with Microsoft on the Multimedia Frontier.

Ik vermoed dat Moody journalist is. In elk geval is hij evenmin als Zachary een interne medewerker van het bedrijf dat hij schetst. Maar waar ik Zachary vooral journalistieke buitenstaander zie blijven, heeft Moody zich blijkbaar gedurende circa één jaar — zie de ondertitel — in de bedrijfscultuur in het algemeen en de projectcultuur in het bijzonder ondergedompeld. Antropologen noemen zo'n onderzoekmethode: participerende observatie. Ik veroorloof me eraan toe te voegen dat elke waarneming mi een zekere mate van deelname inhoudt. Mijn indruk is dus, dat Moody zelfs in belangrijke mate ging deelnemen. Nergens lees ik echter, dat hij bewust raakte van het dilemma dat logisch volgt uit intensieve deelname van een aanvankelijke buitenstaander. Hij probeert louter zijn observatie te vermelden, dus met weglating van zijn participatie. Dergelijk vertoon van objectiviteit vind ik ongeloofwaardig. Want hij maakt duidelijk over gedetailleerde inlichtingen te beschikken. Maar om het vertrouwen te winnen èn behouden heeft hij zeker niet alleen geluisterd. Wat ik mis zijn beschrijvingen van bijdragen die Moody, toen hij eenmaal participeerde tijdens zijn observatie, onmiskenbaar geleverd moet hebben aan zijn relaties met (overige) projectdeelnemers.

Mijn sympathie wint Moody toch, doordat hij zijn worsteling niet geheel verhult. Hier en daar springt er ineens een zin in de eerste persoon uit. Aan de periode, waarin hij het projectresultaat onhaalbaarder dan ooit beschouwt, wijdt de auteur een reeks hoofdstukken waarvan hij er één met "In Which the Author Comes Up for Breath" zelfs een sterk persoonlijke titel geeft. Maar daarmee houdt het helaas op en gaat Moody verder met zijn verhaal in de derde persoon over de motieven, acties e.d. van anderen. Het is jammer dat Moody niet inzag dat zijn intensieve betrokkenheid hem, althans vanuit het perspectief van de lezer, tot hoofdpersoon van het verhaal maakte. De ik-vorm is dan de enige manier om consequent over eigen twijfel te schrijven. Nu blijft het bij losse zinnen als (p. 160): "[...] I began wondering how on earth I could ever reconcile the apparent reality of life at Microsoft with the company's public image of strategic brilliance. [...] Could things possibly be as confused as they appeared? [...] I could find nothing by way of reassurance." En (p. 172): "My own impression was of a team in the throes of disarray and self-delusion, but I decided to attribute my skepticism to ignorance." Kortom, Moody wekt, tenminste bij mij, de indruk dat slechts een wonder het project kan redden. Zo bouwt hij de spanning op. Ik las geboeid door. Dat was niet zozeer om te ontdekken dàt het project zou mislukken, want dat leek onontkoombaar, maar hoé dat zou gaan gebeuren.

Toch voltrekt zich dat wonder. Enkele pagina's vóór het einde gaan twee hoofdrolspeelsters met zwangerschapsverlof. Hun vervangers gaan voortvarend aan de slag. Zonder verder noemswaardig op problemen te stuiten levert het project in luttele maanden het resultaat dat eerder volgens Moody ruim een jaar lang onbereikbaar was.

Hoe kan dat? Mijn idee is dat de auteur inderdaad over relevante thema's in het vlak van informatietechnologie onwetend was en bleef. Hij deed weliswaar zijn best er iets van te begrijpen. Dat onderscheidt hem positief van Zachary. Maar voor wezenlijk begrip door oppervlakkige kennismaking is innovatieve toepassing van informatietechnologie te ingewikkeld. Van de weeromstuit concentreert Moody zich op de menselijke relaties in het project en met de onmiddellijke omgeving ervan. Inderdaad, human interest. Het verschil is dat Moody een langer verhaal kan vertellen, terwijl Zachary blijft steken in achtereenvolgende krantartikelen. Maar goed, Moody's preoccupatie met intermenselijk verkeer leidde tot een overtrokken beeld van spanning. Toen met enkele beslissende personele mutaties noodzakelijke rust en focus in het project kwamen, bleek tegelijk het jaar verstreken dat Moody voor zijn onderzoek uitgetrokken had. Het lijkt alsof de auteur de maanden waarin het project richting en vaart kreeg, niet meer als deelnemende waarnemer meemaakte. Waarschijnlijk werd hij door zijn oude bekenden via electronische post e.d. nog enigszins op de hoogte gehouden. Nergens blijkt dat Moody met de nieuwe machthebbers in het project netzo'n relatie wist op te bouwen als waarin hij met de oude geslaagd was. Ook dat is natuurlijk logisch, ditmaal in de optiek van die nieuwe medewerkers. Waarom zouden ze iemand vertrouwen, die vertrouwen genoot van wie zij juist niet vertrouwden? Het ontbreekt Moody helaas aan sociale intelligentie — zijn eerlijkheid staat niet ter discussie — om zijn rol/positie in de diverse projectstadia toe te lichten. Daarentegen verkiest hij een verklaring voor het door hem aanschouwde wonder te geven. Die luidt simpel dat projecten bij Microsoft weliswaar van voldoende mensen en middelen voorzien zijn, maar hun resultaat binnen een onhaalbare termijn moeten bereiken. Onder druk gaan medewerkers tot het uiterste, zo is kennelijk de veronderstelling. De kwaliteit van het werk ligt daardoor hoog; het gerealiseerde produkt krijgt op de markt steevast een warm onthaal. Omdat de planning echter nooit gehaald wordt, blijven medewerkers structureel met een gevoel van mislukking opgezadeld. Dat is, aldus Moody, precies de bedoeling. Zulke frustratie is onmisbaar om de druk tot prestaties voor nieuwe produkten te handhaven. En met dergelijke constateringen is Moody's verhaal, dat ik toch overwegend met plezier gelezen heb, plotseling uit.

 

© 1996, webeditie 2001.