Det er hårdt at være agil - men det er en god idé

JAOO, Århus: Der er mange indvendinger, når man går i gang med agil udvikling. Læs her hvordan de imødegås, så de agile fordele kan høstes i dit projekt

Artikel top billede

JAOO, Århus: "Tro ikke på dem, der siger, at det er nemt at anvende agile metoder."

Ordene kommer fra Henrik Kniberg, der beskriver sig selv som Agile coach og Javamand.

Det er efterhånden 7½ år siden at det agile manifest blev skrevet. Siden da har de agile tanker spredt sig og en række store virksomheder anvender udviklingsmetoder som Scrum, XP og andre der alle er baseret på den agile tankegang.

Det simple er svært

Principperne bag den agile tankegang er simple og enkle.

Det gælder om at levere kode, der lever op til forretningens behov. Koden skal udvikles i samarbejde med forretningen i små iterative udviklingsforløb, så ændringer i behov hurtigt opsamles og udviklingsplanen løbende kan ændres.

Det lyder simpelt, men det kan være svært at leve op til i praksis.

Ikke mindst fordi udviklere stadig er vant til at tænke i den traditionelle vandfaldsmodel.
Et tankesæt der betyder, at agile metoder stadig mødes med mange indvendinger, når man går igang med et agilt udviklingsprojekt.

Selvom det kan være besværligt, så anbefaler Henrik Kniberg på det kraftigste udviklere til at gå igang med de agile metoder.

Pessimisten og optimisten

I sin præsentation "What's hard about being an agile developer" på JAOO-konferencen gennemgik
Henrik Kniberg en række typiske indvendinger mod agile teknikker og gav eksempler på, hvordan de kan imødegås.

Et vigtigt element i et agilt projekt er retrospectives. Her evaluerer man løbende projektet og opsamler gode såvel som dårlige erfaringer med henblik på at gøre projektarbejdet bedre.

Pessimisten vil typisk sige, at den slags tager tid; tid der betyder, at man ikke kan kode.

Optimisten ser det som en mulighed for hele tiden at optimere udviklingsarbejdet og derved minimere spildtid.

Kontinuerlig kunde-feedback

En andet vigtigt element i agil udvikling er et tæt samarbejde med kunden.

For at undgå at et system ikke lever op til en kundes forventninger og behov, skal resultatet - kørende kode, ikke designdokumenter og lignende - af hver enkelt af de små korte udviklingsforløb præsenteres for kunden.

Her vil pessimisten indvende, at det tager tid med al den demonstration af delfunktionalitet og samtale med kunden. Tid der betyder, at man ikke kan kode.

Den optimistiske ser dog demoerne som en mulighed for at vise sit arbejde til nogle, der giver kvalificeret sparring og sammen kan udvikleren og kunden nå frem til det system, som kunden ønsker.

Så tag dog og bestem dig!

Et resultat af de mange demoer og samtaler med kunden er, at kravene til systemet løbende vil ændre sig. Derfor skal man være indstillet på løbende at ændre plan.

Her vil pessimisten brokke sig over, at kunden ikke kan bestemme sig, og at en detaljeret specifikation fra starten er bedre. De mange ændringer tager tid væk fra kodningen.

Optimisten ser derimod fremgangsmåden som den bedste for at ramme det som kunden ønsker: Et system, der opfylder kundens behov.

Henrik Kniberg sammenligner den traditionelle udviklingsproces, hvor man ufravigeligt følger en stor kravspecifikation fra start til slut ved kodningen af et system som at forsøge at ramme et bevægeligt mål med en kanonkugle.

I modsætning til det, så er en agil udviklingsproces mere som et målsøgende missil.

Vi har ikke tid til møder, vi skal kode

Der er en del møder i den agile udviklingsproces, hvilket kan frustrere udviklere.

"Møder er kedelige" og "vi skulle kode i stedet for" er nogle af de negative holdninger.

Modargumenterne til det er, at møder kun er kedelige, hvis de er ineffektive og at man ikke behøver en masse kode, men den rigtige kode. Møderne er med til at sikre, at man kun laver den nødvendige kode.

Ifølge Henrik Kniberg vil møderne typisk tage 5-10 procent af tiden, hvilket giver masser af tid til kodning.

Fokus på ren og simpel kode

I agil udvikling er det koden, der tæller. Man kan have nok så mange velskrevne analyse og design-dokumenter; hvis ikke koden er velfungerende, så har man fejlet.

Et mål for agil udvikling er simpel og "ren" kode. Det betyder, at koden ikke alene skal kunne bestå unit-test og andre test. Koden skal være nem at forstå, der må ikke være dubletter af koden og minimal kode er ønskværdigt.

Det betyder, at man jævnligt skal rydde op i koden, for at undgå at den bliver kompleks og uforståelig. Her er refaktorering et vigtigt element i den agile udvikling.

