Softwarekvalitet – sådan opnår du korrekthed med gennemsigtighed

Da vi sidste år startede et projekt op, der skulle automatisere de trivielle dele af sagsbehandlingen på tværs af en række forvaltningsområder, prioriterede forretningen ’korrekthed’ som den vigtigste softwarekvalitet løsningen skulle besidde. Det stiller naturligvis krav til, hvordan og hvor meget vi tester løsningen, men der hvor vi i virkeligheden blev udfordret var på forståelsen af ’korrekthed i sagsbehandlingen’.

For at komme det nærmere delte vi begrebet ’korrekthed’ op i to dele: Objektiv og subjektiv korrekthed. Den objektive korrekthed er målbar og fakta-baseret, mens den subjektive korrekthed er baseret på en kvalificeret menneskelig vurdering i hvert enkelt tilfælde.

I forhold til sagsbehandlingen er der nogle objektive krav, der skal efterleves. Det er eksempelvis tidsfrister men især tekniske krav fylder i denne kategori, som for eksempel overholdelse af beskedmønstre og -formater under udvekslingen af oplysninger i tværorganisatoriske sagsforløb.

Subjektiv korrekthed i sagsbehandlingen dækker over begreber som god forvaltningsskik, administrativ praksis, politisk instruktion og lovmedholdenhed. Fordi der er tale om vurderinger foretaget af forskellige faggrupper udgør subjektiv korrekthed en særlig udfordring.

Gennemsigtighed

Vores svar på denne udfordring er Gennemsigtighed: Forretningens faglige eksperter skal både kunne inspicere og verificere implementeringen, ikke kun specificere den.

Det handler altså om at hæve abstraktionsniveauet i implementeringen til et niveau, hvor den kan kommunikeres direkte til de faglige eksperter. Det er ikke nogen let udfordring, men der er heldigvis hjælp at hente.

I vores værktøjskasse finder vi i dag en regel- og procesmotor, hvor vi kan udtrykke regler i regneark eller ved hjælp af et forretningsnært domænesprog, og processer i en grafisk notation (BPMN), der kommunikerer godt med både forretning og udvikling.

Idet vores regel- og procesmotor afvikler reglerne direkte ud fra regnearket og processerne direkte fra den grafiske notation, er der ikke noget ekstra menneskeligt fortolkningslag mellem specifikation og implementering – det du ser, er det der bliver afviklet.

Beslutningstabel

Et simpelt eksempel på en beslutningstabel hvor regler udtrykkes i et regneark [1]. Det skaber ikke kun gennemsigtighed i implementeringen, men giver forretningen mulighed for at tilpasse reglerne, eksempelvis ved at ændre grænseværdier, uden at skulle igennem en tung idriftsættelsesprocedure.

Et samarbejde mellem forretning og udvikling

Der ligger dog stadig en udfordring, dels i den omstilling der er fra en funktionsorienteret til procesorienteret tilgang til sagsbehandlingen, og dels i den læringskurve der trods alt stadig er i forhold til at opnå fortrolighed med at beskrive regler og processer. Vores erfaring er, at forretning og udvikling sammen skal udarbejde og implementere automatiseringen af regler og processer – og det, at vi bringer forretning og udvikling tættere på hinanden, er jo netop hele pointen.

Mens forretningen har den faglige indsigt, der danner grundlaget for den subjektive korrekthed, så kan udviklingen bidrage med den skarpe logiske tilgang, der skal til for at kunne automatisere et sagsforløb med regler og processer.

Udfordringen er der stadig, men er dog blevet overkommelig. Automatisering af regler og processer er et område med stor udvikling i retning mod større gennemsigtighed og fleksibilitet i implementeringen – så udfordringen bliver stadig mindre.

Korrekthed vil dog altid være en udfordring, men gennemsigtighed i løsningen løfter niveauet hvorpå vi, i udviklingsprocessen, kan tage en åben og direkte dialog med forretningen om den konkrete implementering.

Tim Hallwyl er softwarearkitekt hos Visma Consulting i Danmark. Med fokus på værdiskabende løsninger kombinerer han forretningsindsigt med innovativ teknologianvendelse i et tæt samarbejde med kunden. Han har udgivet en række artikler og rapporter om automatisering af forretningsprocesser og bidrager aktivt til det internationale forskningsarbejde på området.