6. Konklusion

6.1 Behovet for en systemudviklingsmodel

Under arbejdet med denne afhandling er vi ofte blevet betragtet med dyb skepsis af vore kolleger, når vi har beskrevet de paradokser vi er stødt på, og de foreløbige konklusioner, vi har draget.

En af vore konklusioner er, at den gode professionelle systemudvikler næppe har behov for en systemudviklingsmodel til at strukturere sit arbejde med.

Meget forenklet kan man sige, at når der eksisterer en softwarekrise, er det simpelthen fordi, der er for få gode professionelle systemudviklere.

Vi vil foreslå, at man i stedet for at søge efter teknologiske løsninger, går i gang med en seriøs undersøgelse af, hvilke egenskaber der gør de gode professionelle systemudviklere gode. Herefter kan man gå i gang med at rekruttere personer, der har disse egenskaber, eller man kan skabe uddannelser, der kan udvikle disse egenskaber.

Vi er overbeviste om, at en sådan strategi vil give en betydelig større effekt end alle de teknologiske forbedringer tilsammen.

Ved at inddrage discipliner som især filosofi og psykologi har vi fået en forståelse af, at den menneskelige intelligens og kreativitet er uden sidestykke. Hvis man vel at mærke giver menneskene lov til at bruge deres intelligens og kreativitet.

Systemudviklingsmodellerne har den egenskab, at de forsøger at standardisere og ensrette metodeanvendelse, værktøjsanvendelse og løsninger. Problemet er, at standardisering og ensretning virker dræbende på enhver kreativitet.

På dette punkt er vi enige med Bjarne Stroustrup, når han erklærer, at standardisering - især i mindre projekter - kan føre til absurde begrænsninger og ekstra omkostninger, hvor papirarbejdet erstatter produktivt arbejde som mål for fremskridt og succes. Når det kommer så vidt, forlader de gode professionelle systemudviklere projektet og bliver erstattet af bureaukrater.

Men vi er også enige med Stroustrup, når han erklærer, at standardisering kan være en afgørende succesfaktor i visse større eller meget kritiske projekter. Måske ligger problemet i, at man skal have flyttet grænserne for, hvad man opfatter som et mindre og et større projekt.

Vi har også påpeget den farlige tendens, som kommer til udtryk i mange videnskaber, hvor man uden videre mener at kunne generalisere fra specialtilfælde til almene situationer. Det stemmer overens med en erfaring, som mange systemudviklere har gjort, nemlig at den systemudviklingsmodel, man ifølge standarden skal bruge, ikke synes at passe lige til den opgave, man netop er i gang med at løse.

Men vi vil ikke tages til indtægt for det synspunkt, at man så ikke behøver at lære om systemudviklingsmodeller, metoder, værktøjer og standards. Alle disse ting bidrager til den gode professionelle systemudviklers erfaringsgrundlag, som er det baggrundslager, hvor kreativiteten skal hente sit råmateriale.

Bjarne Stroustrup må antages at være en af de flere gange omtalte gode professionelle systemudviklere. Han er stort set eneansvarlig for udviklingen af det objekt-orienterede programmeringssprog C++.

Udviklingen af dette programmeringssprog vil efter danske forhold nok blive betragtet som et større projekt. Det fortælles, at udviklingen foregik på den måde, at Stroustrup gradvist eksperimenterede sig frem til løsninger på de problemer, der opstod. Intet blev dokumenteret, før det var færdigudviklet.

Der findes talløse beskrivelser af lignende enkeltpræstationer indenfor systemudvikling. Selvom det modsatte ofte hævdes, er vi ikke utilbøjelige til at tro, at langt de fleste ikke-trivielle systemer udvikles på netop denne måde.

Men det er en forudsætning, at systemudviklingen forestås af mindst én person, som kan karakteriseres som en god professionel systemudvikler.

Desværre er der mange, som opfører sig som om, de var gode professionelle systemudviklere, uden at være det, og her skal man måske søge forklaringen på nogle af de eksempler på fejlslagne projekter, man kan finde. I den forbindelse er det vigtigt, at systemudvikleren indtager en passende ydmyg holdning overfor den opgave, han står over for.

En af de ting, der gør det interessant at beskæftige sig med et nyt programmeringsparadigme som f.eks. objekt-orienteret programmering, er, at man får lejlighed til at begynde på en frisk, uden at skulle tage hensyn til de fordomme, som eksisterer om, hvordan systemudvikling skal foregå.

