Steeds vaker worden it-projecten opgezet volgens de principes van Agile. Dit vraagt ook om een andere benadering van testen. Over dit onderwerp is onder andere het boek 'TMap NEXT in Scrum' (Leo van der Aalst & Cecile Davis) verschenen. Inmiddels is Agile een breed geaccepteerde projectmethode. Ook steeds meer SAP-implementaties worden Agile opgezet. SAP-testers zullen daardoor steeds vaker hun werk moeten doen in een Agile omgeving.
De SAP-tester onderscheidt zich van andere testers door naast een gedegen kennis van testaanpak en testtechnieken te beschikken over uitgebreide pakketkennis. Hierdoor kan de SAP-tester moeiteloos aangeven welke delen van de software ‘standaard SAP’ zijn en welke delen ‘klant-specifiek’. Onder klant-specifiek kan alles worden verstaan met betrekking tot maatwerk, inrichting, autorisaties en interfacing met andere software binnen het systeemlandschap van de klant. Vaak zullen de standaard SAP-delen niet of heel licht getest worden en zal de focus liggen op de klant-specifieke ontwikkelingen. Je test bijvoorbeeld Windows ook niet. Door dit helder te identificeren kan de SAP-tester direct bijdragen aan de meerwaarde en verspilling elimineren.
Ook beschikt een goede SAP-tester over kennis van de branche waarin de klant opereert. Hij/Zij is in staat bedrijfsprocessen te doorgronden en te snappen ‘waar de klant mee bezig is’. Hierdoor is hij/zij in staat te communiceren met alle stakeholders, van ontwikkelaars tot product owners en van key users tot business-analisten. De meerwaarde hiervan zal verderop in deze uiteenzetting blijken.
Toegevoegde waarde
Binnen alle Agile-teams kan de SAP-tester een zeer waardevolle rol vervullen. Bij het definiëren van requirements, High Level Solutions (HLS) en user stories kan de SAP-tester al veel waarde toevoegen aan het project. Zijn/haar kennis van testen kan hij/zij aanwenden om deze te reviewen, maar ook kennis van de business komt hier van pas. Hierin kan de SAP-tester de rol van vertaler vervullen. Een tolk tussen Business en implementatiepartij.
Ook bij het uiteindelijk realiseren van user stories is de SAP-tester een onmisbaar onderdeel van het sprint-team. De combinatie van testkennis, pakketkennis en kennis van de business stelt hem/haar in staat om de juiste focus aan te brengen binnen de testcases om tot een optimale risicodekking te komen binnen de deadline(s) van de sprint.
Integratie- en ketentesten
Zoals gezegd is interfacing erg belangrijk bij SAP-testen. Hierbij is er per definitie sprake van afhankelijkheid van andere systemen. Dit kunnen (vanuit SAP-perspectief) aanleverende systemen zijn met bijvoorbeeld klantgegevens, maar ook ontvangende systemen zoals een printstraat of externe interface naar een (overkoepelende) database. Tijdens het realiseren van de functionaliteit kan er uiteraard met Stubs getest worden, maar uiteindelijk zal er altijd een ketentest met beide systemen nodig zijn om de correcte werking van de interface aan te kunnen tonen. Het heeft absoluut de voorkeur om (indien mogelijk) al binnen de sprint ketentesten uit te voeren. Soms zal het echter onmogelijk zijn om de sprintplanning van de verschillende betrokken partijen dusdanig op elkaar af te stemmen dat dit mogelijk is. Zeker wanneer het systemen betreft die parallel in ontwikkeling zijn.
Als er met meerdere sprint-teams tegelijk aan een SAP-systeem wordt ontwikkeld zal ook de onderlinge samenwerking van de ontwikkelde functionaliteiten in een integratietest getest moeten worden. Een ander nadeel van het werken met meerdere sprint-teams op eenzelfde omgeving is de instabiliteit die dit kan veroorzaken door (onvoorziene) afhankelijkheden. Voor integratie- en ketentesten is het juist essentieel dat de omgevingen op zijn minst tijdens de testperiode stabiel zijn.
Utopie versus praktijk
In een Agile-utopie zouden alle integratie- en ketentests binnen de sprint plaatsvinden, zodat de resultaten kunnen worden meegewogen door de product owners bij hun beslissing een user story al dan niet te accepteren. In de praktijk blijkt de hiervoor vereiste afstemming vaak onhaalbaar. Ook zou er dan een te groot compromis worden gemaakt door ontwikkelsnelheid op te geven in het belang van omgevingsstabiliteit.
Toch kan een user story geaccepteerd worden als enkel de functionaliteit zelf aangetoond is. Hierdoor is de afhankelijkheid van andere partijen en van omgevingsstabiliteit beperkt. Op een aparte omgeving worden dan vaak uitgebreide integratie- en ketentests uitgevoerd. Deze omgeving kan dan stabiel worden gehouden tot de testen zijn afgerond en de functionaliteit kan worden geaccepteerd voor een go-live of PAT-vrijgave.
Tijdens het testen in de sprint zijn de specifieke kennis en vaardigheden van SAP onmisbaar. Daarom zullen deze uitgevoerd worden door de SAP-tester. Zijn/haar specifieke kennis stelt hem/haar in staat om functionaliteit te testen en daarbij andere (niet werkende) functionaliteit te omzeilen of te simuleren. Het integratie- en ketentesten buiten de sprint zou goed kunnen worden uitgevoerd door key users (gebruikersacceptanten). De rol van de SAP-tester is hierin veel meer coördinerend/coachend. Hij/Zij ondersteunt de key users in het uitvoeren van hun testscripts en geeft uitleg en achtergrondinformatie over het SAP-systeem. Ook hier vervult de SAP-tester dus een essentiële rol. Door zijn/haar kennis eveneens te delen met testers van andere systemen in het landschap kan hij/zij uitleg geven over de specifieke mogelijkheden en beperkingen van SAP.
Conclusie
Voor een geslaagde Agile SAP-implementatie is de SAP-tester van waarden. Met zijn/haar specifieke kennis en vaardigheden kan hij/zij in elke fase van het project waarde toevoegen. Of het nu gaat om het reviewen van requirements, het opstellen en uitvoeren van testcases/testscenario’s of het ondersteunen van ketenpartners en key users, steeds weer blijkt de combinatie van kennis en vaardigheden van de SAP-tester onmisbaar. Deze belangrijke rol brengt uiteraard ook verantwoordelijkheden met zich mee. De SAP-tester zal in een Agile-omgeving elke dag het beste van zichzelf moeten geven en zeer flexibel zijn in zijn/haar rol om zoveel bij te dragen aan het leveren van business value. ‘Try not to become a man of success. Rather become a man of value. ‘- Albert Einstein’.
Deze opinie is geschreven in samenwerking met mijn collega Sander Sing, test professional bij Identify.
Alles heel correct, maar dat is niet alleen nodig bij SAP. De inzichten en echte pakket-kennis zijn overal van belang, en dat wordt maar al te vaak verwaarloosd. Zeker bij niet-mature oplossingen die vooral uit marketing clichés bestaan worden de kandidaat-klanten voorgehouden dat met ‘hun oplossing’ alles in orde is, alles beschikbaar, tot het op realisatie aankomt.
Een hoop open deuren, maar een correct stuk. Uiteraard geldt dit niet alleen voor SAP trajecten, maar de ervaring leert dat het daar wel nóg meer van toegevoegde waarde is