mboost-dp1

www.politi.dk

Polsag-kode fik gult kort i 2009

- Via Version2 - , indsendt af arne_v

Tilbage i 2009 hvor der allerede var stærk kritik af Polsag, blev der lavet en gennemgang af koden i projektet af et eksternt firma, og her var meldingen klar; den eksisterende kode var ineffektiv og rodet.

Det var firmaet Boston Consulting Group, som sammen med firmaet Trifork, der havde kigget nærmere på kode, hvilket resulterede i en rapport, som Version2 nu er kommet i besiddelse af. Af rapporten fremgår der mange kritikpunkter, og konklusionen er klar, kode er så dårlig at det vil give “Øget risiko for utilfredsstillende svartider. Øget sandsynlighed for softwarefejl i systemet”.

Det påpeges, at CSC’s underleverandør Scanjour har forsøgt at tilpasse deres Captia-software til formålet. Da dette software dog har været tiltænkt almindeligt kontorarbejde, har det været nødvendigt med omfattende ændringer. Disse ændringer er blevet dårligt udført, og vil ifølge rapporten også have gjort systemet utroligt svært at opgradere på et senere tidspunkt.

Ud over at koden var meget dårlig og bestod af en sammenblanding af fire forskellige sprog, så var den meget langsom. Derfor var anbefalingen i 2009 fra Boston Consulting Group, at der skulle fokuseres på at forbedre ydelsen. Det ser dog aldrig ud til at dette skete, idet især ydelsen var et af de helt store kritikpunkter, da politiet på Bornholm skulle teste systemet.





Gå til bund
Gravatar #1 - ibyte_dk
29. jun. 2012 07:26
Så ikke nok med at CSC ansatte får mere i løn. De er også ineffektive og rodede... :)
Gravatar #2 - RonnieJespersen
29. jun. 2012 07:27
Utroligt.
Gravatar #3 - duppidat
29. jun. 2012 07:29
Så ansæt dog Trifork til det istedet ....
Gravatar #4 - anielsenftw
29. jun. 2012 11:50
Pinligt, men hvad man kan forvente sig af det offentlige.
Gravatar #5 - thomaxz
29. jun. 2012 11:56
Sådan som jeg læser rapporten, så kunne polsag være 'redet' hvis anbefalinger blev fulgt.
Gravatar #6 - Bladtman242
29. jun. 2012 19:04
Der burde rulle nogle hoveder i det offentlige for det her.
Gravatar #8 - vatnissen
30. jun. 2012 17:19
Det handler vel om at kravsspecifikationerne fra politiet ikker har været klare nok. CSC har vel være nød til at rive ned og bygge op i et væk for at lave noget der 1. reelt kunne det det skulle og 2. være brugervenligt nok til at menig mad kunne anvende det eller?
Gravatar #9 - thomaxz
30. jun. 2012 17:26
vatnissen (8) skrev:
Det handler vel om at kravsspecifikationerne fra politiet ikker har været klare nok. CSC har vel være nød til at rive ned og bygge op i et væk for at lave noget der 1. reelt kunne det det skulle og 2. være brugervenligt nok til at menig mad kunne anvende det eller?


Nu skal jeg ikke kunne sige hvordan kravspecifikation har været, men når jeg læser rapporten at CSC ikke kodet efter best practice

blandt andet har man kopieret hele kodeblokke, i stedet for at lave funktioner.

man har ændre koden i standart system, i stedet for lave et ap, som kommuniker mellem frontend og det standart beckend system som var brugt. Det vil have gjort det let at opdater api, hvis backend system blev opdateret og der med fungere anderledes end i dag.
Gravatar #10 - Windcape
30. jun. 2012 18:30
vatnissen (8) skrev:
Det handler vel om at kravsspecifikationerne fra politiet ikker har været klare nok.
Kravsspecifikationer kan ikke redde et projekt fra elendige udviklere som skriver elendig kode.
Gravatar #11 - Mnc
1. jul. 2012 06:57
#10
Or vice versa.
Gravatar #12 - arne_v
1. jul. 2012 17:55
#11

Jeg vil klart foretrække gode udviklere og en dårlig krav spec fremfor dårlige udviklere og en god krav spec.
Gravatar #13 - arne_v
1. jul. 2012 17:59
vatnissen (8) skrev:

Det handler vel om at kravsspecifikationerne fra politiet ikker har været klare nok. CSC har vel være nød til at rive ned og bygge op i et væk for at lave noget der 1. reelt kunne det det skulle og 2. være brugervenligt nok til at menig mad kunne anvende det eller?


Du har en 75 sides rapport omkring projektet og problemer i samme og du vælger at gætte på en årsag som ikke fremhæves i rapporten.

Hvis du var en typisk dansk udvikler så skulle man jo helt droppe krav spec for danske IT projekter.
Gravatar #14 - Mnc
1. jul. 2012 18:12
Well, fra min egen erfaring... Indere kan være dygtige til mange ting, men de kan sjældent tage nogle beslutninger, hvis der findes andre mennesker i firmaet med mere ansvar end dem selv. :P
Og så følger de kravspec/dokumentation slavisk, uden hensyn til common sense.

Ellers er jeg enig med dig.
Gravatar #15 - Windcape
1. jul. 2012 18:27
duppidat (3) skrev:
Så ansæt dog Trifork til det istedet ....
Trifork ved med til at lave analysen. De har bla. analyseret koden. (Se f.eks. side 39)
Gravatar #16 - arne_v
1. jul. 2012 19:45
#15

Det fremgår også af V2 artiklen og er formentligt derfor at #3 bragte dem på banen.
Gravatar #17 - arne_v
2. jul. 2012 02:17
#0