I begyndelsen eksisterer der således heller ingen systemudviklingsmodeller, man kan henvise til. Dette forhold kan få mange, som lider af den fordom, at man ikke kan undvære en systemudviklingsmodel til at tvivle på værdien af den nye teknik.

6.2 Det flerfaglige ståsted

Efterhånden som vi under arbejdet med rapporten fik de forskellige synsvinkler opstillet og rubriceret, fik vi en god forståelse for det værdifulde i at bevare eller genoplive en bred og tilbundsgående debat om datalogien og dens virkning på menneskelivet.

Denne debat førtes heftigt for år tilbage, men efterhånden har de fleste borgere accepteret edb-teknologiens nyttevirkning i en eller anden sammenhæng, og debatten er til en vis grad forstummet.

Det anses ikke for særlig fremsynet, at være kritisk overfor edb eller datalogi. Denne generelle accept bør imidlertid ikke misbruges af branchen eller uddannelsessystemet til at trække nye uhyrligheder ned over hovedet på folk.

Det er vigtigt, at vi tager udfordringen alvorligt og ikke gør diskussionen om brugervenlighed til en teknologifikseret debat om ikoner og mus på et simuleret skrivebord.

Disse aspekter kan i sig selv være udmærkede skridt på vejen til en dybere forståelse af samspillet mellem menneske og maskine; men så vidt vi kan se, er der lang vej herfra til en egentlig forståelse af betydningen af en fonuftig anvendelse af datamater i mange sammenhænge.

Hvor langt kan simuleringer føre os i computerspil? Hvor længe varer det, inden børn får problemer med at skelne medieverdenen fra den såkaldte virkelige? Er det allerede for sent?

Der mangler især en etisk og moralsk dimension, som filosofien kunne bidrage med. Mange af de problemer, som man forsøger at løse med hjælp fra teknologien, er i virkeligheden filosofiske problemer, som man indenfor filosofien har diskuteret i mere end 2000 år.

Det, vi først og fremmest har lært, er, at indtil datalogien og læren om systemudvikling bliver velbeskrevne, fagligt velfunderede fag, bør man ikke udelukke noget som helst fag som mulig bidragyder i forståelsen af, hvad systemudvikling er.

Find de generelle og universelle principper ud fra specialtilfældene, som Paul Lindgreen siger. Kast nyt lys på det ukendte. Udnyt dine menneskelige og indtil videre unikke evner til erkendelse.

Vi mener, at vi især med denne afhandlings kapitel 2 har dokumenteret, at et flerfagligt grundlag er forudsætningen for, at man kan udvikle sig til en god professionel systemudvikler.

Gerald Weinberg opregner i sin bog "Rethinking Systems Analysis" en række faktorer, som har betydning for, om man kan udvikle sig til en god professionel systemudvikler. Weinberg gør bl.a. opmærksom på, at discipliner som historie og antroprologi kan tilføre systemudvikleren vigtige nye færdigheder.

Desuden understreger han gang på gang vigtigheden af, at en systemudvikler er i stand til hurtigt at sætte sig ind i nye og helt ukendte faglige discipliner.

Weinberg anser dette for at være så vigtigt, at han udsætter sine studerende for et krav om, at de på et par måneder skal tilegne sig væsentlige dele af en stofmængde, som hører til et tilfældigt valgt fag. Denne øvelse kan være lige så god, påstår han, som teoretisk indøvelse af forskellige systemudviklingsmodeller, som man sandsynligvis alligevel ikke kan bruge i praksis.

Vi er principielt enige i dette synspunkt. Den konklusion, man kan drage, er, at alle fremtidige teknologiske forbedringer i form af systemudviklingsmodeller vil lide samme skæbne, som dem vi kender i dag. De vil få deres opblomstringstid, hvorefter de vil dø hen, fordi de alligevel ikke kan leve op til det, der blev lovet.

I disse år knyttes der store forhåbninger til en ny teknologisk frembringelse: objekt-orienteret software udvikling.

Således også Brad Cox i den artikel, som oprindelig dannede en del af id‚grundlaget til denne afhandling. Cox taler om en kulturel revolution, som skal føre til eliminering af softwarekrisen.

Gennem arbejdet med afhandlingen er vi kommet til den erkendelse, at dette også vil vise sig at være endnu en fejlslagen teknologi, hvis man ikke samtidig styrker opfattelsen af systemudvikling som en disciplin, der kræver et flerfagligt udgangspunkt.

