Werk je met een legacy systeem waar documentatie ontbreekt, de logica onduidelijk is en onboarding bij legacy software telkens weer traag verloopt? Dan is een QA-afdeling waarschijnlijk je meest onderschatte bron van kennis.
In deze blogpost lees je hoe een team van testers onbedoeld de meest betrouwbare kennisdragers van een systeem werd via testscenarioโs, checklists en gebruiksdocumentatie.
Belangrijke inzichten:
QA-documentatie weerspiegelt vaak het daadwerkelijke systeemgedrag beter dan verouderde wikiโs.
Het versnelt onboarding bij legacy software, ondersteunt audits, voorkomt regressies en neemt de angst weg om oude systemen aan te raken.
Door QA-documentatie als levende kennisbank te behandelen, breng je rust en duidelijkheid in verouderde omgevingen.
Andere nuttige strategieรซn: decision logs, domeingedreven documentatie, en kennisoverdracht via shadowing.
Lees verder voor een praktijkvoorbeeld en ontdek waarom QA-documentatie een strategisch wapen kan zijn voor ieder tech-team.
Als je ooit een legacy systeem hebt geรซrfd zonder duidelijke documentatie, met vergeten beslissingen en onduidelijke logica, dan weet je hoe frustrerend het kan zijn.
Misschien zijn de oorspronkelijke ontwikkelaars al jaren weg. Misschien is de documentatie begraven in een vergeten Confluence-pagina. En wanneer een nieuwe developer begint, lijkt het eerder op digitale archeologie dan softwareontwikkeling.
Dit is niet alleen lastig โ het is ronduit risicovol.
Je riskeert bugs in productie.
Je riskeert compliance-issues.
Je riskeert het herschrijven van functionaliteit die allang bestond โ alleen wist niemand meer waarom of hoe.
Voor CTOโs en product owners die willen innoveren in plaats van constant brandjes blussen, is kennisbehoud in softwareteams essentieel. Maar hoe borg je die kennis wanneer systemen ouder worden en teams veranderen?
Traditionele documentatie is vaak snel achterhaald. Wat werkt, zijn levende, voortdurend bijgewerkte kennisbronnen, geรฏntegreerd in het dagelijks werk van je team. Een verrassend effectieve, en vaak ondergewaardeerde, manier om dat voor elkaar te krijgen? Je testteam.
Hieronder vind je een praktijkvoorbeeld waarin een QA-team onbedoeld uitgroeide tot de belangrijkste kennisdrager van het systeem.ย
In de loop der tijd is ons testteam onbedoeld de kennisdrager van het hele systeem geworden.
Via testcases, checklists en gebruikersdocumentatie hebben zij het daadwerkelijke gedrag van het systeem beter vastgelegd dan welke verouderde wiki of vergeten Confluence-pagina dan ook.
Dit is hoe dat gebeurde en waarom het รฉรฉn van de slimste onbedoelde beslissingen bleek te zijn.
Tijdens het opstellen van handmatige testcases, checklists en regressiescenarioโs documenteert ons QA-team vaak hoe het systeem daadwerkelijk werkt, niet alleen hoe het zou moeten werken.
Wanneer niemand zich meer herinnert waarom iets zich op een bepaalde manier gedraagt, of wat er stuk kan gaan bij een wijziging, blijken de testcases vaak de enige betrouwbare bron van waarheid te zijn. Onze testdocumentatie heeft dan ook al meerdere keren letterlijk de dag gered.
Na verloop van tijd begon ons QA-team een soort โgebruikersdocumentatieโ bij te houden: korte beschrijvingen van hoe bepaalde functionaliteiten zich gedragen vanuit het perspectief van de eindgebruiker.
Dit was oorspronkelijk niet gepland, maar toen we de waarde ervan inzagen, zijn we deze documentatie structureel gaan bijwerken na elke sprint, samen met de bijbehorende checklists en testcases.
In รฉรฉn van onze projecten veranderde de teamstructuur meerdere keren. Dankzij goed georganiseerde handmatige testcases en gebruikersdocumentatie konden nieuwe developers en testers snel de businesslogica begrijpen en meteen aan de slag. We delen deze documentatie nu standaard met nieuwe collegaโs op hun eerste werkdag.
Tijdens het testen van een legacy systeem merkte รฉรฉn van onze testers op dat een functie nog werd geactiveerd onder specifieke voorwaarden, terwijl die al jaren niet meer werd gebruikt. Dankzij dit inzicht konden we verouderde functionaliteit veilig verwijderen die anders mogelijk tot fouten had geleid.
In een CRM-project, na meerdere teamwisselingen, wist niemand meer precies hoe een bepaalde prijsfunctie werkte. Onze tester vond gearchiveerde handmatige testcases en oude screenshots, die hielpen om:
De correcte businesslogica te herstellen
Een langlopende bug te identificeren
Onnodige herontwikkeling van de functionaliteit te voorkomen
Soms waren die testcases letterlijk de enige documentatie die we nog hadden en dat is nog steeds zo.
Twee keer in het afgelopen jaar moesten we verantwoording afleggen over hoe we omgaan met persoonsgegevens. Dankzij de goed gedocumenteerde QA-processen over gegevensverzameling, -opslag en -verwijdering slaagden we beide keren zonder problemen.
Een onderdeel van ons systeem, een oude UI-module, was zo fragiel dat niemand het nog durfde aan te raken. Maar dankzij de UI-testscenarioโs van QA hadden we een volledig beeld van hoe het werkte, inclusief alle edge cases. Dat gaf ons het vertrouwen om het veilig te refactoren.
Wanneer het supportteam vragen kreeg (vaak op basis van echte gebruikersproblemen), stond het antwoord meestal al in de QA-documentatie. Testers konden snel het juiste gedrag bevestigen. Geen giswerk nodig.
Toen de ontwikkeling van het project werd overgedragen aan een ander team, was de documentatie chaotisch. Behalve die van QA. Hun gestructureerde notities en testscenarioโs hielpen het nieuwe team om snel op snelheid te komen, waardoor veelvoorkomende overgangsfouten werden vermeden.
We hadden verschillende integraties (SMS, betaalgateways, locatie-services), maar de officiรซle documentatie was verouderd of ontbrak volledig. Ons QA-team hield echter een eenvoudige spreadsheet bij met API-responses, time-outs, authenticatieproblemen, enzovoort. Toen we deze diensten moesten migreren, bleek dit het belangrijkste informatiebron voor het hele team.
QA-documentatie is niet alleen voor testers, het is voor het hele team. In legacy systemen, waar veranderingen riskant zijn en kennisbehoud in softwareteams snel vervaagt, kan een goed onderhouden set testcases, checklists en gebruikersnotities het verschil maken tussen chaos en controle.
Ons team had nooit de bedoeling om een documentatiecultuur op te bouwen. Maar toen we de voordelen zagen, realiseerden we ons hoe waardevol het echt is.
Hoewel QA-documentatie enorm krachtig is, hoeft het niet je enige aanpak te zijn. Hier zijn aanvullende methodes die we bij succesvolle teams zien:
Domeingedreven documentatie (DDD-lite): Stimuleer developers en POโs om logica en use-cases vast te leggen in begrijpelijke taal naast code en tests.
Knowledge Transfer Sprints: Plan specifieke sprints waarin senioren hun kennis delen met nieuwere teamleden.
Automatische annotaties: Tools kunnen code doorspitten om designkeuzes, afhankelijkheden en โwaaromโ-besluiten te koppelen aan documentatie.
Architectuur Decision Records (ADRs): Leg technische keuzes gestructureerd en beknopt vast voor toekomstig gebruik.
Rotatie in documentatie-eigenaarschap: Laat teamleden periodiek verantwoordelijkheid nemen voor specifieke wiki-secties.
Je hebt niet altijd een groot documentatieproject nodig om grip te krijgen op legacy systemen. Soms doen je testers al het werk, stilletjes, nauwkeurig, en veel waardevoller dan je dacht. Door QA niet alleen als testers maar als kennishouders te erkennen, maak je de overstap van fragiel kennisbehoud in software teams naar duurzame continuรฏteit.
Dus de volgende keer dat je de QA-backlog bekijkt, kijk dan verder dan alleen bug reports. Daar zit misschien wel de รฉchte geheugenkaart van je systeem verstopt.
"*" geeft vereiste velden aan