PRINCE2 en software testen
PRINCE 2 wordt al jarenlang in één adem genoemd met software testen. Maar waarom worden zij eigenlijk met elkaar in verband gebracht, wat is eigenlijk de onderlinge connectie? Het ene is om projecten beheersbaar te maken, het andere is om het leveren van een service (ITIL) van kwaliteit te kunnen vergroten of waarborgen. Hoe groot is de invloed die zij eigenlijk op elkaar hebben? Met al dit soort vragen is een uitgebreide, diepgaande en informatieve uitleg dan al snel gewenst en gauw op zijn plaats.
Wat is PRINCE2?
PRINCE staat voor PRojects IN Controled Environments (
vrij vertaald: projecten in beheersbare/gecontroleerde omgevingen). Een algemene definitie van een project is: 'Een project is een geheel van samenhangende activiteiten in een tijdelijke organisatie om, binnen gestelde condities, een van tevoren gedefinieerd resultaat op te leveren.' De PRINCE2-definitie van een project luidt: 'Een project is een tijdelijke organisatie die in het leven is geroepen met als doel de oplevering van één of meer producten op grond van een overeengekomen Business case.'
Thema's binnen PRINCE2
PRINCE2 kent zeven thema's, namelijk:
- Business case: Hierin staat waarom we iets doen.
- Organisatie: Hierin staat wie wat doet.
- Plannen: Wat we maken.
- Kwaliteit: Hoe, hoeveel en wanneer we producten maken.
- Risico: Hierin staat wat je moet doen als er iets gebeurt.
- Wijziging: Hoe groot het gevolg is van verandering.
- Voortgang: Hoe ver zijn we, wat moeten we nog.
De PRINCE2-thema's beschrijven die aspecten van projectmanagement, die continu en integraal moeten worden geadresseerd gedurende de gehele levensloop van ieder project. De business case behandelt het waarom van het project en zet hiertoe benefits, kosten en risico's tegenover elkaar: levert dit project voldoende op en hoe zeker is het dat de business case wordt gerealiseerd?
Nota bene: om meer diepgaand te lezen over de thema's, principes en processen van PRINCE2 is het een aanrader om de cursus PRINCE2 Foundation te volgen en/of informatie op te zoeken over de reden achter de precieze reden van deze thema's. Voor dit artikel is alleen de uitleg van de overlap c.q. connectie van PRINCE2 met software testen beoogd.
PRINCE2 verder uitgelicht
Processen binnen PRINCE2
Naast de zeven thema's kent PRINCE2 ook zeven processen. Deze zijn:
- Opstarten van een project
- Initiëren van een project
- Beheersen van een fase
- Managen productoplevering
- Managen van een faseovergang
- Sturen van een project
- Afsluiten van een project
De verbanden tussen de onderdelen
De thema's van PRINCE2 beschrijven waar de focus op ligt, vervolgens beschrijven de processen in welke volgorde deze worden doorlopen. Ten slotte zijn er ook nog principes, deze beschrijven hoe je moet omgaan met gebeurtenissen. Metaforisch gesproken bewandel je een pad, krijg je uitgelegd hoe je moet lopen en ook hoe je moet handelen als je hordes op de weg tegenkomt én hoe je deze kunt wegnemen.
Zeven principes binnen PRINCE2
Sinds de 2009-versie zijn er dus ook nog zeven principes toegevoegd:
- Voortdurende zakelijke rechtvaardiging
- Leren van ervaringen
- Gedefinieerde rollen en verantwoordelijkheden
- Managen per fase
- Management by exception
- Productgerichte aanpak
- Op maat maken voor de projectomgeving
Principes hebben zich bewezen op basis van jarenlange ervaring en zijn universeel en toepasbaar op ieder project. Deze principes zijn motiverend voor de gebruikers van de methode, omdat het deze gebruikers de mogelijkheid biedt het project in te richten en vorm te geven toegesneden op de specifieke kenmerken en context van het project. Het toepassen van deze principes is voor een PRINCE2-project echt niet optioneel. Als er niet vanuit deze principes gedacht en gehandeld wordt, kan men niet spreken van een PRINCE2-project!
Bij de uitleg van het principe 'Op maat maken voor de projectomgeving', wordt gesproken over
de zes aspecten om projecten te beheersen, namelijk:
- Benefits
- Kwaliteit
- Kosten
- Scope
- Doorlooptijd
- Risico
Wat is software testen?
Wikipedia geeft een heel rijtje aan definities, waaronder:
Software testen is een proces dat inzicht geeft in, en adviseert over, de kwaliteit van de software en de daaraan gerelateerde risico's. Of een stukje formeler:
'Een verzameling activiteiten die uitgevoerd wordt om een of meer kenmerken van een product, proces of dienst vast te stellen volgens een gespecificeerde procedure. [ISO/ IEC, 1991]'
De koppeling
In PRINCE2 zijn er drie type issues:
- wijzigingsverzoek
- afwijking van specificatie
- 'probleem of punt van zorg'
Dit zijn dus issues die betrekking hebben op het project en de voortgang. In het software testen daarentegen kunnen er fouten worden gevonden, ook wel 'bugs' genoemd. Deze bugs hebben natuurlijk een grote invloed op de zes aspecten van het principe 'Op maat maken voor de projectomgeving'. Bugs kunnen er voor zorgen dat de kosten toenemen, de doorlooptijd toeneemt, de kwaliteit onder druk komt te staan of de scope vergroot. Dit in perspectief met de aard of het type, en de grootte van de bugs die gevonden worden. Aangezien niemand de toekomst kan voorspellen kan het zo maar zijn dat software testen - en het vinden van een bepaalde bug - een enorm grote impact heeft op het (voortbestaan van het) project, op de business case. Kort gezegd: een bug gevonden in de software gedurende het testen kan resulteren in een issue over het project, (bijvoorbeeld: het adres kan in het informatiesysteem niet opgeslagen worden (bug), dat zorgt ervoor dat postbrieven niet de deur uit kunnen, het project loopt ernstige vertraging op (issue)).
Andere raakvlakken
Uiteraard heeft software testen meerdere (wat meer zichtbare of overduidelijke) raakvlakken met PRINCE2 dan alleen met het thema 'wijziging', het is makkelijk voor te stellen dat gevonden bugs uiteindelijk ook invloed hebben op bijvoorbeeld 'kwaliteit' of 'risico', al is dit misschien niet altijd even direct, soms ook indirect. Het vinden van bugs door middel van het software testen kan als gevolg hebben dat heel snel de zwakke plekken van een informatiesysteem bloot worden gelegd. Het voordeel is dan dat deze zwakke plekken versterkt kunnen worden. Een gevonden issue kan dus bijvoorbeeld korte tijd voor een risico zorgen, maar wanneer deze bug gerepareerd is, kan dit bijvoorbeeld weer als effect hebben dat de kwaliteit opeens sterk omhoog gaat. Zo zijn er meerdere verbanden tussen PRINCE2 en software testen.
Software testen in een PRINCE2-omgeving
Het is een misvatting om te denken dat PRINCE2 wordt toegepast bij het testen van software, het is eerder andersom. In een PRINCE2 gerelateerd project wordt er vaak ook software getest. Software kan altijd worden getest, maar in een PRINCE2-omgeving gebeurt dit op een projectmatige manier. Het biedt veel voordelen om niet alleen gestructureerd te testen, maar ook op gezette tijden bepaalde gebeurtenissen en meetings te hebben. Het volgen van de PRINCE2-regels zorgt dan voor meer overzicht, duidelijkheid, structuur en regelmaat. Dit alles komt de informatiestroom ten goede. En goede communicatie en informatie is de sleutel tot succesvol software testen.
Conclusie
Het is niet voor niets dat de communicatie tussen een projectmanager en een testmanager zo degelijk moet zijn. Ze hebben heel veel belangen en betrekkingen met elkaar. Ze dienen elkaar op de hoogte te houden van vorderingen, risico's, gevaren, voortgang en nog andere zaken om het project te doen laten slagen. Software testers hebben veel baat bij de kennis die wordt opgedaan tijdens de cursus PRINCE2. Niet alleen wordt daar de basiskennis over projectmatig werken gegeven, het geeft ook extra algemene begripsvorming over hoe projecten werken (in wat voor vorm dan ook, agile, waterfall of devops, etc). Software test IT-consultants, binnen de ICT werkzaam, werken erg vaak in projecten en voor hen is PRINCE2 Foundation dan ook basismateriaal dat iedere zichzelf respecterende software tester nodig heeft. Het is om alle bovenstaande redenen een absolute must voor het cv van een software tester.
Lees verder