Wat is impactanalyse? Best Practices voor het doen van Change Impact Analyse
Wat is impactanalyse?
Verandering is een onvermijdelijk onderdeel van de wereld. Ontwikkeling is dus een continu proces. Een nieuw geïntroduceerde wijziging kan echter enige invloed hebben op andere delen van de toepassing. Daarom is het vrij belangrijk om het effect of de impact, zo u wilt, van de ingevoerde wijziging te analyseren. Dat is waar Impactanalyse om draait.
Impactanalyse, ook wel change impact analysis genoemd, werd voor het eerst beschreven in 1996 door de Amerikaanse software-ingenieurs Robert S. Arnold en Shawn A. Bohner in hun boek Software Maintenance. In het boek stellen Arnold en Bohner dat impactanalyse gaat over "het identificeren van de mogelijke gevolgen van een verandering of het inschatten van wat er moet worden gewijzigd om een verandering te bewerkstelligen."
Impactanalyse, zoals de naam al doet vermoeden, gaat over het analyseren van de impact van de veranderingen in een product of applicatie. Het is een van de meest integrale stappen in de ontwikkelingscyclus van elk product, omdat het nuttige informatie biedt over de delen van het systeem die op een negatieve manier door de wijziging kunnen worden beïnvloed.
Soorten impactanalyse:
Volgens Arnold en Bohner zijn er drie hoofdtypen impactanalyse:
- Traceerbaarheid Impactanalyse – Traceerbaarheidsimpactanalyse legt de verbanden tussen vereisten, specificaties, ontwerpelementen en tests vast en analyseert hun relaties om de reikwijdte van een initiërende verandering te bepalen. Handmatig bepalen wat door een wijziging wordt beïnvloed, kan bij complexe projecten extreem tijdrovend zijn, en daar komt software voor vereistenbeheer om de hoek kijken (meer hierover verderop in dit artikel).
- Afhankelijkheidsimpactanalyse – Dit type impactanalyse wordt gebruikt om de diepte van de impact op het systeem te bepalen.
- Ervaringsimpactanalyse – Rekening houdend met de eerdere ervaring van experts in de organisatie, bestudeert ervaringsimpactanalyse wat er in het verleden in vergelijkbare situaties is gebeurd om te bepalen wat er in de toekomst kan gebeuren.
Voordelen van Impactanalyse:
Zoals we eerder vermeldden, is impactanalyse een van de meest integrale stappen in de ontwikkelingscyclus van elk product. De verschillende voordelen van impactanalyse zijn:
- Nauwkeurigheid – Impactanalyse biedt essentiële en nauwkeurige informatie over de wijzigingen in de modules van de applicatie.
- Verbeterde efficiëntie – Impactanalyse helpt de testers om betere en efficiëntere testgevallen te plannen door duidelijke en beknopte informatie te geven over de wijzigingen en de effecten van die wijzigingen.
- precisie – Impactanalysedocumenten zijn vrij gemakkelijk leesbaar. Daarom maken ze het de testers gemakkelijker om de informatie te begrijpen en nauwkeuriger te werken.
- Bespaart tijd – Met behulp van impactanalyse kunnen testers testen in modules of submodules uitvoeren in plaats van de hele applicatie in één keer te testen. Ze kunnen de te testen gebieden goed prioriteren en zo veel tijd besparen.
- Eenvoudige bugdetectie - Impactanalyse verbetert ook de detectie van bugs. Impactanalysedocumenten zijn heel nuttig bij integratietesten.
Impactanalysedocument:
Een impactanalysedocument is een document dat voornamelijk wordt gebruikt als checklist. Deze checklist wordt gebruikt om de wijzigingsverzoeken te evalueren alvorens eraan te werken. De details van een impactanalysedocument bestaan onder meer uit:
- beschrijving van het probleem
- Uitleg over hoe het defect storing of inefficiëntie veroorzaakt
- Inschatting van de complexiteit
- Schatting van de kosten en tijd om het probleem op te lossen
- Functionaliteit die getest moet worden
- Lijst met de nieuwe testcases die voor de wijziging zijn gemaakt
- Referentiedocument en technische specificatie
- ....
Procedure voor impactanalyse:
Er zijn 5 eenvoudige stappen om een effectieve impactanalyse uit te voeren:
- Bereid het team voor – Voordat we wijzigingen aanbrengen, moeten we een team voorbereiden. Alle teamleden moeten toegang hebben tot alle modules en attributen in de applicatie en moeten ook over de vereiste kennis beschikken over de voorgestelde wijzigingen.
- Inspecteer modules op hoog niveau – De teamleden analyseren vervolgens de modules op hoog niveau van de applicatie die mogelijk worden beïnvloed door de nieuw voorgestelde wijziging. Dit zou hen een betere kennis geven van de workflowregels in de modules.
- Inspecteer low-level modules – Na analyse van de modules op hoog niveau, ging het team over op de modules op laag niveau en identificeerde het de impact van de nieuwe veranderingen. Voor alle modules moet een apart document worden opgesteld.
- Evalueer de impact - De documenten die zijn opgesteld na analyse van de modules op hoog en laag niveau, bevatten alle details over de impact van de wijzigingen, zowel positief als negatief. Op basis van dit document zullen de testers de geïdentificeerde effecten evalueren en een duidelijker beeld krijgen van de voordelen en problemen van de nieuwe wijzigingen.
- Werk aan negatieve effecten – Als de teamleden een beter idee hebben van de negatieve effecten, en nu, kunnen ze eraan werken. Zij kunnen overleggen met het team en de stakeholders en bespreken of de verandering doorgevoerd moet worden of niet. Ook in deze situatie kunnen regressietesten worden uitgevoerd.
Best practices voor het uitvoeren van impactanalyses bij veranderingen:
Hoewel het onmogelijk is om de ervaring van experts op het gebied van impactanalyse om te zetten in slechts een paar punten, zijn er enkele best practices voor het uitvoeren van impactanalyses die iedereen zou moeten kennen.

