Denne artikel stammer fra det trykte Computerworlds arkiv. Artiklen blev publiceret den Computerworld d. 19. november 2004.
Er det muligt at ændre systemudviklingen til en industriel proces med samlebåndspræcision der producerer fejlfri software?
70 procent af software-projekter bliver leveret for sent, 66 procent er ikke succeser, og 30 procent bliver aldrig gjort færdige.
Det er de mareridtsagtige tal fra en undersøgelse foretaget af The Standish Group i 2003. Tal, der kan få enhver projektleder til at gemme sig under dynen og drømme søde drømme om softwarefabrikker, der producerer kvalitetsprodukter til tiden og inden for det oprindelige budget.
Men det er dog ikke så slemt ifølge Poul Staal Vinje fra VR Partners, der yder konsulentbistand til softwareudviklingsprojekter. Poul Staal Vinje har skrevet om - og arbejdet med udviklingsmetoder siden slutningen af 1970'erne.
- Vi må glæde os over, at det trods alt går den rigtige vej. Tallene er blevet bedre. De var helt katastrofale til at starte med, siger Poul Staal Vinje.
The Standish Group udgav deres første rapport i 1994 og blandt andet er andelen af succesfulde projekter steget fra 16 procent i 1994 til 34 procent i 2003.
At der trods alt er sket fremskridt kan man blandt andet takke en mere formaliseret og struktureret arbejdsform i projekterne for, mener Poul Staal Vinje.
- Der er flere procesbeskrivelser på banen, og folk følger i højere grad en vedtagen måde at lave systemudvikling på.
Han bakkes op af Lars Lennart Jensen, systemchef i CSC. Han har 35 års erfaring med systemudvikling og sidder i dag i CSC's Global Process Management, der skal sikre, at CSC anvender fælles processer og værktøjer til at understøtte systemudvikling i hele CSC-koncernen.
- Jeg synes egentlig, at man har altid været fokuseret på en struktureret tilgang til udvikling. Man har blot ikke gjort det i yderste konsekvens. I dag er der krav om, at man eksempelvis skal leve op til CMMI (Capability Maturity Model Integration), hvilket sikrer, at en formel udviklingsproces overholdes, siger Lars Lennart Jensen.
Poul Staal Vinje oplever også en stigende interessere for målinger af organisations- og projektmodenhed.
- Der er flere, der interesserer sig for CMMI og TMM (Testing Maturity Model), der måler modenheden hos en projektorganisation, hvilket er et godt tegn, siger Poul Staal Vinje.
Lars Lennart Jensen fra CSC supplerer:
- Kravet om et vist modenhedsniveau eksisterer i dag i USA, mens det endnu ikke er et decideret krav i Danmark. Dog så vi i forbindelse med, at Statens & Kommunernes Indkøbs Service, SKI, i deres prækvalifikationsmateriale for udvælgelse af leverandører til SKI stillede spørgsmål, der rettede sig mod opfyldelse af CMMI niveau 3, siger Lars Lennart Jensen, der oplyser, at CSC på global basis i april/maj næste år skal være på CMMI niveau 3 og at en række af CSC's afdelinger allerede i dag er på niveau 3, 4 og 5.
It-leverandørerne tilbyder pressede projektledere hjælp i form af integrerede værktøjer, der understøtter udviklingsprocessen fra kravspecificering til deployment af systemet (Se artiklen side 24: "Oracle(t) fra Delphi, .Net og Open Source-formørkelsen"). Borland taler om at industrialisere softwareudviklingen, og Microsoft taler om softwarefabrikker. Men er det muligt at omsætte udviklingsprocessen til en industriel proces?
- Til en vis grad kan man godt omsætte udviklingsprocessen til en industriel proces. Og det har man også gjort i en vis udstrækning, siger Poul Staal Vinje.
Men er projektlederne ikke blevet lovet den effektive softwarefabrik før i form af eksempelvis CASE-værktøjer - tegn diagrammerne, og koden genereres automatisk - og komponentbaseret udvikling - tag komponenterne ned fra hylden og sammensæt en ny løsning?
- Jo, der er nok en tendens til at hvert nyt udviklingsparadigme og tilhørende værktøjer bliver præsenteret som den endelige løsning. Udviklingen gør os dog hele tiden klogere. Man har opsamlet guldkornene fra hvert enkelt paradigme og lært, hvad der fungerer, siger Poul Staal Vinje.
Hos CSC har man også gjort sig sine erfaringer med de forskellige metodeparadigmer.
- Man kan ikke sige, at den her metode eller det her værktøj kan anvendes til alt, siger Lars Lennart Jensen, der understreger nødvendigheden af at vælge alt efter kundens krav.
- Hvis man går ind på værktøjets præmisser, så kan man hurtigt levere en løsning. Sådan er verden ikke indrettet. Det, der kendetegner virkeligheden, er, at kunden ikke vil presses ned i et rammesystem. De vil lige have en ekstra facilitet, siger Lars Lennart Jensen.
- Eksempelvis med CASE-værktøjerne, der automatisk kunne generere kode. Der skulle man ind og lave specialkode for at opfylde kundens krav. Så går produktiviteten altså ned, når værktøjet ikke er beregnet til at lave det, du ønsker.
Så det gælder om at vælge de rigtige værktøjer og styre udviklingsprocessen, så skulle softwarefabrikken, der producerer kvalitetsoftware, være en realitet. Men er styrede processer nødvendigvis en garanti for kvalitetssoftware?
- Nej og jo. Styrede processer er ikke nødvendigvis en garanti for kvalitet. Men jo flere test og reviews som er en del af processtyringen, jo bedre kvalitet vil der blive opnået, siger Lars Lennart Jensen.
Fokusering på standardisering, procesbeskrivelser, test samt ensartede begreber og sprogbrug, gør Poul Staal Vinje fortrøstningsfuld.
- En dag vågner vi op, og så er softwarefabrikken der. Vi er på vej.
Boks:
Om CMMI
Capability Maturity Model Integration angiver en organisations modenhedsniveau for udvikling og vedligehold af systemer og produkter. Modellen inddeler virksomheder i modenhedsniveauer fra 1-5 med 5 som højeste modenhedsniveau.