I februar 2012 måtte Rigspolitiet trække stikket på det forsinkede it-projekt Polsag, selvom systemet allerede havde været pilotdrift blandt de 80 betjente på Bornholm i over et år, og Polsag ifølge den efterhånden stærkt forsinkede tidsplan stod til at blive rullet ud i hele landet.
Klagerne fra de bornholmske testpiloter var massive, for systemet led af blandt andet lange svartider og manglende mulighed for at flere arbejdede på en sag samtidigt. Og spørgsmålet var så, om manglerne i systemet realistisk set kunne rettes op
Det skulle en nøje teknisk gennemgang afsløre, og indtil nu har Rigspolitiet og Justitsministeriet holdt disse rapporter hemmelige. Men som det første medie i Danmark kan Version2 nu bringe konklusionerne fra konsulentfirmaet Globeteams gennemgang af Polsag-systemet. Det er sket gennem aktindsigt - som er afsendt i først januar og igen i maj måned - hvorefter Justitsministeriet altså har valgt at vente til få timer før juleferien med at sende svar.
Globeteams rapport tegner bestemt ikke et positivt billede af leverandørerne CSC og Scansjours evner til at kode.
I rapporten med code review af Polsags kodebase peger Globeteam-konsulenterne på den ene opsigtsvækkende fejl eller mangel efter den anden. Resultatet blev, at Rigspolitiet opgav at redde Polsag og derfor måtte vinke farvel til en investering på over en halv milliard kroner, som trods et efterfølgende forlig med CSC gik tabt.
Af Globeteams gennemgang af Polsag-kildekoden fremgår det blandt andet, at:
Kildekoden er alt for kompleks
Kildekoden til både server- og klientapplikationen af Polsag er programmeret alt for komplekst. Det gør den svær at vedligeholde og fejlrette.
»18% af kildekoden til POLSAG-klienten er svær at fejlsøge, teste og vedligeholde, fordi den er for kompleks, og heraf er 31% procent meget kompleks og dermed meget svær at fejlsøge, teste og vedligeholde,« hedder det blandt andet i Globeteam-dokumentet.
Det samme gælder POLSAG-serverapplikationen, hvor 34 procent af kildekode ifølge Globeteam er for kompleks.
»Heraf har 56% af kildekoden (20% af kildekoden til POLSAG-serverapplikationen) en alt for stor kompleksitet, hvilket betyder, at den må betegnes som værende meget svær at fejlsøge teste og vedligeholde.«
Kildekoden er dårligt organiseret
»50% af kildekoden til POLSAG-klienten er samlet i kun 18% af metoderne, hvilket betyder, at kildekoden til POLSAG-applikation mangler organisering.«
»50% af kildekoden til POLSAG-serverapplikationen er samlet i kun 5% af metoderne (19% af kildekoden er samlet i kun 0,7% af metoderne),« skriver Globeteam i rapporten.
Kildekoden testes stort set ikke.
Normalt testes en klasse med 2-3 unit tests per metode, hvilket vil sige, at en klasse med 10 metoder har 20-30 unit tests, skriver Globeteam. Men for Polsag-koden er testniveauet langt lavere:
»Antallet af unit tests til Polsag er virkeligt lavt, og Polsag vurderes at være opbygget på en måde, der gør det svært at lave unit tests til forretningslogikken uden en vis refactoring af samme.«
Samtidig har Globeteam-folkene tjekket kildekoden igennem med værktøjer til statisk kodeanalyse. De afslører, at kildekoden »ikke overholder de gængse practices for navngivning, struktur og organisering.«
Kildekoden er dårligt dokumenteret
Det er helt galt med niveauet af dokumentation til kildekoden, hvilket igen gør den svær at vedligeholde og forstå for andre.
»Kildekoden indeholder et særdeles lavt niveau af kommentarer og øvrig information. SDD'erne (designdokumentet, red.), som er de primære dokumentation for Polsag-funktionaliteten, er meget implementeringsnære. Det vurderes at være svært at udlede de forretningsmæssige krav og ønsker på basis af SDD'erne,« hedder det i gennemgangen.
Bygger på JavaScript og forældede teknologier.
Polsag-klienten er baseret på websproget JavaScript, hvilket Globeteam kritiserer. JavaScript udgør i alt cirka halvdelen af Polsag-kodebasen, fremgår det af rapporten.
»Det forhold, at JavaScript er et typesvagt sprog, medfører, at øget kompleksitet har en væsentlig større negativ impact for udvikleren end ved andre sprog.«
Samtidig bygger Polsag-serverapplikationen på Microsoft .NET version 2.0 - en platform, der allerede i 2010 blev lanceret i version 4.0.
Det betyder ifølge Globeteam, at »projektet ikke høster de forbedringer, der er sket på Microsofts udviklingsplatform i form af højere udviklerproduktivitet, behov for reduceret kodemængde eller øge fleksibilitet,« skriver Globeteam.

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.
Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.
Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.
Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.