dinsdag, mei 29, 2007

Rocket Science

Hieronder de volledige column over Intentional Software die onlangs werd gepubliceerd in Software Release Magazine.

ROCKET SCIENCE

Valt er altijd nog wel wat te wensen voor een mens? In sommige gevallen ben je geneigd te denken van niet. Nemen we bijvoorbeeld Charles Simonyi, een bovengemiddelde begaafde programmeur uit Hongarije die rond 1980 bij een bescheiden startup-bedrijfje in Redmond ging werken. Dat deed hij overigens nadat hij bij Xerox Parc met legendes als Alan Kay en Robert Metcalfe aan kleine, geinige projecten (de eerste WYSIWYG editor ter wereld, doe eens iets vrijblijvends) had gesleuteld. Als je bij Microsoft zo’n beetje personeelsnummer 4 had en je hebt daar aan de basis gestaan van zowel Word als Excel, dan kun je vaktechnisch gezien een deuk in een pakje boter slaan. Financieel trouwens ook wel: Simonyi staat bekend als een actieve filantroop, met een nadrukkelijke voorkeur voor het steunen van kunst en cultuur.

Blijkbaar heeft hij ook nog een klein potje voor zichzelf bewaard, want kortgeleden kwam hij in het nieuws als de toerist die voor 18 miljoen mee mocht vliegen in een Sojoez voor een tripje naar het International Space Station. De bemanning had daar voor een dikke week werk, dus Simonyi zal in afwachting van de terugreis zeeën van vrije tijd hebben gehad. Voor de vorm had men wat wetenschappelijke experimenten verzonnen die moesten worden uitgevoerd. Maar de verzamelde Russische en Amerikaanse onderzoekslaboratoria zullen niet met klamme handen van spanning op Charles’ resultaten hebben zitten wachten. Nee, er zullen genoeg van die contemplatieve momenten zijn geweest waarop Simonyi mijmerend voor het patrijspoortje zat en uitkeek over die blauwe bol die onder hem doordraaide.

De top in het vakgebied bereikt. Plus een nagenoeg onhaalbare jongensdroom werkelijkheid gemaakt. En je dan toch afvragen of er misschien nog ergens een nieuwe, nauwelijks te kraken uitdaging wacht.

Het ziet er gelukkig naar uit dat Simonyi al langere tijd een idee heeft in welke hoek hij moet zoeken. In 2002 verliet hij Microsoft om in een eigen bedrijf zijn oplossing uit te werken voor een vraag die de IT-wereld vanaf het prilste begin voortjaagt: waarom is het zo verschrikkelijk moeilijk om goede software te ontwikkelen? Elkaar opvolgende generaties van programmeertalen, visuele ontwikkelomgevingen, case tools, formele specificaties, frameworks, agile methoden, modelgedreven architectuur: wat we ook verzinnen, het lijkt wel of het gat tussen droom en daad, tussen intentie en oplossing precies even groot blijft. Zo’n beetje in mijn tienjarige jubileum als jurylid van de RAD race kan ik niet ontkomen aan het gevoel dat de productiviteit van de teams in al die jaren constant is gebleven. Op zijn best. Vooruit, het draait allemaal in de browser en de plaatjes zijn kleuriger. Maar de successen zijn even groot en de fouten nog altijd even monumentaal.

Simonyi denkt de oplossing te hebben gevonden in een concept dat hij Intentional Software heeft gedoopt: geef alle ondersteuning die nodig is om de echte intentie van een oplossing vast te leggen. Gebruik daarvoor taalconcepten – visueel, tekstueel – die daar van de grond af voor bedoeld zijn. Vakjargon uit de pensioenwereld of uit de logistiek, actuariële formules, tabellen, schetsen: alles waarmee een materie-expert zich comfortabel voelt, voldoet. Leg de intentie vast in een formaat dat onafhankelijk is van de weergave (Simonyi is nogal dol op meta) en vergaap je aan de verschillende verschijningsvormen waartussen je de intentie kunt bekijken en bewerken, afhankelijk van de doelgroep waarmee je communiceert. Eén van die verschijningsvormen – bijna een detail – is code: voornamelijk handig als een verschijnsel dat je op een computer kunt draaien.

Je zou het de heilige graal van ons vakgebied kunnen noemen: communiceren met gebruikers in hun eigen taal en daaruit naadloos – zonder vervorming - werkende systemen genereren. We hebben er eerder op gehoopt, bijvoorbeeld bij de komst van COBOL en 4GL’s (“nu kunnen managers voortaan zelf programmeren”). We zijn er soms ook heel ver van verwijderd: UML wordt zelfs door zijn eigen makers niet meer begrepen. Maar niets houdt ons tegen om te dromen. Astronaut worden blijkt in de praktijk niet eens een kwestie van Rocket Science te zijn. Wie weet wordt het daarom met die graal ook nog wel eens wat.

Geen opmerkingen: