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.

Computerworld Events

Vi samler hvert år mere end 6.000 deltagere på mere end 70 events for it-professionelle.

Ekspertindsigt – Lyt til førende specialister og virksomheder, der deler viden om den nyeste teknologi og de bedste løsninger.
Netværk – Mød beslutningstagere, kolleger og samarbejdspartnere på tværs af brancher.
Praktisk viden – Få konkrete cases, værktøjer og inspiration, som du kan tage direkte med hjem i organisationen.
Aktuelle tendenser – Bliv opdateret på de vigtigste dagsordener inden for cloud, sikkerhed, data, AI og digital forretning.

It-løsninger | Online

Kod smartere med GitHub Copilot

Få styr på GitHub Copilot og skriv bedre kode hurtigere. Se hvordan Copilot løser opgaver, sparrer på fejl og løfter komplekse workflows. Oplev live demo og lær hvordan du kommer i gang med licenser og opsætning.

Sikkerhed | København

Cyber Threats

Få teknisk indsigt og konkrete løsninger til at modstå moderne cyberangreb. Lær af fejl, stop angreb i tide og byg systemer med ægte resiliens. Fokus på lavniveau-detektion, netværksovervågning og hurtig gendannelse. Deltag i Cyber Threats fra...

It-løsninger | København V

Platform X 2026: Forretning, teknologi og transformation

Mød verdens stærkeste og mest effektive platforme der driver den digitale transformation samlet i København - og dyk ned i den nyeste teknologi.

Se alle vores events inden for it

Akademikernes A-kasse

Data Engineer til Akademikernes A-kasse

Københavnsområdet

Nextway Software A/S

Software Architect

Midtjylland

Forsvaret

Informationssikkerhedsofficer

Københavnsområdet

Navnenyt fra it-Danmark

Renewtech ApS har pr. 1. april 2026 ansat Boris Sudar som Senior IT Specialist. Han skal især beskæftige sig med at sikre, at Renewtech cloudbaseret infrastruktur fortsætter på sit højeste niveau, mens han også skal drive system udvikling. Han kommer fra en stilling som Senior IT Specialist hos Eurowind Energy. Han har tidligere beskæftiget sig med Microsoft 365, Intune og sikker endepunktsstyring for hybrid og cloudbaseret infrastrukturer. Nyt job

Boris Sudar

Renewtech ApS

Jakob Dirksen, SVP, Nordic Customer Delivery & Operations hos GlobalConnect, er pr. 1. maj 2026 forfremmet til EVP, Infrastructure Delivery & Operations. Han skal fremover især beskæftige sig med at lede Infrastructure Delivery & Operations, der har til opgave at drive og udvikle fibernetværket på tværs af virksomheden. Forfremmelse

Jakob Dirksen

GlobalConnect

Pentos har pr. 2. juni 2025 ansat Jonas Kyhnau som Seniorkonsulent. Han skal især beskæftige sig med at rådgive virksomheder om HR digitalisering og implementering af SAP SuccessFactors og SmartRecruiters. Han kommer fra en stilling som Seniorkonsulent og PMO lead hos Gavdi. Han er uddannet Cand.merc Human Resource Management fra Copenhagen Business School. Han har tidligere beskæftiget sig med med Onboarding, Employee Central (Core HR). Nyt job

Jonas Kyhnau

Pentos

Den danske eID-virksomhed Idura har pr. 1. april 2026 ansat Kari Lehtimäki som Country Manager. Han skal især beskæftige sig med at styrke kendskabet til Iduras løsninger i Finland samt fremme samarbejdet med økosystemet omkring det finske Trust Network. Han kommer fra en stilling som Salgschef hos Telia Finland. Han er uddannet uddannet civilingeniør (M.Sc. Tech.) og medbringer ledelse, markedsindsigt og praktisk erfaring. Han har tidligere beskæftiget sig med salg og forretningsudvikling inden for Telias trust services-forretning. Nyt job

Kari Lehtimäki

Den danske eID-virksomhed Idura