Computable.nl
  • Thema’s
    • Carrière
    • Innovatie & Transformatie
    • Cloud & Infrastructuur
    • Data & AI
    • Governance & Privacy
    • Security & Awareness
    • Software & Development
    • Werkplek & Beheer
  • Sectoren
    • Channel
    • Financiële dienstverlening
    • Logistiek
    • Onderwijs
    • Overheid
    • Zorg
  • Computable Awards
    • Overzicht
    • Nieuws
    • Winnaars
    • Partner worden
  • Vacatures
    • Vacatures bekijken
    • Vacatures plaatsen
  • Bedrijven
    • Profielen
    • Producten & Diensten
  • Kennisbank
  • Nieuwsbrief

eXtreme Programming als oplossing

27 januari 2005 - 23:005 minuten leestijdAchtergrondSoftware & Development
Kees Broenink
Kees Broenink

Softwareprojecten maken meestal gebruik van Prince2 als globale projectmanagementmethode. De realisatie wordt vervolgens met andere methodes vormgegeven. Op dit moment is RUP (Rational Unified Process) vrij populair en DSDM (Dynamic System Development Method) wordt ook steeds vaker gebruikt. In Nederland is eXtreme Programming (XP) minder populair.

Dit artikel probeert XP onder de aandacht te brengen als de methode bij uitstek om softwareprojecten beheersbaar en succesvol te laten zijn.
Dit gebeurt aan de hand van twee veelvoorkomende valkuilen bij software-ontwikkelprojecten. In de startfase van een project wordt het bouwen onder architectuur verkeerd geïnterpreteerd. Gedurende het project zijn er krachten aan het werk die vaak ongemerkt de scope van het project veranderen. XP biedt de juiste instrumenten om met deze problemen om te gaan.
Bij professionele softwareprojecten wordt gebouwd onder architectuur, wat wil zeggen dat er een overkoepelende visie en ontwerp is op de ict-huishouding. Elk project moet passen in dit globale beeld en draagt daardoor bij aan het realiseren van een deel van de architectuur. Waarom klinkt dit allemaal logisch, maar leidt het in de praktijk tot grote problemen? Dit heeft alles te maken met de doelstellingen van een project, namelijk binnen een gestelde tijd een softwareproduct bouwen of implementeren (scope) waarbij een bepaald budget niet wordt overschreven. Voldoen aan de eisen van het groter geheel draagt echter niet bij tot het succes of falen van het gebouwde product. Met andere woorden, een project kan heel goed slagen zonder te voldoen aan de architectuur.

‘Bouw nooit iets voor de toekomst’

Een project zal vaker falen als het bouwen binnen de architectuur tot extra inspanningen leidt. Het lijkt erop dat er beter twee projecten gestart kunnen worden: een project om het product te bouwen en een project om het product te herbouwen zodat het in de architectuur past. Het combineren van deze twee doelstellingen in één project is een riskante uitgangssituatie. Het is wellicht efficiënter dan twee aparte projecten, maar de uitkomst van het project is veel moeilijker te voorspellen. Bij eXtreme Programming heeft men daarom de volgende regel opgesteld: ‘Bouw nooit iets voor de toekomst’.
Natuurlijk is het wel aan te raden om bestaande componenten te gebruiken: het heeft geen zin om het wiel opnieuw uit te vinden. We gaan tenslotte ook geen OS, database of webserver meer in elkaar zetten. In die zin is architectuur een gegeven. Ook is het niet meer dan logisch om aan te sluiten bij de bestaande ict-infrastructuur. Ga geen Java gebruiken als alles Microsoft is; gebruik bewezen frameworks en tools. Pas wel op dat het project niet geacht wordt zaken te bouwen ten behoeve van toekomstige producten of projecten!
Nadat de scope van het project is bepaald, wordt de functionaliteit in het algemeen in fases (iteraties of incrementen) verdeeld. Uitgangspunt is vaak dat alle gevraagde functionaliteit geleverd gaat worden. Dit is echter fnuikend als bij het project tijd en geld nagenoeg geen variabelen zijn. De lineaire ‘watervalmethode’ is terecht bekritiseerd vanwege de onmogelijkheid om te managen op scope. Het juiste antwoord van RUP en DSDM hierop is incrementeel iteratief werken (alle fasen worden meerdere keren doorlopen: tijdens elke doorloopcyclus wordt wat toegevoegd – red.) Dit werkt echter alleen als de scope gedurende het project gewijzigd mag worden. Als de scope vastligt, zullen iteraties (herhaald doorlopen van de fasen – red.) gewoon uitlopen. Je bent hooguit wat eerder op de hoogte van de uitloop dan met de watervalmethode.

Functionaliteiten

Bij XP wordt met de klant elke week opnieuw bekeken wat de belangrijkste functionaliteit is die gebouwd moet worden. De volgorde hiervan is dus in hoge mate variabel. Omdat het product steeds meer vorm krijgt, beseft de klant opeens dat bepaalde functionaliteit toch belangrijker is dan eerst gedacht. Of dat de beschreven functionaliteit eigenlijk pas af is als er iets bijkomt. Dit betekent in XP-termen dat er een nieuwe ‘requirement’ (vereiste) wordt opgesteld waardoor een andere requirement moet komen te vervallen, tenzij het project mag uitlopen. Op deze manier wordt de scope beheerd. Elke functionaliteitswijziging wordt expliciet gemaakt en de prijs die betaald moet worden voor nieuwe functionaliteit is onmiddellijk duidelijk. De vrager – en niet de aanbieder – wordt daarmee verantwoordelijk voor de veranderende scope. De valkuil waarin veel projecten terecht komen wordt hierdoor vermeden.
Tijdens het inschatten van de functionaliteiten wordt in principe geen rekening gehouden met het bestaan van de andere functionaliteiten. Dus hoewel de programmeur weet dat als A gebouwd is, B veel sneller klaar zal zijn, wordt de inspanning van B geschat alsof A er niet is, tenzij er heel duidelijk wordt aangegeven dat B pas gekozen kan worden als A af is. Dit gebeurt zo min mogelijk om de keuzevrijheid van de klant niet te beperken.