Pessisimisten vil typisk mene, at der ikke er tid til at holde koden ren. Modargumentet er, at ren kode er enkelt at holde ren og vedligeholde, hvorimod komplekse og uforståelige programmer er et helvede at vedligeholde.

"If it ain't broken, don't fix it" er et andet argument for ikke at refaktorere kode. Risikoen for at introducere fejl er for stor, lyder det fra pessimisten.
Her er modargumentet at automatiserede test som unit-test er med til at sikre, at refaktorering ikke introducerer fejl.

Endelig er der den opgivende holdning:"Det nytter ikke, hele kodebasen er noget lort alligevel."

Her er det ekstremt vigtigt at der ryddes op, da det øjensynligt står meget slemt til med koden.

Det kan gøre ondt, men vær ærlig

Henrik Kniberg oplevede at blive kaldt ind på et projekt, der var i vanskeligheder.

Projektet var et big-bang projekt, der havde deadline lurende et par måneder fremme.

Reelt havde projektet ingen ide om, hvor langt man var fra målet. Udviklerne betragtede deres opgaver som værende færdige, når de mente, at koden var færdigudviklet og koden checket ind i repositoriet.

Der var ingen test som integrationstest eller feedback fra kunden.

Ved at etablere en backlog over udeståender og ved at begynde at måle på den egentlige fremdrift i projektet, viste det sig, at systemet først kunne være færdig et år senere.

"Det er vigtigt at bevare tilliden i krisesituationer og det opnås bedst ved at være ærlig. De dårlige nyheder skal hellere fortælles tidligt frem for sent i forløbet," mener Henrik Kniberg.

Ved at ændre på planen, skære i scope og indføre trinvise releases af systemet, blev det samlede system leveret med 5 måneders forsinkelser i stedet for et helt år.

Det var en hård proces, men det var det værd i sidste ende.

Læses lige nu

    Event: Computerworld Cloud & AI Festival 2026

    Digital transformation | Ballerup

    Eksplosiv udvikling i cloud og AI kræver overblik og viden. Computerworld samler 3.000 it-professionelle, 70+ leverandører og 120+ talere om AI, infrastruktur, data, compliance og sikkerhed. To dage med viden og netværk. Tilmeld dig nu.

    16 & 17 september 2026 | Gratis deltagelse

    Netcompany A/S

    Data Management Consultant

    Midtjylland

    Netcompany A/S

    Operations Engineer til drift af Infrastruktur

    Københavnsområdet

    Udlændinge- og Integrationsministeriet

    Løsningsarkitekt til Kontoret Udviklingsprojekter i Udlændingestyrelsen

    Københavnsområdet

    Capgemini Danmark A/S

    Client Partner

    Midtjylland

    Navnenyt fra it-Danmark

    Pinksky ApS har pr. 1. maj 2026 ansat Dan Toft, 29 år,  som Rådgivende konsulent, Partner. Han skal især beskæftige sig med digitalisering med Microsoftplatformen. Han kommer fra en stilling som Microsoft 365 & SharePoint Specialist hos Evobis ApS. Han er uddannet datamatiker. Han har tidligere beskæftiget sig med Microsoft 365 og SharePoint udvikling. Nyt job

    Dan Toft

    Pinksky ApS

    Rethink Cybersecurity Advisory har pr. 1. juli 2026 ansat Michael Nyboe Engelrud som Associeret Partner & Senior Advisor. Han skal især beskæftige sig med spændingsfeltet mellem Informationssikkerhed og ansvarlig AI, Governance, Risk & Compliance og IT Beredskab. Han kommer fra en stilling som Principal Management Consultant hos Devoteam A/S. Han er uddannet AI Navigatør, certificeret i AI Transformation, Crisis Management med fundament i Computer Science. Han har tidligere beskæftiget sig med Ledelse, rådgivning, Databeskyttelse og Digital transformation. Nyt job

    Michael Nyboe Engelrud

    Rethink Cybersecurity Advisory

    Guardsix har pr. 1. maj 2026 ansat Louise Sara Baunsgaard som Global Marketing & Communications Director. Hun skal især beskæftige sig med at positionere virksomheden som et europæisk alternativ i en tid, hvor cybersikkerhed i høj grad handler om geopolitik. Hun kommer fra en stilling som Co-Founder og CMO hos Get BOB. Hun er uddannet Ba.ling.merc fra CBS og har desuden en Mini MBA i marketing. Hun har tidligere beskæftiget sig med marketing og kommunikation i ledende nordiske roller hos bl.a. Meta og Nets. Nyt job
    Elbek & Vejrup A/S har pr. 1. august 2026 ansat Gitte Lykke Holm som Senior Payroll Consultant. Hun skal især beskæftige sig med opsætning og implementering af 365Løn til Business Central. Hun kommer fra en stilling som BC/NAV seniorkonsulent. Hun er uddannet inden for informatik og data processing. Nyt job

    Gitte Lykke Holm

    Elbek & Vejrup A/S