- Het is handig om onderscheid te maken tussen kwantitatieve (monetaire) effecten en kwalitatieve effecten.
- Vergeet nooit de reikwijdte van elke impactanalyse nauwkeurig te definiëren.
- Stel een projectteam voor impactanalyse samen dat alle gebieden vertegenwoordigt die binnen de reikwijdte van de impactanalyse vallen.
- Het is altijd makkelijker om mensen erbij te betrekken als u een schriftelijke toezegging van de directie heeft gekregen voor de impactanalyse.
- Profiteer van softwaretools voor vereistenbeheer om end-to-end traceerbaarheid te garanderen.
Een tool voor vereistenbeheer gebruiken voor veranderingsimpactanalyse:
Het is niet overdreven om te zeggen dat impactanalyse een sleutelaspect is van verantwoord vereistenbeheer, omdat het een nauwkeurig inzicht geeft in de implicaties van een voorgestelde wijziging, en alle betrokkenen helpt weloverwogen beslissingen te nemen dankzij één uniek platform, bron van waarheid. Men zal grote moeilijkheden ondervinden bij het analyseren van de impact van een wijziging zonder dat er al een goede traceerbaarheid in het project aanwezig is. Het aan elkaar koppelen van gerelateerde eisen, testen, standaarden etc. is de enige manier om een efficiënte impactanalyse te realiseren wanneer dat nodig is.

Het handmatig beschrijven en volgen van de levensduur van een vereiste vanaf de conceptie, via de specificatie en ontwikkeling tot aan de implementatie ervan, is bijna onmogelijk bij complexe projecten met duizenden artefacten. Hulpprogramma's voor vereistenbeheer zoals Visure-vereisten maken het gemakkelijk om de bron van elke vereiste te identificeren en houd alle wijzigingen bij van invloed op hen, waardoor end-to-end wordt gegarandeerd traceerbaarheid en het verstrekken van nauwkeurige en gedocumenteerde informatie voor impactanalyse.
Bovendien is Visure Requirements ALM ook een geweldig hulpmiddel om veel verschillende artefacten van een project te centraliseren: vereisten, beoordelingen, risico's, tests, standaarden, broncode, ... Over het algemeen is het de centralisatie van zoveel mogelijk elementen die het mogelijk maakt een goede impactanalyse moet gebeuren. Alles afzonderlijk beheren in documenten of spreadsheets leidt er onvermijdelijk toe dat u het overzicht verliest en belangrijke effecten in de stroom mist.