Gå til hovedindhold
Version2 it for professionelle
Forsiden

Hovedmenu

  • It-nyheder
  • Blogs
  • It-job
  • It-firmaer
  • Emner
  • Opret bruger
  • Log ind
Se kommentarer (8)
Emner Agil udvikling, Uddannelse, Projektledelse

Software Engineering er død

Af Anne-Sofie Nielsen 26. juli 2009 kl. 20:53

Som en, hvis officielle titeler "Senior Software Engineer" (nu behøver vi ikke at træde i, at jeg snart fylder 30...) blev jeg afsindigt nysgerrig, da Dorte Toft for nylig sendte mig i retning af en artikel i IEEE Software med titlen "Software Engineering: An idea whose time has come and gone".

Har jeg nu spildt tiden på ingeniørstudiet, monstro? 

Artiklen indeholder noget så sjældent som en mands erkendelse af, at han tog fejl. Tom DeMarco skrev i 1982 bogen "Controlling Software Projects: Management, Measurement and Estimation", der blev lidt af en bibel indenfor et af de områder, der tilskrives klassisk Software Engineering, nemlig som titlen siger: Ledelse af softwareprojekter gennem at opstille og overvåge en række metrikker.

Hovedessensen af bogen kan groft sagt opsummeres i dens første og mest citerede sætning: "You can?t control what you can't measure." Korrekt, men som Tom DeMarco i IEEE-artiklen erkender, er tiden måske kommet til, at man gør op med paradigmet om, at det er så vigtigt at styre og kontrollere softwareprojekter.

Tom DeMarco tilføjer desuden en række pointer, som ikke burde være nyt stof for tilhængerne af agile metoder (eller almindelig omtanke):

  1. Måling og kontrol er ikke gratis - det koster både tid og penge.
  2. Man får ikke altid målt det, der er vigtigt.
  3. Medarbejderne performer bedre, hvis de ikke bliver holdt i (for) kort snor 

Mange Open Source-projekter har jo i nyere tid demonstreret, at der kan laves glimrende produkter med et absolut minimum af kontrol.

Det kan derfor virke som gamle nyheder, at Tom DeMarco nu kommer på banen med disse synspunkter. Men jeg tager hatten af for, at en kapacitet på området erkender sine fejl - man kan blot håbe på, at det vil smitte af på de klassiske it-uddannelser, så fremtidige generationer af softwareingeniører m.fl. ikke skal tudes ørene fulde med glæderne ved vandfaldmodellen og uendelige bjerge af procesdokumentation.

For jeg køber til gengæld ikke artiklens definition af, at en sådan proces-fokusering skulle være definitionen af Software Engineering. Vi har i dén grad stadig brug for, at software bliver engineered = skabt med omtanke!

Send Tweet
Udskriv
Billede af Anne-Sofie NielsenOm Anne-Sofie Nielsen

Anne-Sofie Nielsen er udviklingschef hos Kapow Software og har en baggrund som civilingeniør i informatik fra DTU. Har aldrig helt fået besluttet sig for at være en nørd eller ej.

Follow @femalenerd

Kommentarer (8)

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Torben Mogensens billede
Torben Mogensen 27. jul. 2009 - 11.41
 
Education Engineering og Research Engineering
1. Måling og kontrol er ikke gratis - det koster både tid og penge. 2. Man får ikke altid målt det, der er vigtigt. 3. Medarbejderne performer bedre, hvis de ikke bliver holdt i (for) kort snor

Gid, at undervisningsministeriet og forskningsministeriet ville erkende dette. Der bliver mere og mere måling og flere og flere restriktioner og rapportkrav, som koster en masse ressourcer, og som ikke efter min mening øger kvalitet eller produktivitet. Den eneste effekt er, at de parametre, man måler på, bliver forbedrede. Men at de parametre rent faktisk er synonyme med kvalitet er ret tvivlsomt.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Torben Rahbek Koch 27. jul. 2009 - 17.54
 
Omdefinering af Software Engineering

Jeg synes, at der mere er tale om at Tom DeMarco vil omdefinere opfattelsen af, hvad Software Engineering omfatter, selvom han måske modsiger sig selv lidt:

"I’m gradually coming to the conclusion that software engineering is an idea whose time has come and gone. I still believe it makes excellent sense to engineer software. But that isn’t exactly what software engineering has come to mean."

Han er jo nok bare, ligesom hele den agile skole, kommet frem til at det er en god ide at sætte folk i fokus i stedet for processen:

"Rather, I’m advocating a management approach, one that might well steer the team toward agile methods, at least
toward the incremental aspects of the agile school."

Helt uden tal (metrics) klarer man sig nok ikke - der skal stadig estimeres og planlægges i hver iteration.

Men enig, dejligt at en person som DeMarco, kan se sagen fra "den anden side" også ;-)

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Anne-Sofie Nielsens billede
Anne-Sofie Nielsen 28. jul. 2009 - 12.22
 
Re: Omdefinering af Software Engineering
Helt uden tal (metrics) klarer man sig nok ikke - der skal stadig estimeres og planlægges i hver iteration.

