8.5 Round-trip

Round-trip går i sin enkelthed ud på at man designer og implementerer sit system sideløbende, som alternativ til at designe systemet fuldt ud, og implementere bagefter.

Det har tidligere været forventet at et system er designet og dokumenteret fuldt ud, før man begynder at implementere. Det er nødvendigt hvis det er et stort system, som skal deles ud til mange udviklere, og de skal være enige om hvad de laver. Project MAOV derimod er lille, og udvikles af kun to personer der arbejder tæt sammen, så der er ikke nogen kommunikationskløft når man er i tvivl om hvordan noget skal laves.

Det har vist sig at det er meget svært at designe alle detaljerne inden man implementerer, da man på det tidspunkt ikke kender alle detaljerne og begrænsningerne/mulighederne i teknologien. Derfor er det smartere at lave et round-trip hvor man designer lidt, implementerer lidt, designer lidt, implementerer lidt o.s.v.

Typisk vil man i starten designe systemet i grove træk, for at få et ensrettet grundlæggende design. Det har vi gjort i afsnittet "designovervejelser". Derefter laver man en vertikal prototyping ud fra designovervejelserne, for at se om de holder. Der vil typisk være rettelser til design-retningslinierne, efter de er forsøgt anvendt første gang, og det et vigtigt at få rettelserne lagt på plads. Med nogle gode retningslinier, kan man gøre implementeringen væsentligt nemmere.

Med round-trip bygger man mere og mere på systemet, og designer detaljerne når man når til dem. Det minder unægteligt meget om spiral-modellen for udviklingsparadigmer, men i tilfældet med roundtrip vil analysefasen grundlæggende være afsluttet. På den måde sikrer man at projektet ikke drejer i en forkert retning pga. teknologiske muligheder, men holder sig til det system man har analyseret sig frem til.

De to illustrationer skal vise det samme, at man skifter mellem design og implementering flere gange. Spiralen illustrerer at systemet bliver større og større, jo længere man kommer, mens den anden model viser skiftene i forhold til tiden på en tidsplan. Man vil starte med design, skifte nogle gange for at ende med at implementere det sidste. Som illustrationen viser vil design-delen være størst i starten, for at udfases og implementeringen bliver den dominerende.

Round-trip er en mere løs styring, og man kan nemt komme til at glemme at dokumentere designet undervejs. Det skal man være opmærksom på. Der er dog ikke den store forskel på roundtrip og udvikling med faste faser med lidt iteration, så i realiten er det bare et nyt navn for det man hele tiden har gjort.