Computable reikt ook dit jaar de Computable-award IT Project of the Year uit. Voor deze prijs zijn vijf ict-projecten genomineerd. Vandaag vertelt Wendy Knaepen, brand director bij Cegeka over de ontwikkeling van het Groeipakket, een app dat binnen een tijdsbestek van anderhalf jaar het licht zag.
1. Wat was de aanleiding voor het project?
‘Het systeem van kinderbijslag vereenvoudigen. Dat was de opdracht die we van de Vlaamse overheid, en dan meer specifiek Opgroeien (voorheen Kind en Gezin), het Agentschap Uitbetaling Groeipakket (voorheen het Vlaams Agentschap voor de Uitbetaling van Toelagen, VUTG), meekregen. In kader van de zesde staathervorming werd de bevoegdheid rond kinderbijslagen overgeheveld van de federale overheid naar de gemeenschappen en gewesten. Voor Vlaanderen meteen het sein om het systeem van kinderbijslag sneller en eenvoudiger te laten verlopen. Bijkomende doelstelling was om van kinderbijslag een basispijler te maken van een geïntegreerd gezinsbeleid, met aandacht voor kinderarmoedebestrijding. Alle kinderen zijn gelijkwaardig en moeten evenveel kansen krijgen om aan de samenleving te participeren en van maximale ontwikkelingskansen te genieten.’
2. Voor welke oplossing is er gekozen?
‘De kinderbijslag maakte vanaf 1 januari 2019 plaats voor het Groeipakket. Dat is de verzameling van financiële tegemoetkomingen voor elk kind en elk gezin. Het Groeipakket verzamelt voor gezinnen het startbedrag (éénmalig bedrag betaald bij de geboorte of adoptie van een kind), het basisbedrag (maandelijkse financiële tussenkomst), de schoolbonus, sociale toeslag, kinderopvangtoeslag, kleutertoeslag en schooltoeslag.
Voor de uitbetaling van de combinatie van deze toeslagen bouwde Cegeka de applicatie het Groeipakket. De vijf uitbetalingsactoren (FONS, Infino, Kidslife Vlaanderen, MyFamily en Parentia) kunnen op die manier voor het eerst via een gemeenschappelijke oplossing op een efficiënte, correcte en zoveel mogelijk automatische wijze de toeslagen berekenen en uitbetalen.
De centrale uitbetalingsapplicatie werkt als een backend-applicatie en alle functionaliteiten en informatie wordt ontsloten via webservices/api’s.’
3. Hoe zag het traject van het project eruit?
‘Het realiseren van een project van deze omvang vraagt een specifieke aanpak; niet enkel wat de ontwikkeling van de toepassing betreft, maar ook wat betreft het overleg met de opdrachtgever. De grote uitdaging van dit project was dat de toepassing ontwikkeld werd op het ogenblik dat de regelgeving nog werd vormgegeven. De structuur en organisatie van de toekomstige gebruiken waren nog onbekend.
De data waarop de rechten van het Groeipakket moesten betaald worden aan de gezinnen waren de belangrijkste parameters voor de planning van de ontwikkeling. De tijdige uitbetaling aan de gezinnen, zoals vastgelegd in het Vlaams decreet mochten niet in het gedrang komen. De ontwikkeling van de toepassing werd hierop afgestemd. Dit gaf volgende high level planning.
Qua scope waren deze betaaldata de enige focus. Enkel bijsturingen nodig om deze data te halen werden in beschouwing genomen. De issues die hieraan niet gerelateerd werden, kregen een lagere prioriteiten en zouden pas opgepikt worden nadat de eerste prioriteit een feit was.
De sleutel tot succes was een frequent overleg tussen opdrachtgever en uitvoerder. Zeker gezien het korte tijdsbestek van achttien maanden tussen het decreet en de eerste betaling. Een structuur van overleg omtrent strategische beslissingen (business in the lead – it adviserend) die vertaald werden naar operationele beslissingen (business en it overleg) naar implementatie (it onder toezicht van de business) stonden borg voor een correcte en tijdige implementatie.’
4. Wat zijn de succesfactoren in het project?
‘In totaal zijn vijf succespunten te benoemen bij het groeipakket: focus, samenwerking, methodologie, modulaire opbouw en migratie in parallel.
De belangrijkste succesfactor was focus. Het tijdig uitbetalen van de rechten van het Groeipakket aan de Vlaamse gezinnen was de enige en echte focus. Elke vraag tot bijsturing van de planning werd hier tegenover afgemeten. Ongeacht wie een bijsturing aan de planning vroeg (inclusief de regulator) moest deze toets doorstaan.
Het tweede succespunt de nauwe samenwerking. Tijdens de ontwikkeling van het Groeipakket is er een permanente betrokkenheid van toekomstige gebruikers. Vertegenwoordigers van de gebruikers zijn dé bron van informatie bij de uitwerking van de specificaties. Zij geven de nodige input aan de analisten die de specificaties beschrijven. Tijdens het ontwikkelingsproces (programmatie) zijn zij aanwezig op de werkvloer, samen met de ontwikkelaars die de programmatie doen.
Als methodologie, het derde succespunt, voor de ontwikkeling van het Groeipakket gebruikten we Scrum. Eigen aan deze methodologie zijn de korte feedback loops, waarbij de klant (toekomstige gebruiker) tweewekelijks een nieuwe versie van de op dat moment ontwikkelde toepassing aangeboden krijgt om te testen.
Ook de modulaire opbouw is een succesfactor van het project. Gezien het korte tijdsbestek waarin het Groeipakket moest ontwikkeld worden, wat het nodig om een maximum aan ontwikkelaars in te schakelen voor de bouw van de oplossing. Toch moest dit op zo’n manier gebeuren dat ze elkaar niet afremden of tegenwerkten. De complexe business van het groeipakket werd aangepakt met behulp van domain driven design. Een opdeling in bounded contexten – waarbij elke context beheerd wordt door een team – maakt de complexe business zowel op implementatie- als analysevlak behapbaar.
In samenspraak met de klanten werd elke bounded context gemodelleerd als een aparte applicatie. De applicaties communiceren onderling op basis van de principes van een event driven microservices architectuur. Om de sterke audit logging requirements te vervullen maken een aantal van deze applicaties gebruik van Event Sourcing en CQRS. De applicaties worden met een volledige geautomatiseerde release pipeline gedeployed naar een Kubernetes-cluster.
Een levendige contextmap en domeinmodellen, context- en containerdiagrammen gedragen door de teams en tweewekelijkse demo’s voor de klant zorgen samen met een agile/scrum aanpak voor een werkend functioneel en technisch geheel in productie voor de uitbetaling van het groeipakket aan alle kinderen in Vlaanderen.
De laatste succesfactor is de migratie. Vanaf dag één van de ontwikkeling van het Groeipakket is de nodige aandacht gegeven aan de migratie naar de toekomstige oplossing. De elf bestaande Federale kinderbijslagfondsen waren zich aan het herorganiseren tot vijf uitbetalingsactoren. De bestaande kinderbijslagfondsen maakten elk gebruik van eigen toepassingen. In de marge van het Groeipakket werd een uniforme interface gedefinieerd en geïmplementeerd om de gegevens van de kinderbijslagfondsen te migreren naar het Groeipakket. Deze interface evolueerde parallel aan de groei van het Groeipakket. Iedere tweewekelijkse oplevering bevatte niet enkel de nieuwe functionaliteiten toegevoegd aan het Groeipakket, maar ook de uitbreiding van de interface via dewelke de migratie van de kinderbijslagdossiers naar het Groeipakket verzekerd werden. Op deze manier werd de migratie van de gegevens naar de nieuwe oplossing een geïntegreerd geheel van het finale Groeipakket. Zo werd verzekerd dat de migratie van de kinderbijslagdossiers geen belemmerende en vertragende factor is in de implementatie van de totaaloplossing Groeipakket.’
5. Wat zijn de leerpunten uit het project?
‘Een evenwichtige verdeling van de aandachtspunten in een automatiseringsproces blijft een delicate oefening. Ook binnen het tot stand komen van het Groeipakket, waarbij de hoofdfocus lag op het correct en tijdig betalen van de rechten aan de Vlaamse gezinnen, hebben een aantal punten onvoldoende aandacht gekregen.
Allereerst de performance. Dit was een aandachtspunt, maar in de loop van de initiële ontwikkeling en tijdens de productiefase hebben we geleerd om meer aandacht te geven aan de onderliggende infrastructuur. Ten tweede hebben we lering getrokken uit machtigingen in combinatie met GDPR-wetgeving. Het Groeipakket maakt massaal gebruik van informatie uit authentieke bronnen om op basis hiervan een automatisch vaststelling van de rechten te doen. In de marge van GDPR is de structuur van machtiging om gebruik te mogen maken van gegevens uit authentieke bronnen gewijzigd. Verkeerdelijk hebben we geconcludeerd dat het bekomen van machtigingen voor het gebruik van gegeven even soepel zou verlopen zoals voor de invoering van GDPR. De praktijk heeft uitgewezen dat die meer tijd vraagt dan verwacht.’
6. Wat betekent een nominatie voor de Computable Awards?
‘De nominatie betekent alvast een mooie bekroning van een project dat een grote maatschappelijke meerwaarde heeft voor Vlaamse gezinnen. Het verheugt ons dat zo’n maatschappelijk relevant project in de kijker wordt geplaatst. Daarnaast onderstreept deze nominatie voor Cegeka het belang van samenwerking. Het succes van dit project is te danken aan het nauwe partnerschap tussen Cegeka, onze klant(en) en hun klanten. Alle credits gaan dan ook naar onze partners en het hele Cegeka-team dat zijn schouders zette onder het Groeipakket.’
7. Wat is de status van het project anno september 2020?
‘De voorbije maanden is er hard gewerkt aan het verder automatiseren van de automatische vaststelling van de rechten binnen het Groeipakket. Op basis van elektronische gegevensstromen van precaire gezinssituaties (gezinnen met vervangingsinkomen zoals leefloon, inkomen vervangende tegemoetkoming wegens ziekte of inkomensgarantie voor ouderen) bepalen we automatisch hun recht op sociale toeslag en schooltoeslag (studiebeurs). Ook de informatie van schoolinschrijvingen is geoptimaliseerd. Het gevolg is dat ongeveer de helft van de kinderen die een schooltoeslag krijgen deze ontvangen in de eerste week van september; vorig jaar werd maar tien procent in september betaald.
Ook hebben we een nieuwe toeslag toegevoegd aan het Groeipakket: de Covid-19-toeslag. Alle gezinnen met een inkomen beneden een minimumgrens die in de corona-periode, van maart 2020 tot nu, een inkomensverlies van meer dan tien procent aantonen, krijgen deze Covid-19-toeslag.’