6.3 Problemløsning

Vi har flere gange fremhævet det paradoksale i, at der i uddannelsen af systemudviklere ikke undervises i problemløsningsteknik.

Ofte hører man som begrundelse, at man ikke kan undervise i problemløsning, fordi det skulle være en medfødt evne. Enten kan man, eller også kan man ikke.

Man kunne stille det spørgsmål, hvad man så skal stille op med alle dem, der bliver uddannet som systemudviklere, og som ikke har de medfødte evner for problemløsning?

Man kunne også stille det spørgsmål, om de, der har evner for problemløsning, så får de bedste eksamensresultater, når de afslutter deres uddannelse som systemudviklere?

Her er det måske vores lidt bitre erfaring som undervisere på en sådan uddannelse, at mange af de bedste slet ikke når frem til eksamen. De har for længst opgivet den ulige kamp mod formalisme, standardisering og matematik.

Om evnen for problemløsning er medfødt eller ikke, kan man efter vor mening ikke vide, før man har forsøgt at undervise i problemløsningsteknik.

Måske er der mennesker, som har medfødte evner, uden at de selv er klar over det. Hvis man kunne vække evnerne hos nogle af disse, ville det betyde meget mere for afhjælpning af softwarekrisen, end alle kendte teknologier tilsammen.

Under arbejdet med denne afhandling er vi stødt på store mængder litteratur inden for især filosofi og psykologi, hvor man tager fat på spørgsmål som

hvad er ekspertise?

hvad er intelligens?

hvad er intuition?

hvad er kreativitet?

Mange af disse bøger rummer beskrivelser af, hvordan berømte mennesker løste nogle lige så berømte problemer. Der er et mønster i disse beskrivelser, hvorfra man kan udlede noget generelt om problemløsning.

Der kan således også gives konkrete anvisninger på, hvordan problemløsning kan gribes an. Intuition og kreativitet tilskrives i alle tilfælde en betydelig rolle i forbindelse med selve problemløsningen.

Formalisme og strukturering får sin største betydning i forbindelse med verificeringen af, om løsningen virker. Under selve problemløsningen virker formalisme og strukturering derimod mere hæmmende end fremmende.

Man kan altså ikke konkludere, at en formalistisk og struktureret arbejdsform ikke er nyttig; men man kan konkludere, at den i hvert fald ikke kan tilskrives nogen betydning i den kreative del af problemløsningsarbejdet.

Der kan aldrig opstilles en generel "kogebogsmetode" for, hvordan man løser et problem. Det, man kan gøre som underviser, er at præsentere eleven for en række eksempler på, hvordan intuition og kreativitet kan stimuleres, når man skal finde en løsning på et problem.

Men det er eleven selv, der skal skabe sin helt personlige løsningsstrategi. Læreren kan kun hjælpe eleven på vej. Derfor er det vigtigt, at eleven har evne til at reflektere og analysere, hvad der foregår i hjernen, når man står overfor et problem, der skal løses.

Det er vigtigt, at man bliver opmærksom på, hvad der virker, og hvad der ikke virker, så man allerede starter bedre forberedt, når næste problem skal løses.

6.4 Manglende dokumentation for påstande

I dette afsluttende og konkluderende afsnit har vi bl.a. anvendt nogle påstande, som er baseret på vores fornemmelser og intuition.

Det ville selvfølgelig være bedre, hvis alle disse påstande kunne have været dokumenteret med resultater fra videnskabeligt gennemførte undersøgelser.

Når det er sagt, vil vi alligevel mene, at vore påstande hviler på et ligeså solidt fundament som hovedparten af de påstande, der bliver fremført i forbindelse med markedsføringen af mange nye såkaldte teknologiske forbedringer.

Hvis bare halvdelen af disse påstande var sande, ville softwarekrisen slet ikke eksistere. Det ville være meget ønskværdigt, hvis branchen i mindre grad var præget af salgsslogans og i højere grad var præget af resultater fra sund empirisk forskning.

Vi har lært af filosofien, at der altid findes flere opfattelser af, hvad der er sandheden i et filosofisk problem. Man kan konkludere, at når man hører en påstand, skal man altid spørge, om påstanden kan underbygges med empirisk forskning, eller om der i virkeligheden er tale om et filosofisk problem.

Indlagt 27. april 1997