Denne artikel stammer fra det trykte Computerworlds arkiv. Artiklen blev publiceret den Computerworld d. 18. februar 2005.
Efter CASE-værktøjernes storhedstid i starten af 90'erne ser modeldrevet udvikling nu ud til at vende tilbage.
Nej, desværre. Computerworld kan ikke love, at Cindy Crawford eller andre supermodeller vil blive kommende it-projektledere. Modellerne der skal drive udviklingsarbejdet er ikke langbenede skønheder, men firkantede kasser. Firmaer som Microsoft, Borland og IBM satser på, at designværktøjer, der er tæt integrereret i udviklingsmiljøerne, vil være med til at øge produktiviteten og mindske antallet af forsinkede it-projekter. Ved hjælp af designværktøjerne laver man en model af det ønskede system og ud fra modellen genereres et kodefundament for systemet.
Vent lidt, vil Computerworlds læsere, der har været i it-branchen mere end et par år, sige:
Det har vi hørt før.
Det har de ret i.
I denne måned er det 18 år siden, Texas Instruments annoncerede Information Engineering Facility (IEF). IEF gjorde det muligt at generere kode ud fra forskellige designdiagrammer, der var konstrueret ved hjælp af IEF. Dengang hed det i pressemeddelelsen som Texas Instruments sendte ud:
- Automatisk transformering af information fra Analysis Toolset til Design Toolset eliminerer unødvendigt arbejde og forbedrer systemudviklingskvaliteten.
Dengang var ledelsen i mange virksomheder bekymret over, at it-udviklingsprojekter overskred tidsplaner og budgetter, så med IEF's løfter om en forbedret systemudvikling, blev IEF en stor succes og grundlagde en hel CASE (Computer Aided Software Engineering)-industri der havde en milliardomsætning.
Et par af arkitekterne bag IEF var Keith Short og Bill Gibson. I dag, hvor mange virksomheder stadig er bekymret over, at it-projekter overskrider budgetter og tidsplaner, er de to nogle af folkene bag Microsofts designværktøj med kodenavnet Whitehorse. Whitehorse er en række grafiske designværktøjer, der skal være med til at lette design og udvikling af applikationer, der bygger på en serviceorienteret arkitektur. Sidste år skrev Keith Short i sin blog, at nogle udviklere nok vil blive forfærdet ved tanken om, at Microsoft bygger modelbaserede værktøjer, mens andre vil hilse udviklingen velkommen. Keith Short refererer til nogle af de første CASE-værktøjers mindre heldige sider: De genererede en masse kode, der var svær at debugge, og der var ingen mekanismer til at sikre overensstemmelse mellem model og den automatisk genererede kode.
Keith Short ser det som sin opgave at undgå den slags i den kommende Whitehorse. Whitehorse er for tiden i beta-release og en vigtig feature er blandt andet, at der er fuld synkronisering mellem model og kode. Hvis der eksempelvis ændres i koden, vil det afspejle sig i modellen. På tilsvarende måde vil ændringer i modellen også afspejle sig i koden.
Microsoft er ikke alene om at se modelbaseret udvikling som den eneste vej ud af it-projekternes morads. På diverse pressemøder har Borland opført sig som en masochistisk flagellant; med stor glæde har Borland pisket sig selv med alle mulige statistikker, der viser, at softwarebranchen simpelthen ikke kan levere den ønskede funktionalitet til tiden. I starten af denne måned annoncerede Borland så sit bud på, hvad der kan hjælpe it-projekterne ud af deres elendighed: Core Software Delivery Platform (SDP).
Med Core SDP tilbyder Borland en række tæt integrerede værktøjer, der kan tilpasses forskellige udviklingsroller i et udviklingsforløb. Afhængig af hvilken rolle man har i et projekt, tilbyder Core SDP en række moduler, der understøtter den enkelte rolle.
- Afhængig af, om man er analytiker, arkitekt, udvikler eller tester, vil de nødvendige værktøjer være til stede i hvad, vi kalder udviklingscockpittet, siger Erik Frieberg, Vice President for Product Solutions hos Borland.
Centralt for Core SDP er, at udviklingen er modeldrevet.
Den store forskel på IEF og de nye værktøjer som eksempelvis Whitehorse og Core SDP er, at IEF havde sit udspring i mainframe-miljøet, mens Whitehorse og Core SDP er rettet mod distribuerede systemer, der bygger på en serviceorienteret arkitektur.
En anden forskel er, at IEF var tæt knyttet til metoden Information Engineering. Ifølge Erik Frieberg benytter mange af Borlands kunder i dag en af de agile metoder som eksempelvis Extreme Programming. Men langt størstedelen, cirka 40 procent, anvender, hvad Erik Frieberg betegner som hjemmelavede metoder. Derfor har Borland ikke ment, at de skulle introducere en ny metode. Hvad Borland derimod er interesseret i er at få optimeret softwareudviklingen.
Med købet af TeraQuest i sidste måned har Borland fået proces-konsulenter og CMMI (Capability Maturity Model Integration)-erfaring med ind i virksomheden. Netop CMMI-erfaringen er noget, som Borland lægger vægt på. Ifølge Erik Frieberg er virksomhederne tvunget til at fokusere på udviklingsprocessen for at få styr på it-projekterne. Dermed bevæger Borland sig væk fra kun at være værktøjsleverandør til mere at være en konsulentvirksomhed, der er med til at optimere softwareudviklingen hos kunderne.
- Det gælder om at kombinere softwareprodukter og teknologi med de rigtige processer, siger Erik Frieberg og fortsætter:
- Uden de rigtige processer er man dømt til at gentage de samme fejl igen og igen.
Ifølge Erik Frieberg vil Borland dog ikke bevæge sig ind i decideret business consulting. Det overlader han til Accenture, IBM og andre.
Hvor Core SDP anvender UML som modelleringssprog, har Microsoft valgt at introducere sit eget Domain Specific Language (DSL).
Baseret på anonyme undersøgelser af udviklere har Microsoft, ifølge Keith Short, fundet ud af, at kun meget få udviklere reelt anvender UML-værktøjer til deres udvikling. Endnu færre anvender kodegenereringsfaciliteter til at få konstrueret kode ud fra klassediagrammerne.
Den erkendelse har været en af drivkræfterne bag Whitehorse. Ifølge Microsoft vil udviklerne anvende Domain Specific Language (DSL) mere, da det giver en bedre mulighed for at udtrykke sig præcist. Eller som Keith Short skriver i sin blog, efter at have understreget, at Microsoft anvender UML i stor stil, blot ikke til detailspecifikation:
"En model må have samme status som kildekode, før den kan være anvendelig for udviklere. Den skal have en præcis syntaks, en forståelig semantik og en letforståelig mapning til kildekode eller andre veldefinerede modeller. Og den skal være mere end blot dokumentation."
Vi må se, om modeller med en præcis syntaks er nok til at få it-projekterne på rette kurs, eller om der bliver behov for at hasteindkalde Cindy Crawford.
Billedtekst:
Værktøjer - Afhængig af, om man er analytiker, arkitekt, udvikler eller tester, vil de nødvendige værktøjer være til stede i hvad, vi kalder udviklingscockpittet, siger Erik Frieberg, Borland.