Snelheidsmeting

Daarnaast wordt bij eXtreme Programming erkend dat er bij elk software-ontwikkelproject een grote mate van onzekerheid is over de snelheid van een project. Veel softwareprojecten hebben een innovatief karakter. Het project is dan in grote mate afhankelijk van de mensen in het ontwikkelteam. Een groter team betekent niet dat de snelheid toeneemt. De snelheid zou zelfs af kunnen nemen. Daarom wordt bij XP de snelheid van het project continu gemeten. Hierdoor neemt de voorspelbaarheid gedurende het project toe. Het zou dus zelfs zo kunnen zijn dat men halverwege kan voorspellen dat men eerder klaar is dan de geschatte einddatum.
Deze onzekerheid van de meeste softwareprojecten is een doorn in het oog van opdrachtgevers. Die willen met een zak geld op een gegeven moment een kant-en-klaar product zien. Juist doordat XP elke dag opnieuw de snelheid beoordeelt, biedt XP de managementtechnieken om een project steeds beheersbaarder te maken. Als er vervolgens een soortgelijk project met hetzelfde team wordt gedraaid, is er bij aanvang al een behoorlijk betrouwbaar beeld van de einddatum. XP leert managers verantwoordelijk om te gaan met goede mensen in goede teams, om te gaan met onzekerheid en onvermijdelijke scopewijzigingen gedurende een project. Kortom, XP is een goede methode voor softwareprojecten.< BR>
 
Kees Broenink, Softwareontwikkelaar en ontwikkelprocesbegeleider

Meer over

DSDMPrince2RUP

Deel

    Inschrijven nieuwsbrief Computable

    Door te klikken op inschrijven geef je toestemming aan Jaarbeurs B.V. om je naam en e-mailadres te verwerken voor het verzenden van een of meer mailings namens Computable. Je kunt je toestemming te allen tijde intrekken via de af­meld­func­tie in de nieuwsbrief.
    Wil je weten hoe Jaarbeurs B.V. omgaat met jouw per­soons­ge­ge­vens? Klik dan hier voor ons privacy statement.

    Whitepapers

    Computable.nl

    Design Sprints: 4 dagen van idee naar prototype

    Hoe zet je in vier dagen tijd een gevalideerd prototype neer met Design Sprints?

    Computable.nl

    Resultaatgericht Samenwerken (RGS).

    RGS is een gestructureerde methode die vastgoedprofessionals direct ondersteunt bij kwaliteitsverbetering, kostenefficiëntie en verduurzaming.

    Computable.nl

    De principes van cloud-native techniek

    Cloud-native technologieën voegen flexibiliteit, schaalbaarheid en beveiliging toe en verlagen de operationele kosten voor de IT-omgeving. Hoe dragen Kubernetes, KEDA en AKS hieraan bij?

    Meer lezen

    ActueelSoftware & Development

    Rodeo Software-oprichter Vos veroordeeld tot 63 mln schadevergoeding

    ActueelCloud & Infrastructuur

    Proximus en Thales vernieuwen it bij Navo, ASR in zee met Outsystems (en meer)

    ActueelSecurity & Awareness

    Kort: Cybercrimineel ligt op de loer in hoogseizoen, Centric verkoopt Belgische detachering (en meer)

    toetsenbord met security-icoontjes in de vorm van sloten die open en dicht zitten.
    ActueelSecurity & Awareness

    Kort: European Security Program Microsoft, Atos ondersteunt Nations League, ai-assistent in A&H-winkels (en meer)

    ActueelSoftware & Development

    Kort: 10 miljoen voor Wuunder, TCS kennispartner verzekeraars, Frans factuurplatform naar Benelux (en meer)

    ActueelCloud & Infrastructuur

    Grote Ierse aankoop Wolters Kluwer, VirtualMetric haalt 2,25 miljoen op, nieuwe directeur Calco (en meer)

    Geef een reactie Reactie annuleren

    Je moet ingelogd zijn op om een reactie te plaatsen.

    Populaire berichten

    Meer artikelen

    Uitgelicht

    Partnerartikel
    AdvertorialData & AI

    ‘Echte oplossingen om dagelijks te geb...

    IFS Connect, het jaarlijkse event van bedrijfssoftwareleverancier IFS, draait dit jaar volledig om Industrial AI. Het bedrijf ontvangt zijn gasten...

    Meer persberichten

    Footer

    Direct naar

    • Carrièretests
    • Kennisbank
    • Planning
    • Computable Awards
    • Magazine
    • Abonneren Magazine
    • Cybersec e-Magazine

    Producten

    • Adverteren en meer…
    • Jouw Producten en Bedrijfsprofiel
    • Whitepapers & Leads
    • Vacatures & Employer Branding
    • Persberichten

    Contact

    • Colofon
    • Computable en de AVG
    • Service & contact
    • Inschrijven nieuwsbrief
    • Inlog

    Social

    • Facebook
    • X
    • LinkedIn
    • YouTube
    • Instagram
    © 2025 Jaarbeurs
    • Disclaimer
    • Gebruikersvoorwaarden
    • Privacy statement
    Computable.nl is een product van Jaarbeurs