Inleiding
In de digitale wereld van vandaag is het ontwikkelen en onderhouden van software een kernactiviteit voor zowel de publieke sector als private ondernemingen. Softwareproducten moeten niet alleen voldoen aan functionele eisen, maar ook aan hoge kwaliteitsnormen om betrouwbaar, efficiënt en schaalbaar te zijn. In dit kader speelt ICTU een centrale rol in de Nederlandse overheid, waar het als organisatie verantwoordelijk is voor het ontwikkelen en beheren van informatievoorziening en ICT-voorzieningen.
De ICTU Kwaliteitsaanpak is een uitgebreid kader dat bedoeld is om softwareontwikkelprojecten binnen ICTU op een gestructureerde manier te ondersteunen. Deze aanpak legt uit hoe kwaliteit in het softwareontwikkelproces wordt gegarandeerd, welke rollen er zijn, welke tools beschikbaar zijn en hoe het voortdurend verbeteren van de aanpak georganiseerd is. In dit artikel geven we een gedetailleerde uitleg van de Kwaliteitsaanpak van ICTU, waarbij we ons vooral richten op de rol van ISD (ICTU Software Diensten) en de samenwerking met andere afdelingen.
De rol van ISD binnen de Kwaliteitsaanpak
De ICTU Software Diensten (ISD) speelt een cruciale rol in het ondersteunen van softwareontwikkelprojecten. ISD levert onder andere de volgende diensten:
- Ontwikkel- en testomgevingen: ISD zorgt voor de beschikbaarheid van de benodigde ICT-infrastructuur om softwareprojecten veilig en efficiënt te kunnen uitvoeren.
- Tools: ISD stelt tools beschikbaar voor automatisering van bouw-, test- en opleverproces. Denk hierbij aan Jenkins, GitLab CI of Azure DevOps.
- Ondersteunende diensten: Daarnaast biedt ISD ondersteunende diensten die projecten helpen bij het volgen van de Kwaliteitsaanpak.
ISD is geen verantwoordelijke afdeling voor de uitvoering van projecten. De afdeling is vooral gericht op het leveren van expertise en middelen waarmee projecten efficiënter en effectiever kunnen werken. ISD draagt samen met ISE (ICTU Software Expertise) zorg voor het onderhoud en de voortgang van de Kwaliteitsaanpak.
De structuur van de Kwaliteitsaanpak
De Kwaliteitsaanpak van ICTU is opgebouwd rond drie kernaspecten: product, proces en organisatie. Deze aanpak is in lijn met de Nederlandse Praktijkrichtlijn NEN NPR 5326:2019, die richtlijnen geeft voor het beheersen van risico’s in maatwerksoftwareontwikkeling. De aanpak bevat een reeks risicobeheersmaatregelen, gericht op het verminderen van risico’s die optreden bij het ontwikkelen en onderhouden van software.
De maatregelen worden per aspect onderverdeeld en zijn voorzien van een rationale. Deze rationale legt uit waarom een bepaalde maatregel nodig is en hoe het gerelateerd is aan bestaande standaarden. Een voorbeeld is het gebruik van continue delivery pipelines, die het proces van bouwen, testen en opleveren automatiseren, waardoor fouten vroegtijdig worden opgespoord en het opleverproces efficiënter verloopt.
Agile werken en de rol van tools
De Kwaliteitsaanpak van ICTU draagt aandacht aan de implementatie van agile methoden, zoals Scrum, binnen softwareprojecten. Agile werken houdt in dat eisen en functies in kleinere stukjes worden geleverd via iteratieve sprints. Dit maakt het mogelijk om vroegtijdige feedback van gebruikers te krijgen en de software continu te verbeteren.
Projecten werken met tools die ondersteuning bieden bij het implementeren van agile werkwijzen. Hieronder vallen onder andere:
- Jira: Voor het registreren van user stories, eisen, testgevallen en issues.
- GitLab of Azure DevOps: Voor het beheren van code, testen en continu opleveren.
- Jenkins of GitLab CI: Voor het automatiseren van build- en testproces.
Deze tools worden verplicht of optioneel gebruikt, afhankelijk van de specifieke behoeften van het project. Projecten hebben een mate van vrijheid in het kiezen van tools, maar moeten wel voldoen aan de doelen van de Kwaliteitsaanpak.
Self-assessment en verbeterproces
Een belangrijk onderdeel van de Kwaliteitsaanpak is het voortdurende verbeteren van de aanpak zelf. Dit gebeurt onder andere via het jaarlijks organiseren van een gezamelijke self-assessment, waarbij projecten zelf beoordelen in hoeverre zij de Kwaliteitsaanpak in de praktijk toepassen. De self-assessment wordt uitgevoerd door de kwaliteitsmanager of samen met de software delivery manager. ICTU stelt hierbij een standaardformulier beschikbaar om de belangrijkste verschillen tussen de Kwaliteitsaanpak en de daadwerkelijke werkwijze van het project in kaart te brengen.
De resultaten van de self-assessment worden geanalyseerd door ICTU, en op basis daarvan worden verbeteracties aangestuurd. Bij grotere verbeteracties worden kwaliteitsmanagers betrokken. Deze aanpak zorgt ervoor dat de Kwaliteitsaanpak niet statisch is, maar zich aanpast aan de veranderende eisen en ervaringen binnen de projecten.
Releaseproces en versiebeheer
De Kwaliteitsaanpak wordt regelmatig bijgewerkt om ervoor te zorgen dat de aanpak up-to-date blijft met nieuwe inzichten en technologieën. Elke release van de aanpak heeft een versienummer in de vorm van majornummer.minornummer.patchnummer. Wanneer een nieuwe versie wordt uitgebracht, wordt dit aangekondigd via e-mail of via MS Teams. Medewerkers binnen ICTU en bijdragersprojecten moeten altijd de actuele versie van de Kwaliteitsaanpak raadplegen om ervoor te zorgen dat hun werkzaamheden in lijn zijn met de meest recente richtlijnen.
Het doel van het versiebeheer is om de transparantie en het begrip van de aanpak te vergroten, en om ervoor te zorgen dat projecten altijd weten welke versie van de Kwaliteitsaanpak actueel is. Dit is essentieel voor planning en uitvoering van werkzaamheden.
Samenwerking met externe partijen
De Kwaliteitsaanpak van ICTU is ook bedoeld om samenwerking met externe partijen te bevorderen. De opdrachtgevende organisatie is verantwoordelijk voor het beschikbaar stellen van benodigde informatie vanaf de voorfase van het project. Als dit niet mogelijk is, wordt er sprake van tussen ICTU en de opdrachtgevende organisatie. Deze samenwerking zorgt ervoor dat projecten op het juiste moment de juiste informatie hebben om aan de eisen van de Kwaliteitsaanpak te voldoen.
Daarnaast is er een duidelijke aandacht voor projectstartarchitectuur (PSA), die ervoor zorgt dat projecten binnen een goed gedefinieerd kader werken. De PSA is een concreet en doelgericht ICT-architectuurkader dat de samenhang tussen ontwikkelingen en toekomstige doelen beschrijft. Dit helpt bij het voorkomen van fragmentatie en zorgt voor een consistente aanpak binnen het ICT-landschap van ICTU.
Kwaliteit en vertrouwen in basisregistraties
Niet alleen het intern proces van softwareontwikkeling binnen ICTU is onderworpen aan kwaliteitscontrole, ook de kwaliteit van gegevens in de basisregistraties is een belangrijk onderwerp. De rapportage "Kwaliteitsinformatie Stelsel van Basisregistraties 2024", gepubliceerd door het ministerie van Binnenlandse Zaken en Koninkrijksrelaties, toont aan dat de kwaliteit van de data in de basisregistraties op een hoog peil is. De rapportage laat zien dat de overeenkomsten tussen gekoppelde gegevens vaak hoog zijn, wat gelijk is aan eerdere metingen.
Deze rapportage is uitgevoerd door het CBS, in samenwerking met registraties, BZK en ICTU. ICTU levert expertise en ondersteuning om de kwaliteit en transparantie van deze registraties zichtbaar te maken. Deze inzichten zijn belangrijk voor het vertrouwen in de gegevens die worden gebruikt in overheidsprocessen. De rapportage geeft ook een duidelijk overzicht van de geldende kwaliteitsnormen en hoe deze zich verhouden tot de daadwerkelijke kwaliteit van de gegevens.
Conclusie
De ICTU Kwaliteitsaanpak is een uitgebreid kader dat softwareontwikkelprojecten ondersteunt in het volgen van gestandaardiseerde en gestructureerde werkwijzen. Door middel van het gebruik van tools, het automatiseren van processen en het jaarlijks uitvoeren van self-assessments, zorgt ICTU ervoor dat softwareprojecten binnen de aanpak blijven werken en zich continu verbeteren. De rol van ISD is essentieel in deze aanpak, aangevuld met de expertise van ISE en samenwerking met externe partijen.
De Kwaliteitsaanpak is niet alleen gericht op het ontwikkelen van software, maar ook op het onderhouden van de kwaliteit van gegevens in de basisregistraties. Door het zichtbaar maken van kwaliteitsnormen en het meten van werkelijke kwaliteit, wordt het vertrouwen in deze gegevens versterkt. Dit maakt duidelijk dat kwaliteit niet alleen technisch is, maar ook vertrouwensvormend werkt in de digitale samenleving.