‘Rapid application development’ versnelt het software-ontwikkelingsproces zonder de kwaliteit geweld aan te doen.Een goede uitvoering en besturing van rad-projecten vereist echter een praktisch raamwerk, aldus Ron van Toledo. De ‘dynamic systems development methode’ is momenteel de enige beschikbare ‘public domain’-methode voor het uitvoeren van dergelijke projecten. Toepassing hiervan veronderstelt een actieve gebruikersparticipatie tijdens het gehele ontwikkelingstraject.
Veel organisaties worden geconfronteerd met steeds krachtigere concurrenten, sterk veranderende produkten en markten en een grotere operationele en strategische afhankelijkheid van informatietechnologie. Eén van de gevolgen hiervan is dat de tijdige beschikbaarheid van ondersteunende informatiesystemen een kritische succesfactor is geworden bij het doorvoeren van business-veranderingen. De vraag rijst op welke wijze het software-ontwikkelingsproces zodanig is te versnellen en af te stemmen op de behoefte van de gebruikersorganisatie zonder afbreuk te doen aan de kwaliteit van de opgeleverde systemen.
‘Rapid application development’
Een steeds vaker gehoord antwoord op bovengestelde vraag is ‘rapid application development’. Dit is een aanpak waarmee men kwalitatief betere systemen kan realiseren in een kortere doorlooptijd en daardoor tegen lagere kosten.
Enerzijds leidt een grote gebruikersparticipatie tijdens het gehele ontwikkelingstraject tot een hoge kwaliteit, terwijl het op resultaten gestuurde ontwikkelingsproces nooit tot een quick en dirty aanpak vervalt. Anderzijds leert de ervaring met rad-projecten dat de produktiviteit van het systeemontwikkelingstraject met een factor drie tot twaalf kan worden verbeterd en dat de doorlooptijd met een factor twee tot zeven kan worden verminderd.
‘Rapid application development’ is gebaseerd op een aantal uitgangspunten die wezenlijk anders zijn dan bij de traditionele ‘waterval-methoden’ voor software-ontwikkeling, zie figuur 1.
Figuur 1. Verschillen tussen ‘rapid application development’ en traditionele methoden.
Belangrijkste filosofie van rad is het streven om niet 100 procent van alle functionaliteit in één keer te specificeren en te realiseren. In het algemeen is 80 procent van de door de gebruikersorganisatie benodigde functionaliteit te realiseren in 20 procent van de tijd. De overige 80 procent van de tijd en daarmee een groot deel van de ontwikkelingskosten zit bij de traditionele wijze van systeemontwikkeling in het realiseren en optimaliseren van allerlei specifieke functionaliteit.
Met behulp van rad laten we een systeem vanuit een basiskern uitgroeien – in een aantal incrementen of versies – tot z’n uiteindelijke omvang. Door het toepassen van concrete technieken en het inzetten van hulpmiddelen worden de ontwikkelings- en realisatie-inspanningen gefocust op resultaat en snelheid. Rad is daarmee een benaderingswijze voor systeemontwikkeling, waarbij de behoefte ontstaat aan een mix van communicatie-technieken (joint application design, iteratieve prototyping), geautomatiseerde hulpmiddelen (casetools, testtools, codegeneratie) en managementtechnieken (timeboxing).
Rad-raamwerk
Zonder een eenduidig begrippenkader bestaat het gevaar dat rad een manier van werken wordt zonder de nodige controlemechanismen. Voor een optimaal kwalitatief resultaat met rad is een goed raamwerk van essentieel belang. In Engeland onderkende men deze behoefte reeds lang. Zestien organisaties hebben in januari 1994 tezamen een consortium gevormd dat zich ten doel stelde om uit de ervaringen van de lid-organisaties een raamwerk voor de aanpak van rad-projecten te ontwikkelen. Versie 1 van dit raamwerk, de dynamic systems development method (dsdm), is in februari 1995 in London gepresenteerd en wordt inmiddels in de praktijk toegepast in Engeland.
‘Dynamic systems development’
Deze methode is momenteel de enige die een compleet en praktisch raamwerk biedt voor het uitvoeren van rad-projecten. Het is ontwikkeld uit de beste systeemontwikkelingstechnieken die in gebruik zijn bij de leden van het dsdm-consortium, en is gebaseerd op dertien principes (figuur 2).
Figuur 2. De dertien principes van de ‘dynamic systems development methode’.
1
Actieve gebruikersparticipatie tijdens het gehele ontwikkelingstraject is noodzakelijk.
2
Rad-teams moeten over voldoende bevoegdheden beschikken om beslissingen te nemen.
3
Voldoen aan business-behoeften is belangrijker dan de kwaliteit van operationele karakteristieken van het systeem.
4
Een ‘product based view’ is flexibeler dan een ‘activity based view’.
5
Een iteratieve ontwikkelingsaanpak is een zeer krachtige manier om snel systemen te ontwerpen.
6
Alle veranderingen zijn omkeerbaar.
7
Het managen van teams is eerder gericht op de motivatie voor het bereiken van de business-doeleinden dan op de uitvoering van taken (focus op resultaten in plaats van activiteiten).
8
Testen vindt plaats gedurende de gehele ontwikkelingsfase.
9
Van meet af aan moeten strakke planningen worden gehanteerd met een frequente oplevering van resultaten.
10
Planningen die zijn gebaseerd op ‘business’ functionaliteit bieden de beste basis voor het dsdm-ontwikkelingsproces.
11
Risico’s worden primair vastgesteld in het kader van de functionaliteit van het systeem.
12
Het definiëren van de systeemeisen op een algemeen niveau biedt flexibiliteit voor de decompositie van deze eisen tijdens de realisatie.
13
Bij het aanschaffen van software is een coöperatieve benadering van de koper en verkoper essentieel.
De levenscyclus van de dsdm-methode gaat uit van een voortdurende iteratie, zie figuur 3.
De basis voor de ontwikkeling is een toepasbaarheidsonderzoek en een business-onderzoek waarin men de kaders van de te ondersteunen bedrijfsactiviteiten bepaalt. Daarna volgen drie iteratieve stappen waarin prototypen worden ontworpen, gerealiseerd en geïmplementeerd. Het is voortdurend mogelijk om terug te keren naar een voorgaande stap. Daarnaast biedt dsdm een beschrijving van de nodige controlemechanismen, zoals project-management, teamvorming, gebruikersinzet, time boxing, kwaliteitscontrole, planning, risicoschatting, change control, versiebeheer enzovoort.
Er wordt dus niet alleen aandacht besteed aan de behoeften van de systeemontwikkelaars, maar ook aan de behoeften van alle bij het ontwikkelingsproces betrokken disciplines, zoals gebruikers, business managers, projectmanagers, kwaliteitsbewakers en systeemontwikkelaars. De dsdm-methode schrijft niets voor, maar biedt een generiek raamwerk dat toepasbaar is voor vele organisaties, ongeacht hun organisatorische- en technische structuur.
Dsdm-consortium
DCE heeft zich – als eerste Nederlandse organisatie – aangesloten bij het in januari 1994 opgerichte Britse dsdm-consortium. Hierin nemen momenteel circa tachtig vooraanstaande Britse organisaties deel, variërend van IT-leveranciers, software-leveranciers en gebruikersorganisaties. Doelstelling van het consortium is het ontwikkelen van een standaardmethode voor rad. Op basis van de praktische ervaringen van de consortium-leden met rad is de dynamic systems development methode ontwikkeld. De eerste versie van de methode is in februari 1995 in Londen gepresenteerd. De methode wordt momenteel verder ontwikkeld op basis van een aantal concrete dsdm-projecten in Engeland. De tweede versie is eind december 1995 in hetzelfde land gepresenteerd.
Ron van Toledo is werkzaam als senior consultant van
DCE Nederland b.v. te Badhoevedorp