Op maat een applicatie bouwen met stukjes standaard software. Het komt nog maar mondjesmaat voor. Bij Moret Ernst & Young bijvoorbeeld. Daar hebben ze een softwarefabriek waar standaard componenten worden gemaakt voor de financiële wereld. Maar Component Based Development zal toch pas na 2001 doorbreken volgens Gartner Group.
Al tien jaar wordt er geschreven en vooral gediscussieerd over object-oriëntatie, softwarecomponenten en concepten als ‘de softwarefabriek’. Industriële systeemontwikkeling streeft hoge doelstellingen na: hergebruik van standaard softwarecomponenten, productiviteitsverhoging van software-ontwikkelaars, kwaliteitsverhoging van applicaties en optimalisatie van bedrijfsprocessen. Dat zijn de worsten die eerst de informaticawetenschap en later de leveranciers van ontwikkeltools de ontwikkelorganisaties hebben voorgehouden. Volgens onderzoeksbureau Gartner Group gaat het echter nog tot 2001 duren voordat Component Based Development (CBD) gemeengoed is. CBD kan omschreven worden als het bouwen van een maatwerkapplicatie door standaard componenten te assembleren. Maatwerkfunctionaliteit op basis van stukjes standaard software dus. Met CBD komt de bijna utopische visie van de softwarefabriek in zicht, die laat zien dat systemen flexibel, aanpasbaar aan de organisatie, goed onderhoudbaar en snel te implementeren zijn. Daarmee behoren duur onderhoud en lange ontwikkeltijden uit het maatwerktijdperk en beperkte flexibiliteit en dito invloed op functionaliteit uit de periode van standaard software tot het verleden. Maar niet vóór 2001, als we Gartner Group mogen geloven. Als alle narigheid rond het jaar 2000 en de euro achter de rug is, is er weer tijd om serieus over strategieën in systeemontwikkeling na te denken en deze te implementeren. Wat geen sinecure is.
Proeftuin
Dat blijkt uit de ervaringen van Moret Ernst & Young, die in Nederland één van zijn Advanced Development Centers (ADC) gebruikt als serieuze proeftuin voor CBD. Met de ontwikkelomgeving van Nat Systems is vorig jaar in Utrecht een ontwikkelstraat ingericht waar inmiddels al zo’n 35 mensen werkzaam zijn. Tegen het einde van dit jaar moeten er nog eens twintig mensen bijkomen. Pieter de Boer, executive consultant bij Moret heeft een duidelijke visie op de status van CBD in de praktijk. Hij onderschrijft de voorzichtige verwachtingen van Gartner Group dat CBD niet in staat is vóór 2001 andere vormen van systeemontwikkeling te verdringen. Er zijn nog veel obstakels te overwinnen voordat de softwarewereld geïndustrialiseerd is: "Veel bedrijven zijn nu nog niet eens in staat om met objectgeoriënteerde tools te werken, laat staan een CBD-werkwijze te hanteren."
Het ADC concentreert zich op het ontwikkelen van bedrijfskritische systemen voor banken, verzekeraars en overheden in Europa. Standaard (erp-)software dringt maar langzaam door in deze wereld en maatwerkapplicaties zijn tot op heden de enige optie geweest. De afbakening wat branche betreft is geen willekeur. Moret is thuis in de financiële markt. Daarnaast is de ingeperkte scope vooral noodzakelijk. Het bepalen van inhoud en omvang van de verschillende componenten luistert zeer nauw, legt De Boer uit. In de eerste plaats moeten componenten zowel functioneel als technisch duidelijk van elkaar te onderscheiden zijn, zodat ze ook onafhankelijk van elkaar kunnen worden ingezet in verschillende toepassingen. Het gaat bij CBD juist om het meer dan één keer hergebruiken van standaard componenten ten behoeve van meerdere applicaties. In de tweede plaats, en hier komt de afbakening naar branche sterk terug, is het moeilijk om standaard componenten te vervaardigen die voor de hele markt bruikbaar zijn. De Boer: "Zo wil je met een component ‘klant’ alle toepassingen kunnen bouwen die je maar wilt. Maar bij de banken is het gebruikelijk om vijftig karakters voor ‘klantnaam’ te gebruiken en bij de overheid 250. Als je in zo’n geval twee componenten ‘klant’ maakt, heeft dat gevolgen die de bedoeling van CBD deels teniet doen. Je moet bij de wijziging van een zoekalgoritme op naam bijvoorbeeld twee keer die wijziging implementeren en coderen in de twee componenten." Vandaar dat Moret Ernst & Young componenten bouwt voor de overheid en voor de financiële wereld. Het ADC streeft er zoveel mogelijk naar om componenten bedrijfsprocessen te laten representeren. "Dat praat het makkelijkste met klanten. Voor de Oostenrijkse regering bouwen we bijvoorbeeld een systeem waarvan het component ‘visum aanvraag’ deel uit maakt." Een van de nadelen voor organisaties die CBD willen oppakken is dat er in het begin nog geen enkel standaard component is. "Voor het eerste project moet alles ontwikkeld worden en dat kost meer tijd dan volgens de gangbare methode. Daarna treedt de mogelijkheid van hergebruik pas in", aldus De Boer.
Juiste houding
Het zijn vooral de organisatorische succesvoorwaarden en niet die van techniek en ontwerp, waarop Moret de nadruk legt. De organisatie, de projecten en de projectleden moeten de juiste houding aannemen tegenover hergebruik van software. Dat is vaak een probleem: "Projectleiders zien het voordeel van hergebruik wel in, maar het is voor een specifiek project minder belangrijk." Een individueel project moet een werkend en uniek systeem opleveren. Krappe budgetten en strakke planningen stimuleren het gebruik van CBD, meent De Boer. Onder zulke omstandigheden is men eerder geneigd een kant-en-klare component toe te voegen en het not invented here-syndroom te laten voor wat het is. Dat vereist echter wel een andere organisatie van systeemontwikkeling. Moret Ernst & Young heeft daartoe drie verschillende organisatievormen in het leven geroepen. Centraal is het backoffice gesitueerd. Daar waar onafhankelijk van specifieke projecten standaardcomponenten worden gemaakt en beheerd. Voor specifieke opdrachten, projecten dus, wordt een midoffice geformeerd waar de specificaties van het gewenste systeem worden vastgesteld, die op basis van standaard componenten uit het backoffice worden gecomponeerd. Ook de integratietesten hebben hier plaats. Het frontoffice tenslotte draagt zorg voor de implementatie bij de klant, voert de acceptatietest uit en onderhoudt het systeem na ingebruikname. Het backoffice bevindt zich momenteel bij Moret in Utrecht, maar verhuist op termijn gedeeltelijk naar India.
In klassieke project-organisaties zorgt de druk van het individuele project en de waan van de dag ervoor dat er geen tijd is softwarecomponenten zodanig te bouwen dat ze herbruikbaar zijn. Een project-organisatie is gericht op één klus. Een in drieën opgedeelde organisatie kan de noodzakelijke prioriteiten scheiden en tegelijkertijd aan herbruikbare componenten en aan specifieke applicaties werken. Naast het wijzigen van de organisatiestructuur is ook een andere mentaliteit nodig. CBD wordt vaak gezien als een aanslag op de creativiteit van ontwikkelaars, omdat het domweg zou gaan om het bij elkaar zoeken van standaard componenten en die samenvoegen zodat de gewenste functionaliteit gedekt wordt. "Het zoeken naar een oplossing is inderdaad minder nodig. Maar het ontwerpen van een component is een veel grotere uitdaging. Die moet namelijk zo flexibel zijn dat die in elke applicatie gebruikt kan worden", aldus De Boer. CBD is niet vrijblijvend en vereist visie en commitment. "De beste middelen falen als de mensen niet eerst het gedachtegoed tussen hun oren hebben."
Kritisch
De Boer is kritisch op een initiatief als San Francisco, vanwege de ontbrekende strakke visie op architectuur. IBM en zijn partners ontwikkelen in het initiatief componenten in Java ter ondersteuning van bedrijfsprocessen. "Dat gaat vaak nog voor de voet weg. Voor specifieke technische omgevingen moeten de componenten dan weer nog geëncapsuleerd worden." Volgens De Boer moeten rond CBD veel afspraken gemaakt worden. Over het aantal karakters in een naamveld bijvoorbeeld. Het is daarom overzichtelijker en beter om het in één organisatie te houden. San Francisco wordt uitgevoerd door een conglomeraat van bedrijven. De trage adoptie van San Francisco, waar onlangs de derde versie van op de markt kwam, die door analisten sceptisch ontvangen werd, lijkt De Boer gelijk te geven.
Naast de organisatorische voorwaarden vergeet De Boer de techniek niet en moeten de ontwikkelingen op dat vlak ook nog een en ander bewerkstelligen. "Corba-standaarden dekken niet alles af. Corba-compliant software praat niet per definitie met elkaar. Dat is hetzelfde als met SQL. Een Oracle-query op een Informix-database functioneert ook niet. De protocollen zijn niet gespecificeerd." Maar hij roept meteen in herinnering dat het ook lang heeft geduurd voordat telefoonnetwerken met elkaar konden ‘praten’. Voor de toolleverancier Nat Systems is het nu dan ook zaak zoveel mogelijk Corbaproducten te ondersteunen. "Iona, Visigenic, noem ze maar op. Je moet ergens beginnen. Uiteindelijk moet je product zo open mogelijk zijn", kondigt Theo Winters van Nat Systems aan. Moret koos na een selectietraject, waarbij ook Visual Age, Object Star en Forté bekeken werden, voor Nat Star van Nat Systems. De functionaliteit op het gebied van object-oriëntatie en de kwaliteit van de codegeneratie waren criteria die de doorslag gaven. "Ik heb in anderhalf jaar tijd nog nooit in de gegenereerde code hoeven zoeken naar fouten", aldus Mark Leck, consultant van het ADC van Moret.
Rendabel hergebruik
Verder voorspelt de Moret-consultant dat CBD het uitbesteden van systeemontwikkeling zal stimuleren. "Een bank heeft maar één hypotheeksysteem nodig. Waar blijft hergebruik dan?" Omdat een bedrijf maar één specifieke toepassing nodig heeft, duurt het te lang voordat hergebruik rendabel wordt. De relatie met klanten zal volgens De Boer groeien naar een meer rationele en realistische. "Het verzamelen van specificaties betekent niet meer dat je alles opschrijft wat de klant wil hebben. We gaan naar de klant toe met onze componenten en laten zien wat kan." De wildgroei van wensen op detailniveau neemt daardoor af. "Een succesvoorwaarde voor CBD is dat klanten iets van hun eisen laten vallen op het gebied van functionaliteit." Een rood in plaats van een blauw menu was vroeger geen enkel probleem. Maar volgens De Boer betekent dat nogal wat voor de mate van hergebruik (meer componenten nodig die allemaal onderhouden moeten worden) en dus ook voor de levertijd. "Wij ontwikkelaars kunnen nog veel van bpr-mensen leren (business process reengineering). Processen aanvechten die de klant als vanzelfsprekend ervaart. Dat zijn dingen die je moet beheersen voor CBD, en dat is een moeilijke kunst."
Roy Op het Veld, redacteur