Agile IT-architectuur
Het tempo waarin de wereld verandert lijkt steeds hoger te worden en ontwikkelingen zijn steeds minder goed voorspelbaar. Het is daarom wel zo fijn als jouw organisatie zich snel kan aanpassen aan veranderende omstandigheden. Een lenige of wendbare architectuur kan daarbij helpen. Als architect ingezet bij een zelfstandig bestuursorgaan (ZBO) werk ik met veel plezier aan zo’n agile doelarchitectuur. De scope is zowel de businessarchitectuur als de IT-architectuur. In deze blog belicht ik vooral de IT-architectuur.
Schets van het hoofdproces
De organisatie heeft hulpverleners als klant. Hoog over beschouwd dienen zij zaken in waarvoor ze diensten verlenen en declareren ze de daarbij gemaakte uren en kosten.
De hulpverlener gebruikt een portaal voor het aanleveren van aanvragen. Voor dynamische aanvraagformulieren met complexe beslisbomen en berekeningen maakt het portaal gebruik van een regelsysteem.
Aangeleverde informatie wordt in een Customer Relation Management systeem verwerkt, waarbij eenvoudige workflows worden gebruikt. Gestreefd wordt naar 80% geautomatiseerde afhandeling van aanvragen.
Controles vinden achteraf plaats via steekproeven. Controles in de dynamische formulieren reduceren de kans op onvolledige en foutieve aanvragen. Om te bepalen of een aanvraag uitgeworpen moet worden voor handmatige beoordeling, worden vanuit de workflows bedrijfsregels aangeroepen in het regelsysteem.
Hetzelfde gebeurt bij het uitvoeren van berekeningen, regelevaluaties voor besluitvorming en het genereren van een beschikking. De beschikking wordt automatisch gemaakt op basis van een template met beslisboom en tekstblokken.
Het CRM-systeem stuurt tenslotte betaalopdrachten en vorderingen naar het financiële systeem. De diverse componenten zijn aan elkaar gekoppeld door middel van een integratieplatform.
De architectuur toegelicht
Wat is hier nu wendbaar aan, denk je misschien.
De functionaliteit is verdeeld over verschillende componenten, die worden ingezet voor waar ze goed in zijn. De CRM-suite is een configureerbaar standaard product voor het beheer van klantgegevens en afhandeling van aanvragen.
Het regelsysteem is een low code platform, dat werkt met grafisch ontworpen beslisbomen. Dit maakt het mogelijk snel eFormulieren, controles, berekeningen en brieftemplates te ontwikkelen. Het onderhoud is te beleggen bij functioneel beheerders. Voor bijvoorbeeld een wijziging in uitworpregels of een berekening is geen change nodig richting IT-leverancier. Zo is gemakkelijk in te spelen op nieuwe wetgeving en risico’s in bepaalde processen. Ook is de hoeveelheid uitworp aan te passen aan de beschikbare capaciteit voor handmatige afhandeling.
Het regelsysteem zorgt er verder voor dat de workflows in CRM eenvoudig kunnen blijven en dat maar beperkt maatwerk aan de CRM-configuratie hoeft te worden toegevoegd. Upgrades van het CRM-pakket zijn daardoor eenvoudiger door te voeren.
Door bedrijfsregels centraal te beheren en zowel in het portaal als in de back-office te gebruiken is consistent gebruik van bedrijfsregels binnen de applicatieketen verzekerd. Aanvragen die via andere kanalen dan het portaal binnenkomen worden volgens dezelfde bedrijfsregels verwerkt.
Voor het portaal wordt een RAD-platform (Rapid Application Development) gebruikt. Dat is ook een low code platform. Het ontwikkelen en onderhouden gaat snel, mede doordat een repository van systeemfuncties beschikbaar is. De community onderhoudt deze.
Het integratieplatform heeft ook de kenmerken van een RAD/low code platform. Ook hier werkt de community aan herbruikbare componenten, zoals connectoren voor veelgebruikte pakketten. Communicatie vindt plaats d.m.v. (web)services. API-management, berichttransformatie, service orchestration, intelligente mapping technieken, synchrone en asynchrone routering behoren tot de standaard functionaliteit. Door deze technieken worden bijvoorbeeld CRM-microservices als logische composite web service aangeboden aan andere systemen. Hierdoor schermt het integratieplatform de interne complexiteit van het CRM-systeem af voor het portaal, het regelsysteem en S2S-koppelingen.
Het integratieplatform zorgt voor een loosely coupled applicatielandschap en is geschikt voor een hybride on-premise en multi-cloud-omgeving. Wijzigingen in de aangesloten applicaties zijn door te voeren met beperkte impact op andere applicaties. Bijvoorbeeld een upgrade van het CRM-systeem of een migratie van on-premise naar de cloud heeft weinig gevolgen voor de andere systemen.
Hosting is uitbesteed aan een hostingpartner en geanticipeerd wordt op de trend richting meer cloud toepassingen. Dit levert een schaalbare en flexibele infrastructuur op. Ontwikkelomgevingen worden bij voorkeur in de cloud ingericht, wat voor korte doorlooptijden zorgt.
Kortom, een IT-architectuur die voorbereid is op het snel kunnen reageren op wijzigende omstandigheden.
In een volgende blog zal ik ingaan op agile aspecten in de business architectuur.