CBR
De afdeling ICT van het Centraal Bureau Rijvaardigheidsbewijzen (CBR) is verantwoordelijk voor alle systemen die komen kijken bij de afname van klassikale en individuele theorieexamens.
Vraag
Het ingebruikzijnde syteem was nog steeds gebaseerd op de ouderwetse televisieschermen en de simpele drukknoppen. ICT is daarom op zoek gegaan naar een systeem waarin kandidaten via individuele terminals hun theorieexamen onafhankelijk van elkaar kunnen doen. Uiteindelijk is in Zweden een systeem gevonden dat functioneel goed aansloot bij de wensen en eisen van het CBR.
In fase 1 van dit project heeft Aviva Solutions in Zweden een technische audit op dit systeem uitgevoerd. De conclusie was dat het niet kon voldoen aan onze hoge kwaliteitsstandaarden. CBR heeft daarom Aviva Solutions gevraagd om voor fase 2 een team te leiden en een architect aan te stellen. Het doel was het systeem te verbeteren zodat een stabiel fundament voor de nieuwe wensen en eisen gegarandeerd wordt.
Bovendien is Aviva Solutions gevraagd een functioneel team te helpen bij de introductie van UML use cases en domein modellen als methodiek voor het vastleggen van het functionele gedrag van het systeem zoals het bij aankoop was.
Aanpak
Fase 2 van dit project startte met de acceptatie van de broncode van het systeem en de bijbehorende documentatie. Daarbij is een lijst opgesteld van de te verbeteren technische aspecten. Tevens richtten we een omgeving in met versiebeheer en zogenaamde automatische builds. Hierdoor werd de laatste versie-in-ontwikkeling elke nacht uitgerold op de ontwikkelomgeving. Op die manier konden alle betrokken te allen tijde inzicht krijgen in de voortgang.
Daarna is de beschikbare periode in vaste iteraties verdeeld en is een planning gemaakt. Om inzicht te krijgen in het doel en het gedrag van de functionaliteit zijn per scherm zogenaamde user stories geindentificeerd. Dat beschrijft een stukje functionaliteit in gebruikerstaal en dient als schatbare werkeenheid voor de ontwikkelaars.
Het systeem is vervolgens geleidelijk aangepast conform de vooraf gedefinieerde architectuur, waarbij automatische testen als uitgangspunt zijn genomen om te zorgen dat het systeem zo goed mogelijk testbaar is. Met behulp van coding guidelines, checklists, peer reviews en vele andere best practices uit de Aviva Solutions ontwikkelstraat is de kwaliteit continue bewaakt.
Oplossing
Afgezien van de user interface is het systeem volledig herbouwd op basis van een moderne gelaagde architectuur. Een van de voordelen is dat bedrijfsregels gecentraliseerd zijn en dat concepten uit het domein van de klant een-op-een terug te vinden zijn in de software. Bovendien is het hele systeem nu gebouwd met testbaarheid in het achterhoofd en is de functionaliteit nu voor bijna 100% afgedekt door automatische testen. Bovendien zijn de databases overeenkomstig het domein model geherstructureerd. Hiermee is een stabiele basis gelegd die het mogelijk maakt de CBR-specifieke wensen uit de volgende fase op een betrouwbare en voorspelbare manier toe te voegen.
Tools en technieken
SQL Server 2008, UML, iteratieve aanpak (SCRUM/XP), Visual Studio 2008, .NET 3.5, C#, ASP.NET AJAX, Team Foundation Server, Domain Driven Design, Test Driven Development, Windows Sharepoint Services, Enterprise Library, Web Client Software Factories, Object-Relational Mapper (NHibernate).