Videre til indhold Videre til menunavigation

Du er her: Forside   Arkitekturkrav   Anbefalinger   Anbefaling 4. Anvend iterative udviklingsprocesser.

Anbefaling 4. Anvend iterative udviklingsprocesser.

Tænk stort og implementér småt. Brug iterative / fleksible / agile udviklingsprocesser – og spis elefanten i små bidder. Nedbryd opgaver i mindre komponenter og test løbende løsningerne i praktisk brug. Det giver bedre løsninger og mindre risiko for at overskride budget og tidsplan.

Beskrivelse

Iterative udviklingsprocesser og -metoder giver værdi af især to årsager: Vi kan ikke vide alt på forhånd og brugerne af en given løsning bliver inspireret undervejs i udviklingsforløbet, hvilket giver input til en bedre løsning.

Agile udviklingsprocesmetoder som fx Scrum, XP og Continuous Integration fokuserer på løbende justering af mål, krav og leverancer igennem flere iterationer. Med agile processer laver man løbende nye iterationer, hvor man kravspecificerer, udvikler og tester i forhold til kundens ønsker, der sagtens kan ændre sig undervejs i projektets levetid. Med agile processer vil man hurtigt kunne teste og implementere delløsninger og dermed hurtigere skabe værdi for kunden. 

Agile metoder skal ses i modsætning til fx den traditionelle "vandfaldsmetode", som fordrer definition af samtlige ønsker til funktionalitet i den færdige løsning ved en samlet kravspecifikation, inden man går i gang med selve udviklingen. 

Agile-tilgangen betyder dog ikke, at man må glemme at lave god og sammenhængende arkitektur eller glemme at dokumentere løsningerne. Arkitekturarbejdet er vigtigt for at sikre, at man kan bygge videre på det fleksibelt udviklede. 

De traditionelle udbudsformer er implicit baseret på vandfaldsmetode som paradigme. Derfor er det vigtigt at være opmærksom på, hvordan projektet passer med denne tilgang. Nogle mener at agile egner sig bedst til mindre projekter, men ikke store. Andre har den næsten modsatte opfattelse, at i små projekter kan man overskue kravene, mens det netop er det der er så svært i store projekter og som betyder at de ofte går galt. Derfor bør man i kravspecifikationen og i kontrakten fokusere på de forretningsmæssige krav uden at gå alt for detaljeret ind i de helt specifikke (fysiske) krav til løsningen. 

Scrum er en agil metode til udviklingen og udrulningen af komplekse produkter. Scrum bygger på gennemsigtighed, hyppige inspektioner og tilpasninger for at nå frem til målet. Scrum er 

  • en iterativ udviklingsproces, der generer
  • færdige delleverancer (”virksom software”) af funktionaliteten i et produkt ved at anvende
  • selvkontrollerende arbejdsgrupper, der er
  • tværfaglige i organisationen.

[ITST samarbejder pt. Med kammeradvokaten på det juridiske område hvor fokus vil være agile, men indenfor de rammer vi i det offentlige lever.]

Rationale

Erfaringerne viser at man ofte ikke kan planlægge og estimere omkostinger præcist med traditionelle tilgange som vandfaldsmodellen. Ganske enkelt fordi man ikke kan forudsige udviklingsbehovene præcist nok. Agile udviklingsmetoder giver ikke nødvendigvis billigere eller hurtigere projekter, men bidrager til at skabe værdi for kunden på et tidligere tidspunkt i udviklingsprocessen. Det sker bl.a. i kraft af hyppigere leverancer, som gør at man bliver langt mere præcist i forhold til kundens ønsker Med scrum sikrer man sig, at løsningen stemmer overens med forretningen og det aktuelle behov. Det kræver, at man løbende opdaterer sin business case, hvad der er en helt naturlig del af en agil proces, idet der løbende sker en forretningsmæssig prioritering. 

Nedenstående figurer illustrerer, hvordan værdien af at anvende Scrum udvikler sig:

Agilekurve1

Agile – hyppige leveringer

Vandfald – levering til sidst

Leveringerne i agile projekter sker med korte intervaller indtil produktet er færdigt. Det genererer hurtigere forretningsværdi end ved et vandfaldsprojekt, der typisk først skaber værdi i de sidste faser af projektet.

 

Agilekurve2

Agile – hyppige leveringer.

Vandfald – levering til sidst

Risikoen ved begge projekttyper er altid relativt høje i starten.  Men hvor de agile projekter har løbende kontrol i forhold til kundens ønsker og derved minimerer risikoen, har vandfalds-projekter først mulighed for at minimere risikoen hen mod slutningen af projektforløbet.

 

Agilekurve3

Agile – hyppige leveringer.

Vandfald – levering til sidst

Jo længere man kommer hen i et projekt, der benytter ”vandfaldsmodellen”, jo dyrere vil eventuelle ændringer også være. Derimod vil ændringer i et agilt projekt ikke påføre de samme omkostninger.

Gevinster:

  • Fleksibel udvikling der løbende kan tilpasses nye behov og erkendelser.
  • Mindre risiko for at overskride budget og tidsplan.
  • Bedre løsninger og produkter, højere kvalitet
  • Hurtigere frem til kørende løsninger.
  • Tilfredse kunder og interessenter.
  • Bedre ressourceudnyttelse.
  • Organisatorisk innovation, gladere medarbejdere.

Agile er specielt anvendelig i komplekse projekter, hvor det er svært at definere krav til slutproduktet tidligt i projektet.

Implikationer

  • Projekter bør nedbrydes i mindre opgaver og løsninger bør løbende testes i praktisk brug.
  • Kunde og leverandør bør være enige om en aftalemodel, hvor der ikke ligger en meget detaljeret kravspecifikation til grund.
  • Stiller anderledes krav til kontrakter med leverandører. 
  • Projektteamet bør være gearet til metoden. Der bør fx være en projektleder eller person med rillen som scrummaster, der kan sikre at metoden løbende anvendes – det er en særlig udviklingsstil, der er enkel at arbejde med, men som kræver en vis disciplin.
  • OIO arkitekturmetoden kan bruges som ramme for projekter der anvender fleksible metoder som agile såvel som vandfalds og spiralmetoder.

Erfaringer

Netstedet digitalisér.dk bygger på open source-komponenter og er udviklet med agil udviklingsmetode.

Information & ressourcer

Relationer

Trin i OIO arkitekturmetoden hvor man bør være særlig opmærksom på denne anbefaling

Arkitekturprincipper der understøttes af denne anbefaling:

Best practise anbefalinger der er beslægtede med denne anbefaling:

af MichaelBKSidst opdateret 31/03 2009 13:47

Bestil OIO EA kort

OIO EA kortet er et lille lamineret kort i brystlommeformat (10x13) med OIO EA metoden på den ene side og OIO EA reolen på den anden.

Det er godt at have i lommen, når du skal til møder. Ha' altid nogle ekstra med til dem, som du skal mødes med.

OIO EA kort i lomme

Bestil ved at sende mail til MBK@itst.dk.

Husk: Emne: OIO EA postkort. Skriv hvor mange du skal bruge og din adresse.

Du kan også downloade og printe/trykke selv. Download her.