1. december: Hvorfor køre SCRUM, når du allerede ved, hvad du vil ha’?

Det kan være, at du som kunde, udvikler, projektleder eller
stakeholder på et softwareudviklingsprojekt undrer dig over, at I bliver anbefalet at køre SCRUM, altså en agil udviklingstilgang. I har måske allerede beskrevet den ønskede løsning med user stories, screenshots, kravspecifikationer og integrationsbeskrivelser, så nu skal det ”bare kodes”. Designprocessen har I været igennem, og du ser ikke nogen grund til at ”åbne op for posen” i forbindelse med udviklingen af løsningen. SCRUM kan derfor virke uhensigtsmæssig i forhold til den kodeopgave, I står foran. Her er tre argumenter, du alligevel bør overveje.

Hvad er SCRUM?

Først vil jeg kort ridse op, hvad SCRUM er for en udviklingsmetode. SCRUM tager udgangspunkt i, at udvikling af software kan være en kompliceret og uforudsigelig proces i modsætning til klassiske projektmodeller som f.eks. vandfaldmodellen. SCRUM bygger på selvorganiserende teams, der er fokuseret på at levere den højest mulige forretningsværdi på kortest mulig tid. Udviklingsforløbet er delt op i sprints af 2-4 ugers varighed. Sprintene afsluttes med en demonstration af den nyudviklede funktionalitet og kan efterfølgende tages i brug af brugerne, hvis der er ønske om dette. Efter endt demonstration planlægges næste sprint ved at udvælge de nye ønsker og krav, som er højest prioriteret af kunden, typisk baseret på den værdi det giver forretningen.

Tekst og screenshots er ikke altid nok

Som konsulent i et udviklingshus oplever jeg ofte, at kravspecifikationen og screenshots ikke altid er tilstrækkelige i forhold til at beskrive brugernes ønsker til systemet. Wireframes, prototypes og mock-ups kommer tættere på, og der er derfor behov for at have en løbende dialog udvikler og bruger imellem. Så kan I udvide og ændre løsningen i  takt med at I får mere indsigt. I mange tilfælde er de beskrevne ”krav” slet ikke forkerte, de er bare ikke fyldestgørende nok og indbefatter typisk en masse indforstået viden, som ikke lader sig overlevere på tekstform.

Verden forandrer sig

Det kan også være, at jeres beskrivelse faktisk er 100 % dækkende, forstålige for dem der skal udvikle løsningen og tilpasset jeres brugere og kunder. Men er den også det om 3-6 måneder? Kravene til en løsning ændrer sig over tid, det kan være, fordi jeres kunder efterspørger nye produkter og services, fordi brugerne ændrer adfærd, fordi det lovmæssige eller juridiske grundlag ændrer sig, fordi nye forretningsmuligheder opstår, som I ønsker at forfølge eller noget helt tredje. Konklusionen er, at verden er foranderlig, og dette bør jeres udviklingsmodel også være.

Spar penge – stop, når det er godt nok

Et sidste argument for at bruge en agil tilgang til softwareudvikling er, at I kan spare penge. 64 % af funktionaliteten i software bliver kun benyttet sjældent eller aldrig (kilde: Jens Østergård). En grund til dette er, at når analyse og designarbejdet gennemføres i en virksomhed, så er brugerne omhyggelige med at få alle krav og ønsker til løsningen med, da det som oftest er deres eneste chance. Derfor introduceres en masse funktionalitet, som ”kunne være rar at have, hvis nu…”, men i realiteten viser det sig ofte, at det sjældent bliver benyttet eller i værste fald aldrig. Med en agil tilgang, vil I løbende kunne indsamle ønsker og krav, og I vil have muligheden for at stoppe, når det er godt nok. Tænk, hvis I kunne spare 64 % på jeres næste softwareudviklingsprojekt!

Der er derfor god grund til at køre SCRUM eller en agil tilgang til softwareudvikling, selvom du er 100% sikker på, hvad du vil have ved projektopstart.

Steven Mountfield
Vertica A/S

1 kommentar »

Skriv et svar

Udfyld dine oplysninger nedenfor eller klik på et ikon for at logge ind:

WordPress.com Logo

Du kommenterer med din WordPress.com konto. Log Out / Skift )

Twitter picture

Du kommenterer med din Twitter konto. Log Out / Skift )

Facebook photo

Du kommenterer med din Facebook konto. Log Out / Skift )

Google+ photo

Du kommenterer med din Google+ konto. Log Out / Skift )

Connecting to %s