Enig, men "nyheden" består så i, at man ikke bevidstløst beregner og planlægger, men forinden vurderer, hvor det giver nytte for pengene.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Jesper Louis Andersen 30. jul. 2009 - 12.06
 
Re: Education Engineering og Research Engineering

@Torben:

En af de sjove ting i Tom Demarcos bog (som tilfældigvis var toiletlæsning hjemme hos mig i et par uger) er hans Heisenberg-princip i lettere modificeret udgave. Hvad du måler i en proces vil utvilvsomt blive påvirket af målingen.

Hvis du endvidere fortæller hvad din metrik er og bruger den til at vurdere effektiviteten af en gruppe mennesker, så medfører det banalt set at gruppen lokaloptimerer. Desværre er det sjældent ækvivalent med en global optimering.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Poul-Henning Kamps billede
Poul-Henning Kamp 30. jul. 2009 - 12.58
 
Re: Education Engineering og Research Engineering

Jvf Dilbert sekvensen hvor de fik bonus per fejl de fandt.

Wallys kommentar: "Jeg tror jeg vil skrive mig en rungstedtraktor i eftermiddag".

Poul-Henning

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Henrik Sørensen 16. nov. 2009 - 07.57
 
Re Poul-Henning

Dén HAR jeg set implementeret i en dansk virksomhed.

Resultat : Folk indsatte bevidst fejl, som de efterfølgende selv rettede med høj bonus til følge..

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Jens Madsen 16. nov. 2009 - 11.22
 
Frihed betyder ikke mangel på kontrol.

Jeg tror Tom DeMarco har begået endnu en fejl... Frihed, og kontrol, er ikke modsætninger. Kunsten er, at kombinere frihed med kontrol. I princippet, behøver medarbejderne ikke at opdage de "overvåges".

Men fjerner vi overvågningen, så overlades styringen til mafien. Så bliver det den største terrorist som vinder. Formålet med at "kontrolere", er netop at udelukke terrorisme.

Imidlertid medfører kontrol også ansvar - dem der kontrolerer, får ansvaret for produktet. Fjerner du kontrollen, så fjernes deres ansvar, og du får medarbejderansvar.

Medarbejderansvar fungerer også nogenlunde - men genneralt kan være fordele ved, at placere ansvaret et bestemt sted. Ulempen er, hvis disse så ikke tager ansvaret, og ikke forstår at løfte opgaven. I så fald, så vil det naturligvis langt bedre, at lade programmørerne tage det fulde ansvar, trods de med stor sandsynlighed er rejst og borte, når det går galt.

Lønningsmæssigt, vil det naturligvis også betyde noget. Har lederen ikke mere ansvaret, så går han lønmæssigt ned på samme niveau, som de andre i virksomheden. Med ansvar følger lønnen. Ingen ansvar - ingen løn.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Jens Madsen 16. nov. 2009 - 12.09
 
Hvad er kontrol?

Med kontrol, forstår jeg "aflæsning", altså det samme som at læse, eller verificere data. Ikke at skrive data.

Nogle forstår måske kontrol, som at skrive data - altså hvad vi kunne kalde at diktere, eller diktatur.

Hvis Tom DeMarco forstår kontrol som at "skrive data", altså at styre, og at udføre diktatur på medarbejderne, så medgiver jeg ham at frihed og kontrol er modsætninge. Men forstås kontrol, som at aflæse, så er det i princippet ikke destruktivt, og behøver ikke at ødelægge frihed.

Det som er destruktivt, er som regel når man begynder at vil styre. Dette kan i mange tilfælde betragtes som at skrive i data som ikke er sine egne, og dette medfører ofte fejl, og ustabilitet. Overvågning, og aflæsning, kombineret med at gøre det bedst mulige for medarbejderne (uddanne hvis der opdages mangler i evner og kunnen, eller give dem midler, hvis der opdages nogle mangler), er ikke det samme som at ikke give dem fuld frihed. At anvende overvågningen, til at give dem de opgaver de gerne vil have, kan også være eksempel på "positiv" anvendelse af overvågning.

Det er nødvendigt med en vis måling, hvis du skal tage ansvar. Jeg tror hellerikke, at nogle programmører tror, de kan få noget til at fungere, uden at have afprøvet og testet det de gør.

Problemet opstår, når du så ser en fejl. Er du dårlig, går du ind og retter fejlen. Du vil måske se, at en variabel får en forkert værdi, og ændrer denne med debuggeren. Kort tid efter, sker fejlen igen... Programmet forstod ikke en skid.

Her er kunsten, at anvende målingen positivt overfor medarbejderne, og overfor softwarens kvalitet. Det medfører, at medarbejderne måske skal videreuddannes, hvis det afsløres noget de ikke kan. Eller, at de måske skal have flere resourcer, såsom flere penge, mere tid, eller hjælpere til projektet, uden de måske selv har opdaget det. Disse tiltag, kan sammenlignes med, at vi løser problemerne for vores program - f.eks. at vi uddanner og løser fejlen, at vi måske tilfører større hukommelse eller større cpu kraft, for at løse flaskehalsen, osv. Overvågningsdataene - eller kontrollen - bruges nu positivt, til at få fejlen rettet, og ikke til at gå ind og ændre og modificere i data, i hvert enkelt tilfælde.

