Hvad er DSDM?
Metoden til dynamisk systemudvikling (DSDM) er en agil ramme for projektlevering, som først blev introduceret i 1994 og på det tidspunkt blev brugt til softwareudvikling. Den var tænkt som en forbedring af hurtig applikationsudvikling (RAD), der prioriterede hurtig prototyping og iteration baseret på brugerfeedback. Som med mange agile metoder til projektlevering bevægede DSDM's agile projektrammeværk sig med tiden fra at være en softwarespecifik løsning til at blive et mere generelt projektstyringsværktøj.

Elementer i metoden til dynamisk systemudvikling omfatter:
- Adskiller sig fra andre metoder ved at være baseret på et stærkt fundament og solid styring
- En inkrementel, iterativ tilgang til fremskridt
- Bruger- eller kundefeedback er afgørende for løbende forbedringer
- Er baseret på stramme begrænsninger for omkostninger, kvalitet og tid
- Prioriterer omfanget efter Skal have, Bør have, Kan have eller Vil ikke have
Ud over selve metoden førte DSDM også til oprettelsen af DSDM Consortium i 1994. Softwareingeniører og andre eksperter gik sammen for at udvikle og forbedre rammeværket som et gyldigt alternativ til de mere almindelige metoder til hurtig applikationsudvikling. På det tidspunkt omfattede gruppen repræsentanter fra blandt andre British Airways, American Express, Oracle, Logica, Data Sciences og Allied Domecq. Gruppen har siden fået et nyt navn og går nu under navnet Agile Business Consortium.
DSDM-håndbogen blev gjort gratis at se og bruge online i 2014.
Have an account? Log In
DSDM over for RAD over for agile
RAD-metoden var særdeles populær i begyndelsen af 1990’erne som en systemudviklingsmetode til softwareudvikling og andre IT-projekter. I denne periode skete der et skift fra den traditionelle brugeroplevelse med “grøn skærm” til de grafiske brugergrænseflader, som nu er blevet synonyme med al teknologi. Denne ændring betød, at udviklingscyklussen også kunne ændres ved at bruge denne nye type visuelle brugergrænseflade til kommunikation, hurtig prototyping og iteration.
RAD-metoden var en noget kaotisk agil systemudviklingsmetode. Den havde ingen enkelt, alment accepteret tilgang eller definition. Agile DSDM var en mere struktureret tilgang til denne type softwareudviklingsmodel. Metoden til dynamisk systemudvikling havde et stærkt fokus på tids- og omkostningsbudgetter gennem streng prioritering af omfanget. Den prioriterer også kommunikation (og de efterfølgende handlinger) mellem alle interessenter.
DSDM er ikke kun stram med hensyn til deadlines og budget, men har også en tendens til at følge en fast rækkefølge af begivenheder: før-projektfasen, projektets livscyklusfase og efter-projektfasen. RAD-metoder til softwareudvikling handler i højere grad om arbejde i fri form, hvor kreativitet og selvstændighed får frit spil, selv når det sker på bekostning af udtømning af ressourcer.
Scrum over for DSDM
Scrum og DSDM har mange ligheder, men også nogle få vigtige forskelle. Nogle af dem handler blot om terminologi. DSDM opdeler eksempelvis arbejdet i “udviklingsaktiviteten” (AKA udviklingsfasen) og “den fremspirende løsning” (AKA resultatet). I Scrum kaldes resultatet derimod den “potentielt frigivelsesklare inkrement”.
Begge metoder har lister over delopgaver, der færdiggøres på baggrund af overholdelse af stramme deadlines. Begge metoder arbejder også hen imod et færdigt projekt, hvilket Scrum markerer, når projektet når “Definitionen på færdig”. Der er dog ikke noget specifikt tidspunkt i projektet, hvor denne “Definition af færdig” aftales. Dette er en vigtig forskel mellem Scrum og DSDM.
I DSDM er der en fast fase, hvor definitionen af arbejdet (og det færdige arbejde) aftales: projektets fundamentfase. Det sker relativt tidligt, hvilket nogle gange kan betyde, at endnu ikke underbyggede antagelser farver planlægningsprocessen. For at tage højde for dette skal definitionen af “færdigt” arbejde gennemgås regelmæssigt i løbet af projektets livscyklus. Et andet konfliktpunkt er, at teamledere skal undgå omfattende design på forhånd (BDUF), som i højere grad er et kendetegn ved vandfaldsmetoder end ved agile metoder.
DSDM-principper
De agile DSDM-principper er den styrende kraft bag hvert projekt. Der er i alt 8 principper.
- Fokusér på virksomhedens behov
- Lever til tiden
- Samarbejd
- Gå aldrig på kompromis med kvaliteten
- Opbyg trinvist fra et solidt fundament
- Udvikl iterativt
- Kommunikér kontinuerligt og tydeligt
- Demonstrér kontrol
DSDM-teknikker og -praksisser
Det, der får DSDM til at skille sig ud fra andre systemudviklingsmetoder, er følgende teknikker og praksisser.
Tidsafgrænsning: DSDM overholder strenge tidsfriststandarder. For at gøre dette skal man opdele hele projektet i mindre elementer, som hver har et fast budget og en fast tidsramme. For at navigere i dette prioriteres kravene. Hvis tiden eller pengene er ved at slippe op, fjernes krav med lavest prioritet. Et færdigt projekt består derefter kun af de mest essentielle krav.
MoSCoW: Dette er de prioriteringsgrupper, der bruges til at rangordne elementer fra højest til lavest betydning. Prioriteringsgrupperne er Skal have, Bør have, Kan have og Vil ikke have. Konfigurationsstyring hjælper med at håndtere alle disse konkurrerende leverancer, som ofte udvikles på samme tid.
Modellering og iterativ udvikling: Modellering hjælper med at visualisere forskellige aspekter af projektet undervejs. Dette hjælper med at præsentere hvert element under udvikling og muliggør iterativ udvikling ved at give regelmæssige tilbagemeldinger og implementere forbedringer.
Prototypning: Som med mange agile metoder er prototypning afgørende for at afprøve projektet på et tidligt, konceptuelt stadie. Det er en måde at kortlægge de grundlæggende funktioner på, opdage tydelige svagheder og give brugerne mulighed for at afprøve softwaren.
Workshopper: Brugere og interessenter samles for at diskutere krav, problemer, resultater og test. DSDM er afhængig af et højt niveau af brugerinteraktion helt fra begyndelsen. Test er enormt vigtigt for DSDM, da det sikrer resultater af høj kvalitet.
More Articles
DSDM-roller
Enhver agil systemudvikling vil have en liste over roller, der skal udfyldes. Det gælder også DSDM. Ifølge deres håndbog er dette de vigtigste roller i ethvert DSDM-miljø.
1. Eksekutiv sponsor (”projektforkæmperen”) - Brugerorganisationen og/eller kunden stiller en person til rådighed for denne rolle. Denne person kan også tildele midler og ressourcer efter behov. Vedkommende har det ”sidste ord”, når det gælder beslutningstagning.
2. Visionær - Med konkrete målsætninger og en forståelse af brugerens forretning indleder den visionære projektet ved tidligt at fastlægge de højest prioriterede krav og lede teamet på baggrund af dette.
3. Ambassadørbruger - En ideel ”testbruger”, der bringer brugerfællesskabets synspunkt ind i projektet. Vedkommende bliver en vigtig kilde til tilbagemeldinger gennem hele processen.
4. Rådgiverbruger - En anden type bruger, der bør bidrage med vigtige perspektiver til det aktuelle projekt. Vedkommende kan have unik indsigt eller anden ekspertise, som gør personen til den ideelle kandidat.
5. Projektleder - En projektleder er enhver, der leder det overordnede projekt.
6. Teknisk koordinator - Vedkommende designer systemarkitekturen og er ansvarlig for kvalitetskontrollen af alle tekniske elementer.
7. Teamleder - Lederen af teamet, som er ansvarlig for koordinering og for at fremme samarbejde.
8. Løsningsudvikler - Håndterer systemkrav, modellerer systemet, udvikler den leverede kode og skaber prototyper.
9. Løsningstester - Tester produktet og leverer kommentarer og dokumentation, når der opstår fejl. Vedkommende tester også igen, efter at rettelser er implementeret.
10. Referent - Registrerer krav, aftaler, beslutninger og alle andre nyttige oplysninger om projektets fremdrift.
11. Mødefacilitator - Vedkommende har ansvaret for at motivere og forberede workshoppen, så fremdriften forbliver ensartet og stabil. Personen skal være en fremragende kommunikator, der holder alle på rette spor.
12. Specialistroller - Dette er roller, der udfyldes af specialister inden for deres fagområde eller branche, og som yder ekstra støtte afhængigt af projektets behov. De kan variere fra projekt til projekt og fra team til team. Sådanne roller kan omfatte forretningsarkitekt, kvalitetschef, systemintegrator og flere.
Råd til DSDM-projektstyring
Disse råd kan hjælpe med at få mest muligt ud af dit DSDM-projekt, selvom alle agile systemer også kan drage fordel af at anvende dele af denne viden.
1. Den øverste ledelse og alle medarbejdere skal forstå og bakke op om den valgte metode til et projekt.
2. Teamet, der leder projektet, skal forpligte sig til brugertest, tilbagemeldinger og involvering gennem hele processen – fra idéfase til lancering.
3. Der skal være et stabilt og bemyndiget kerneprojektteam. Teamets medlemmer skal have beslutningskompetence for at sikre, at processen ikke bliver fastlåst i unødigt indviklede forslag- og godkendelsesprocesser. Teamet skal også have alt, hvad det behøver for at fungere, såsom den rette teknologi, et sundt udviklingsmiljø, projektstyringsværktøjer og mere.
4. Der skal være et støttende og proaktivt forhold mellem kunden og leverandøren, uanset om projekterne udvikles internt eller udliciteres.
5. Teamet skal udvise mod, når det handler om ærligt at prioritere projektets behov og skrotte lavt prioriterede punkter efter behov. Sådan holder man tidsplanen og budgettet.