Jeg synes at det meste af rapporten er ret tynd i substans med hensyn til kritikken af CSC.

Men på et område er der virkeligt kød på sagen.


Ifølge ScanJour er alle modifikationer af Captia-kernen22, som har vist sig nødvendige i forbindelse med POLSAG-programmet, blevet inkorporeret i den seneste version af Captia-kernen.
...
Der eksisterer dog en risiko for, at Captia-kildekoden fejlagtigt er blevet ændret, fordi POLSAG er blevet udviklet på baggrund af Captia-kildekoden i stedet for at benytte binær API. Således kan det ikke udelukkes, at Captia-kildekoden er blevet modificeret.



Ingen klar separation af name spaces mellem Captia-kernen og POLSAG-objekterne.



Det er blandt andet ikke etableret en klar adskillelse mellem Captia og POLSAG i forhold til systemets database.


Det er f...... slemt.

Og jeg forstår ikke hvordan noget sådant har kunnet få lov til at ske.
Gravatar #18 - arne_v
2. jul. 2012 02:55
#0 resten


Leverandørerne af POLSAG (CSC/Scan Jour) er i stand til at levere et system, som opfylder de kvalitetskrav, der er fastsat i deres kontrakt med Rigspolitiet, og at POLSAG vil indeholde den funk-tionalitet, der er beskrevet i Aktstykke 119 – bortset fra udviklingen af et datawarehouse, der bliver erstattet af forbedrede rapporteringsfaciliteter i POLSAG.



Det vurderes, at den oprindelige aktstykkebevilling stort set overholdes. Udgifterne til anskaffel-se og etablering af POLSAG, jf. Aktstykke 119, på 221 mio. kr. (pristalsreguleret til 229 mio. kr.) forventes på nuværende tidspunkt således alene overskredet med ca. 5 mio. kr.


Hmm. Sådan endte det som bekendt ikke.


• Hele kodeblokke der er udkommenteret
• Unødigt lange og sammensatte moduler
• Unødvendig gentagen kode, fordi kodesekvenser er blevet kopieret og delvist tilpasset i stedet for at benytte parametre til at holde koden koncis


Det var jo slemt i et først års programmerings kursus med henblik på at lære god programmerings stil.

Men jeg har svært ved at se det som noget der kan vælte et XXX mio. kroners projekt.

Og ved det code review var projektet ikke færdigt, så det var ikke engang sikkert at disse problemer ville eksistere ved levering.


Trifork observerede, at POLSAG er implementeret i samlet set fire programmeringssprog (JavaScript, C#, C++ og PL/SQL). Dette skaber unødig kompleksitet og kræver et mere specialiseret kundskab for at vedligeholde og videreudvikle POLSAG-kodebasen i fremtiden.


For et system i den størrelses orden synes 4 sprog ikke at være mange.

Et sprog er helt urealistisk.

Så jeg forstår ikke kritikken.


Alle web-services med undtagelse af DCS relaterede web-services er implementeret som synkrone kald. Denne beslutning medfører en betydelig risiko for performancesvagheder idet:
• Det øger ventetiden af transaktioner for svar af eksterne systemer
• Det forhindrer kontinuiteten af behandling, hvis fjernsystemer er nede eller ikke svarer inden for på forhånd definerede time-out grænser
Det er BCGs vurdering, at løs kobling gennem asynkrone web-servicekald er best-practice for im-plementering af web-services i service orienteret arkitektur, hvilket kan benyttes til at lette de be-skrevne performanceproblemer. Andre velkendte fremgangsmåder så som at tillade brugerbeslut-ninger om at fortsætte i tilfælde af forsinkede svartider fra fjernsystemer eller caching af data fra fjernsystemer er ej heller blevet implementeret.


Der er jo ingen tvivl om at det giver hurtigere svartid at hente nogle data fra cache fremfor faktisk at hente nyeste data.

Men er man helt sikker på at det er godt nok at vise "nogle data" uden at vide om det er nyeste data.

Det er langtfra givet. Så "best-practice" er lidt billig at fyre af.


Trifork observerede i databaselaget, at der foretages datavalidering i visse stored procedures. Dette bryder designpraksis om at koncentrere forretningslogik og validering i forretningslogiklaget.



Et begrænset brug af database triggers ville som udgangspunkt være en rimelig designbeslutning, men en grov screening af kildekoden afslørede et uventet højt antal triggers. På tidspunktet for dette review havde vi ikke mulighed for at fastslå om disse triggers rent faktisk anvendes korrekt. Hvis triggers ikke bliver anvendt korrekt, dvs. hvis de indeholder forretningslogik, øger dette kom-pleksiteten af koden betydeligt og unødigt.


Synspunktet at man ikke bør putte forretningslogik i stored procedures og triggers er velkendt.

Jeg er enig i det.

Jeg tror at der pt er ca. 80%-20% support for synspunktet blandt udviklere idag.

Men det er altså ikke en generelt accepteret best practice og at forsøge at gøre det til det er misvisende.
Gravatar #19 - Magten
2. jul. 2012 06:49
Gravatar #20 - arne_v
2. jul. 2012 13:38
#19

ScanJour vil vel sikkert gerne have betaling for det som de har leveret.

Og det kan ikke udlukkes at de kan have krav på fuld betaling.

Hvis de har været ren underleverandør og:
- leveret licenser til deres software
- tilrettet deres software efter specifikation fra CSC
så bliver CSC vel nødt til at betale.

Hvis de har været partner i projektet og derfor har ansvar for hele løsningen, så må man formode at de kommer til at bære en del af tabet.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login