Systemudvikling

Hvad er systemudvikling

Systemudvikling (eng.: systems engineering) vil sige ikke bare at udvikle tekniske løsninger, men hele processen omkring at skabe værdi for kunden og lede udviklingen af it-udviklingsprocesser. Man kan sige, det er læren om it-projektledelse.

Vandfald, iterativ eller agil?

En traditionel tilgang eller måde, man kan styre it er gennem vandfaldsmetoden. Vandfaldsmetoden hedder således, fordi den minder om et vandfald, hvor vandet løbet nedad. Modellen er let at forstå, overskue og styre efter, og det er typisk sådan at efter hvert trin skal foreligge et produkt, man kan forlange penge for. Den er også enkelt at lave tidsplaner efter.

Ulempen er, at den ofte inddrager slutbrugernes ønsker på et meget sent tidspunkt.

Vandfaldsmodellen.png
Kilde: Wikipedia.org

Se også om

En anden er den iterative metode. Iterativ betyder gentagen, altså man bliver ved med at løbe rundt i modellen Planlæg, analyser, test og så videre, indtil man har det ønskede resultat.

Kenmathiasenokt2016a.png

Kilde: Kenn Mathiaasen og Aarhus Universitet, au.dk

Opgave: Bruger I selv projektstyring når I skal arrangere en fest, en rejse eller lign. Hvordan gør I? Kunne man bruge vandfaldsmodellen?

Refleksion

Opgave: Prøv at søge på ord som PolSag eller Amanda eller se nedenstående links. Hvad handler sagerne om? Hvordan blev de styret? Hvorfor lykkedes projekterne ikke?

Agile metoder og Scrum

Agil betyder i bevægelse. Det er meget dynamiske metoder, hvilket betyder, de er fleksible overfor ændringer. Hvis brugerens ønsker ændres eller nogle teknologiske eller politiske forudsætninger ændres, så kan man hurtig ændre projektet?

Spørgsmål: Er vandfaldsmodellen fleksibel over for ændringer?
Spørgsmål: Lectio, ændres forudsætningerne for systemet ofte eller kun sjældent?
Spørgsmål: Online computerspil, skal firmaerne bag være meget åbne over for brugernes ønsker eller skal de bare levere hvad de selv synes?
Spørgsmål: Hvorfor kan iterative, agile være bedre? Argumenter!

De agile metoder udspringer alle af det agile manifest (Læs mere hos Advanz).

Ordet Scrum refererer til Scrumage, det møde, rugby-spillere har inden kampen for at sætte fokus og opildne til teamspirit.
Scrum er en metode, der indeholder nogle møder, roller og dokumenter.

Roller

  • Product-owner - den, der skal repræsentere kunden
  • Scrum-master - den der skal guide teamet igennem opgaven og brugen af SCRUM
  • Udviklingsteam - det lille selvkørende team, der skal løse opgaven.

Sprints

Et sprint er en periode, fx 4 uger, hvor udviklingsteamet arbejder systematisk med at udvikle det, der er defineret under sprint planning meeting og det, som giver kunden mest værdi.

Man styrer efter et Sprint-burndown-chart

Se video om Accellright om Sprint Burndown Charts.

Scrum-metoden, kort forklaret

Product owner er repræsentant for kunden. Denne skaber en product backlog, det vil sige en liste over kundens ønsker, formuleret som User Stories. Udviklingsteamet kan bestå af 5-7 udviklere og teamet skal indeholde alle nødvendige kompetencer, for at kunne gennemføre et sprint, altså en periode, fx 4 uger.

Nu går udviklingsteamet i gang, startende med et sprint planning meeting, hvor de beslutter, hvad næste sprint skal indeholde. Et sprint er en periode, fx 4 uger, hvor man arbejder fokuseret på få user stories og hele tiden arbejder med det, der giver mest værdi for kunden. Scrum-masteren hjælper og vejleder med at overholde metoden, men er ikke traditionel projektleder. Der skal altid sluttes med noget der virker. Kunden er ikke interesseret i andet - ikke udvikle funktionalitet, der ikke skal bruges - YAGNI, som man siger i "Scrum-sprog", You ain't gonna need it"!

Man styrer projektet i forhold til et scrum burndown-chart.

Hver dag startes med et daily Scrum-meeting. Det afholdes stående, for at holde det kort. Kunden er ikke interesseret i at betale for at udviklingsgruppen holder lange møder, kun at de leverer it-systemer, der virker. "Holder vi tidsplanen, hvem har problemer og i så fald, hvordan løser vi dem?" er i fokus.
Efter hver spring holder man et sprint retrospective, et møde, hvor man evaluerer, hvor godt det gik og kigger frem.

Spørgsmål: Hvorfor er denne metode agil?
Hvilke fordele og ulemper kan I se ved denne metode?
Kan metoden bruge til alle størrelser projekter?
Kan den mon bruges til andet end IT-projekter?

Ydeligere om systemudvikling og metode m.m.

Medmindre andet er angivet, er indholdet af denne side licenseret under Creative Commons Attribution-NonCommercial 3.0 License