Dynamic Systems Development Method biedt een raamwerk voor het goed beheersen van rad-projecten. Belangrijk is de onafhankelijkheid van leveranciers en technologie. Hiermee komt de methode tegemoet aan het momenteel sterk levende verlangen naar openheid en platformonafhankelijkheid. Werken vanuit de dsdm-filosofie betekent een attitude van samenwerking en acceptatie, en betrokkenheid van het management. De voordelen gaan verder dan alleen een goed stuk software, zoals een bestuurslid van het Dsdm-consortium toelicht.
Hoewel rapid application development (rad) snel populair is geworden, heeft het in zijn basisvorm toch een aantal niet geringe beperkingen. Zo kan de methode slecht omgaan met voortschrijdend inzicht, flexibele kwaliteitsnormen en kwaliteitssystemen, en gezamenlijk gedragen resultaatverplichting. Het ontbreken van deze eigenschappen plus nog een aantal (case)-toolspecifieke zaken hebben geleid tot een scala aan rad-varianten. De tijd was derhalve rijp voor een duidelijke, pragmatische ‘public domain’-methode. Pragmatisch, om een eenduidige en werkbare aanpak te hebben, en ‘public domain’, om te zorgen voor standaardisatie en leveranciersonafhankelijkheid, iets wat bij tool- of organisatiegebonden rad-varianten duidelijk niet het geval is.
Traditioneel vielen de meeste IT-projecten onder de verantwoordelijkheid van een IT-manager; ze konden vaak volledig binnen de muren van een IT-afdeling worden afgehandeld. Nu informatietechnologie echter een integraal onderdeel is geworden van veel bedrijfkritische processen, hebben IT-projecten ook een veel directere invloed op andere bedrijfsafdelingen, zoals het algemeen-, het financieel-, het commercieel- en het personeelsmanagement. ‘Time-to-market’, hoge gebruikskwaliteit en budgetcontrole zijn voor maatwerksoftware en projecten van wezenlijk belang. Dsdm als methode is hierop ingericht, maar vergt daartoe wel de nodige betrokkenheid van het management dat een faciliterende rol speelt. Hierbij moet worden gedacht aan zaken zoals gedelegeerde beslissingsbevoegdheid, beschikbaar maken en houden van resources, vertrouwen, enzovoort. In het algemeen geldt dat hiervoor een moderne managementstijl essentieel is.
Filosofie
Dsdm is gebaseerd op het leggen van mandaten bij personen met de juiste kennis van specifieke zakelijke voordelen, op het juiste moment in de procescyclus. Niet het opleveren van wat in een specificatie is beschreven staat centraal, maar het opleveren van iets dat aansluit op de actuele behoefte van een organisatie. Flexibiliteit is hierbij een essentiële voorwaarde.
Gedurende het gehele project hebben de uiteindelijke eindgebruikers een grote invloed op zowel mogelijkheden, vormgeving als werking van het eindproduct. Zij hebben een mandaat gekregen voor besluitvorming binnen de kaders van het project (die op hun beurt gerelateerd zijn aan de zakelijke voordelen, ofwel ‘return on investments’). Samen met ontwikkelaars dragen zij de verantwoordelijkheid voor het resultaat van het project. Op deze manier werkt IT samen met de gebruikers, in plaats van voor de gebruikers. Uiteraard geldt, zoals bij elke vorm van delegeren, ook hier dat aan het gegeven mandaat ook de bijbehorende verantwoordelijkheid en beslissingsbevoegdheid wordt verleend.
In de projectcyclus worden iteratief producten ontwikkeld, waaronder prototypes. Hierbij zijn voortschrijdend inzicht (je kunt iets pas echt beoordelen als je het hebt gezien en gebruikt) en omgevingsfactoren tot ver in het project mee te nemen, om zodoende te komen tot een op de gebruiker afgestemd eindproduct. Aansluiting op de werkelijke behoefte van de organisatie wordt hiermee gewaarborgd. Uitloop is geen punt, omdat het team niet op de beschikbare tijd of het budget varieert, maar op de op te leveren functionaliteit (timeboxing). Dit wordt bereikt door een prioriteitstelling waarbij de zakelijke voordelen centraal staan.
Het management
Deze filosofie geeft aan dat dsdm meer is dan alleen een methode. Er wordt van alle betrokkenen een andere insteek verwacht dan bij traditionele projecten. IT schrijft niet meer voor, maar faciliteert. Dit betekent voor alle partijen (IT en gebruikers) een andere rol. Binnen een team worden alle betrokkenen ingezet op hun specialisme. De kracht ligt in de synergie die een projectteam tot stand kan brengen. Plaats dit binnen een efficiënt en effectief proces, en de snelheid wordt verhoogd. Dit stelt echter wel hoge eisen aan alle betrokkenen, ongeacht hun achtergrond.
Het management is meestal als opdrachtgever betrokken bij projecten. ICT-professionals werken op basis van een specificatie aan producten. Alleen bij formele mijlpalen (bijvoorbeeld acceptatie) wordt beslag gelegd op tijd van het management. Het proces zelf is voor het management vaak van ondergeschikt belang; het bereiken van de doelstellingen staat voorop.
Bij dsdm is de projectomgeving ook substantieel anders dan bij traditionele projecten. Zo is er een aantal aspecten waaraan het management zich zal moeten committeren, zoals bijvoorbeeld het feit dat gebruikers moeten worden vrijgemaakt (én gehouden) en dat er andere vormen van acceptatieprocedures worden gebruikt. Dit zijn pijlers waarop het succes van dsdm rust.
In veel organisaties zegt het management doorgaans nog te gemakkelijk ‘ja’ tegen projecten, zonder zich te realiseren wat dit in de praktijk – bijvoorbeeld op de werkvloer – betekent. Wanneer dan vervolgens de druk op de organisatie toeneemt (seizoensinvloeden, stijging aantal orders, enzovoort) worden deze toezeggingen vaak weer ingetrokken, waardoor de betrokken gebruikers naast het project een onevenredige hoeveelheid operationele zaken op hun bord krijgen. Dit komt de kwaliteit, de motivatie en acceptatie zeker niet ten goede.
Committeren betekent in dit geval dan ook dat het management zich hard maakt voor de toezeggingen, ook onder druk van de buitenwacht. Door het projectteam – en daarmee ook de projectvoortgang – te vrijwaren van invloeden van buitenaf faciliteert het management het project.
Beweegredenen
Naast de gebruikelijke zakelijke en veelal financiële aspecten, spelen binnen dsdm ook veel ‘zachte factoren’ een rol. De dsdm-filosofie is gebaseerd op menselijke normen en waarden. Door het mandateren ontstaat duidelijk betrokkenheid bij de mensen in kwestie, wat leidt tot meer acceptatie en een beter gebruik. Daarnaast werkt dit erg motiverend voor de betrokkenen, wat weer resulteert in een pro-actieve houding. ‘Doen waar je goed in bent’ (turning talent into enterprise); organisatie en individu varen er wel bij.
Wat betekent dit in de praktijk? Het team krijgt de opdracht én de verantwoordelijkheid om binnen de gestelde kaders de projectdoelstellingen te realiseren. Hierbij wordt gesproken in termen van respect en vertrouwen. Dit gaat verder dan alleen het verstrekken van een opdracht. Respect en vertrouwen betekent dat je accepteert dat wanneer je iemand vraagt iets te doen, hij dat op zijn eigen wijze zal doen. Dit zal ongetwijfeld afwijken van de wijze waarop je het zelf zou hebben gedaan. Je moet de ander daarin vrij laten. Daarbij komt het vertrouwen dat de gezamenlijk benoemde doelstelling centraal zal blijven, en zal worden gerealiseerd.
Het mandateren van een team is de eerste stap. Vaak wordt vergeten dat verantwoordelijkheden niet alleen moeten worden gegeven, maar ook moeten worden genomen. Na de eerste stap zal het team zich bewust moeten zijn van het respect en vertrouwen dat bij hen is neergelegd via het mandaat. Het team zal nu naar eigen inzicht, met in het achterhoofd het maximaliseren van de synergie, moeten gaan opereren als een ‘zelfstandige onderneming’. Een onderneming die is opgericht voor de duur van het project en met de projectdoelstellingen als bedrijfsdoel.
Ondernemerschap betekent hier gezamenlijke verantwoordelijkheid voor het geheel, en niet alleen voor individuele taken. Dit houdt in dat men zorg moet dragen voor onderlinge communicatie, risicobestrijding, het vroegtijdig signaleren van mogelijke problemen, maar bijvoorbeeld ook kostenbewaking. Traditioneel liggen dergelijke zaken veelal geconcentreerd bij de projectmanager; eventueel heeft hij daarnaast nog één of meer taken.
‘No blame’-cultuur
Wanneer we het geven en nemen van verantwoordelijkheden bundelen, zal het team in staat moeten zijn om zaken binnen het project ook zelf op te lossen. Een voordeel hiervan is dat het team voor dit soort zaken niet continu managementtijd hoeft te claimen. Alleen wanneer het echt nodig is, zal het management zijn faciliterende rol op zich nemen. Het team is in staat om zelf interne zaken op te lossen.
Dit zelfreinigende vermogen zorgt voor het ontstaan van een echte ‘no blame’-cultuur waarbij niet de oorzaak, of (nog erger) de veroorzaker van een probleem centraal staat, maar juist het gezamenlijk vinden van de beste oplossing. Men zal problemen en fouten sneller erkennen, en daarmee ook de oorzaak. Zowel de sfeer, een voorwaarde voor kwaliteit en acceptatie, als de kwaliteit zullen verbeteren.
Al deze punten, met name het laatste punt, vereisen wel een bepaalde basishouding van alle betrokkenen, inclusief het management. Ook hier geldt dat respect en vertrouwen voorop staan.
Substantiële voordelen
Werken vanuit de dsdm-filosofie met deze andere attitude, leidt tot een aantal substantiële voordelen die verder gaan dan alleen een goed stuk software. Op basis van dsdm-kennis en ervaring wordt professionaliteit (integrale kwaliteit) ontwikkeld, en groeien de projectparticipanten (zowel qua kennis als qua persoon). Hiervan is ook buiten het project te profiteren. Daarnaast is het zo dat de dsdm-filosofie en de procescyclus in bepaalde situaties ook toepasbaar zijn op andere ontwikkelingen dan die van software.
Een continue interactie met eindgebruikers is een waarborg voor de zeer hoge kwaliteit van eindproducten, zowel voor wat betreft de functionaliteit als het gebruiksgemak. Het principe hierachter is het zo kort mogelijk houden van de correctie- en reparatietijd. Dit is te realiseren door gebruikers de producten geïntegreerd te laten testen. Hierdoor worden zowel functionele als technische manco’s snel onderkend waardoor tijdwinst wordt geboekt. Tevens ontstaat een duidelijk eigendomsgevoel bij de betrokken gebruikers, wat eveneens bijdraagt aan kwaliteitsverhoging en, uiteraard, acceptatie.
Strategieën
De robuustheid en onderhoudbaarheid wordt afgestemd op het toekomstige gebruik. Dsdm kent hiervoor drie verschillende strategieën. Op basis van de geformuleerde eisen ten aanzien van levensduur en kwaliteit wordt hieruit een keuze gemaakt. Hierdoor wordt de eindkwaliteit bepaald door de werkelijke behoefte en de bestaande situatie, in plaats van op basis van algemene standaardspecificaties.
Door de toepassing van verschillende benaderingen waarbij onnodige functionaliteit direct wordt uitgesloten, zijn niet alleen kosten te besparen, maar wordt ook meteen de hoeveelheid werk beperkt. Daarnaast zorgen de zeer korte communicatielijnen en de snelle en efficiënte werkwijze binnen dsdm voor korte doorlooptijden. Technieken zoals ‘facilitated workshops’, ‘prototyping’, iteratief en incrementeel werken en geïntegreerd testen zorgen voor het beperken of voorkomen van eindeloze ‘reviews’, langdurige hersteltrajecten en redundante activiteiten. Niet de kwantiteit, maar de juistheid van de software staat centraal.
Naast de snelheid waarmee software wordt ontwikkeld, speelt uiteraard ook de implementatietijd een belangrijke rol. De incrementele aanpak is hierbij van belang. Binnen dsdm wordt gezocht naar een logische deelbaarheid van het eindproduct. Deze deelbaarheid wordt omgezet naar incrementen. Elk increment wordt gekenmerkt door een oplevering die in productie gaat en operationele waarde heeft (geschikt voor zakelijke doeleinden). Naast het gebruikersvoordeel (sneller over producten beschikken) betekent dit ook dat producten zichzelf sneller terugverdienen. Op deze wijze worden snelheid en financiën expliciet aan elkaar gekoppeld.
Valkuilen
Dit alles beschouwend zou men kunnen opteren voor het snel doorvoeren van dsdm in de eigen organisatie. Daar ligt echter een grote valkuil. Op het moment dat dsdm als alles zaligmakend paradigma wordt gepositioneerd, is het geworden wat het wilde voorkomen. Men moet een aantal aspecten overwegen bij het bepalen van de wijze waarop dsdm wordt ingezet (het wel of niet invoeren is veel minder aan de orde).
Als je mensen optimaal wilt laten presteren – en dan ook nog op een wijze die te continueren is (een combinatie van zakelijke kwaliteit en persoonlijke tevredenheid) – is het essentieel functies (rollen) en mensen goed op elkaar te laten aansluiten. De dsdm-methode kent een verscheidenheid aan rollen. Naast een aantal gemeenschappelijke kenmerken – voornamelijk op het gebied van communicatieve vaardigheden, een open grondhouding en flexibiliteit – bestaat er een grote diversiteit voor wat betreft taken, verantwoordelijkheden, inzet en vakinhoudelijke kennis.
Waar dsdm zeer veel aandacht besteedt aan het realiseren van acceptatie door de gebruiker van het te ontwikkelen product, geldt dit onverminderd ook voor de methode zelf. Ook dsdm is te zien als een ‘product’ dat door ‘gebruikers’ moeten worden geaccepteerd. De totaal andere wijze van met elkaar omgaan en probleemaanpak vereist dat er een brug wordt geslagen tussen de traditionele situatie enerzijds en de dsdm-filosofie anderzijds.
Arie van Bennekum, consultant bij Solvision, en lid van het dagelijks bestuur van Dsdm Consortium Benelux
RAD en DSDM
Rapid application development (rad), eind jaren tachtig geïntroduceerd door James Martin, staat voor het sneller ontwikkelen van kwalitatief hoogstaande applicatiesystemen die beter tegemoet komen aan de behoefte van de gebruiker.
Tot enkele jaren geleden ontbrak het in IT-afdelingen en -organisaties echter aan een gemeenschappelijke context voor toepassing van deze krachtige ontwikkelmethodes. Men had behoefte aan een standaard raamwerk om de incrementele ontwikkeltrajecten voor applicatiesystemen beter vorm te kunnen geven en beter te kunnen beheersen. Hiertoe is twee jaar geleden in Groot-Brittannië het Dsdm-Consortium opgericht. Dit consortium heeft als doelstelling de ontwikkeling van een rad-methode die beter past bij de moderne dynamische bedrijfsomgeving dan de traditionele ontwikkelmethoden. In feite is dsdm de uitwerking van een management- en beheerfilosofie voor incrementele applicatie-ontwikkeling, die is gebaseerd op de ervaringen met rad bij de verschillende lidorganisaties.
Principes DSDM
De theorie achter dsdm is terug te voeren op negen principes:
Dsdm-consortium
Dynamic Systems Development Method is ontwikkeld vanuit een consortium, een soort standaardorganisatie. Internationaal telt het Dsdm-Consortium op dit moment al meer dan honderd leden: gebruikersorganisaties, softwarefabrikanten en IT-bedrijven. In 1996 namen zeven IT-bedrijven het initiatief om samen met gebruikers ook in de Benelux te komen tot zo’n platform voor ‘rapid application development’. Deze gebruikersgroep, Dsdm Benelux, organiseert donderdag 25 november in Hotel Vianen zijn eerste congres.
In samenwerking met het Exin organiseert het Dsdm-consortium examendagen. Recent zijn er richtlijnen vastgesteld voor de Nederlandse vertaling van de dsdm-terminologie bij certificatietrajecten en examens. Meer informatie is te vinden op http://www.dsdm.nl.
Dsdm Benelux is een platform waar de leden ervaringen kunnen uitwisselen op het gebied van de praktische toepassing van de ‘dynamic systems development method’ en de daarin toe te passen technieken (joint application development, prototyping) en softwareproducten (case-tools).