Det er vigtigt, at medarbejderne er "med", og den der tager beslutningerne. Så må med uddannelse, flere resourcer, måske udeligering af svære opgaver mv. sikres at de har bedst mulige vilkår, til at løse opgaven. Kontrol, er her en vigtig resource, til at kunne opnå det.

Desto mere af intelligensen, som ligger hos medarbejderen - desto bedre er det. En leder, har kun den intelligens, som hans medarbejdere har tilsammen. Lederens opgave er, at få noget ud af den. En leder, som dikterer, kan meget nemt være en dårlig leder. Meddens en leder der overvåger og måler, oftest er en god leder. En leder, som ikke hverken måler eller styrer, er næppe en rigtig leder, og en der ikke måler, er ikke en god leder. Er personen dygtig som ingeniør, er han måske en god senior, men kan han ikke aflæse og måle medarbejderne, vil han være dårlig leder.

At måle, og aflæse sine medarbejdere, mener jeg stadigt er vigtigt for at kunne lede og styre. Og det kan samtidigt gøres, uden at holde medarbejderne i "kort snor".

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer

Tilføj kommentar

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Log ind herunder eller opret en bruger for at skrive kommentarer
Du kan logge ind med din e-mail-adresse
Der er forskel på store og små bogstaver i adgangskoden.
Glemt adgangskode?

Seneste nyt

It skal spare kommunerne for 165 millioner kroner i 2012

Udgivet 9. feb 16.02Opdateret 9. feb 16.02

Adobe: Vi laver ikke Flash til Android-udgaven af Chrome

Udgivet 9. feb 15.15Opdateret 9. feb 15.15

Så oldnordisk er politiets it-miljø: Nostalgisk gensyn med 1980’erne

Udgivet 9. feb 14.22Opdateret 9. feb 15.12

EMC lægger flash-cache på PCIe-kort: 4.000 gange hurtigere end harddiske

Udgivet 9. feb 13.39Opdateret 9. feb 13.39

Egedal Kommune sparer 100.000 om året med open source-CMS

Udgivet 9. feb 12.56Opdateret 9. feb 12.56
Flere it-nyheder »
Få it-nyheder og blogs hver dag med Version2's nyhedsbrev.

Seneste debat

  1. Opdateret liste over danske iværksættere

    2 comments.
    Last update 2 timer 20 minutter
    Skrevet af Therese Hansen
  2. Stop SOPA, PIPA, ACTA, TPP og alle dem der kommer efter

    50 comments.
    Last update 6 timer 41 minutter
    Skrevet af Bjarne W. B. Petersen
  3. Derfor bliver dårlige it-projekter ikke stoppet i tide

    1 comment.
    Last update 7 timer 5 minutter
    Skrevet af Kasper Jørgensen
  4. Grotesk jobinterview i 2007: »Tag ikke jobbet, vi får alligevel aldrig Polsag til at virke«

    17 comments.
    Last update 7 timer 13 minutter
    Skrevet af Claus Waldersdorff Knudsen
  5. Så oldnordisk er politiets it-miljø: Nostalgisk gensyn med 1980’erne

    6 comments.
    Last update 7 timer 15 minutter
    Skrevet af Simon Justesen
  6. Domæne-forening: Lov om .aarhus og .cph var for tynd

    9 comments.
    Last update 8 timer 6 minutter
    Skrevet af Jarle Knudsen
  7. ACTA er i orden!

    51 comments.
    Last update 10 timer 39 minutter
    Skrevet af Jarle Knudsen
  8. It-advokat: Nu går grænsebommene ned over internettet

    10 comments.
    Last update 12 timer 25 minutter
    Skrevet af Niels Elgaard Larsen
Mere debat »

Information

  • Kontakt redaktionen
  • Job- og annoncesalg
  • Teknisk support
  • Om Version2
  • Brugerbetingelser
  • Privatlivspolitik

Aktuelle emner

  • Agil udvikling
  • Android
  • Bruttolønsordning
  • Business Intelligence
  • Cloud computing
  • Digitaliseringsstyrelsen
  • HTML5
  • Harddisk-priser
  • IE9
  • Intranet
  • It-sikkerhed
  • Kindle Fire
  • Multimedieskat
  • NemID
  • OS X Lion
  • Open source CMS
  • Projektledelse
  • Scrum
  • Sharepoint intranet
  • Storage
  • Ubuntu 11.10
  • Virtualisering
  • Windows 8
  • Windows Phone 7
  • iOS 5
  • iPhone 4S

Tjenester

  • Android-app
  • iPhone-app
  • RSS-feeds
Følg @version2dk
Få it-nyheder og blogs hver dag med Version2's nyhedsbrev.

Version2 udgives af

  • Mediehuset Ingeniøren A/S work Skelbækgade 4 1717 København V
  • Tlf. work 33265300