Göm menyn

TDDI17 Programmeringsprojekt

Sprintar


Före sprint start

  • Scrum master: Uppdatera backlog vid behov (justera och lägg tillbaka stories som fått fail på acceptance test).
  • Kund: Förbered ev nya user stories (vid behov) och lägg dem i Backlog.
  • Grupp: Tidsestimera ev nya user stories i Backlog.
  • Kund: Gör ev en ny prioritering av alla user stories i Backlog.

Sprint start

  • Grupp: Välj ut en mängd user stories (i prioriteringsordning) så att den uppskattade summan av tider stämmer ungefär överens med den tillgängliga tiden för user stories denna sprint (ta hänsyn till förra sprints velocity vid beräkning av tillgänglig tid).
  • Grupp: Bryt ner valda user stories till tasks och skriv task-lappar.
  • Kund: Det är bra om kunden finns tillhands och kan svara på frågor då stories bryts ner till tasks (antingen på plats eller via telefon/chat).
  • Grupp: Tidsestimera ev alla tasks med Planning poker. Skriv den överenskomna tiden på respektive task-lapp. Om summan av tiden för alla tasks som ingår i en story är mycket större än den uppskattade tiden för storyn, kontakt kunden för en diskussion. Ska en annan story släppas från denna sprint? Ska storyns omfång (scope) definieras om? Ska prioriteringen av stories ändras? Allt är möjligt.
  • Scrum master: Placera lapparna för alla valda stories på scrumboard. Alla stories och deras tillhörande tasks placeras i kolumnen Not Started och sorteras i prioriteringsordning med högst prioritet överst.
  • Grupp: Kör ett kort scrum-möte för att avgöra vem som börjar med vad. Varje gruppmedlem (eller par om man kör parprogrammering) väljer en task, och skriver sitt namn på lappen och flyttar den till kolumnen Started.
  • Scrum master: Ritar upp ny burn-down chart, se nedan.

Dagligt scrum-möte

Mötet äger rum i början och/eller sluter av varje planerad utvecklingsdag.
  • Scrum master leder mötet och fördelar ordet.
  • Grupp: Varje gruppmedlem besvarar kortfattat tre frågor:
    1) Vad har jag gjort sedan förra mötet?
    2) Vad åtar jag mig att göra till nästa planerad scrum möte?
    3) Finns det något som hindrar mig i mitt åtagande (behöver jag hjälp med något)?
  • Grupp: Alla gruppmedlemmar uppdaterar tidsuppskattningarna av de tasks de jobbar med. Om en task är färdig flyttas den till kolumnen Done. Om alla tasks för en user story är klara flyttas lappen med storyn till kolumnen Ready for Review.
  • Scrum master: Uppdaterar burn-down chart så att den stämmer med de nya återstående tiderna.
  • Scrum master: Om aktuell status i burn-down chart avviker väsentligt från ideallinjen, ska kunden kontaktas och informeras om läget. Tänkbara resultat från denna kontakt kan t.ex. vara att en eller flera user stories tas bort från denna sprint (eller läggs till om utvecklingen gått bättre än förväntat). Om så är fallet ska burn-down chart uppdateras så att den speglar det nya läget.

Scrum board

En scrum board ritas upp på en whiteboard eller skapas digitalt i t ex Trello och består av en progresstabell för user stories och tasks.
  • Kolumnerna är: Not started, Started, Ready for Review, Done. Det finns en rad per user story.
  • Lappar med tasks förflyttas mellan Not Started till Started till Done.
  • Lappar med User stories står kvar i kolumnen Not Started tills alla tillhörande tasks är Done, och flyttas sedan till Ready for Review och sedan till Done när kunden godkänt.

Burn down chart

Diagrammet ska spegla den totala uppskattade tiden för alla tasks som ännu ej flyttats till kolumnen Done.
  • X-axeln speglar antal arbetsdagar/arbetspass som ingår i denna sprint.
  • Y-axeln speglar summan av tidsuppskattningarna för alla tasks som hör till utvalda stories.
  • Burn-down chart uppdateras efter varje scrum möte av Scrum master.

Sprint end

I slutet av varje Sprint hålls en Demo med kund och en Retrospective med gruppen.
Demo
Allokera en timme för demon. Schemalägg med kunden i god tid.
  • Grupp: Dema systemet för kunden, och gå igenom alla user stories som gjorts under sprinten.
  • Kund: Avgör om det blir pass/fail för varje user story. User stories som fått fail skrivs om och läggs tillbaka i backlog.
Retrospective
Allokera en timme för retrospective. Äger rum efter demon (kunden deltar ej).
  • Scrum master: Gå igenom sprinten som ägt rum och påminn om bra och dåliga saker som inträffat.
  • Grupp: Varje gruppmedlem (inklusive scrum master) skriver (under tystnad) post-its med Plus (saker som gått riktigt bra under sprinten) och Delta (saker som inte fungerat under sprinten).
  • Scrum master: Be varje medlem komma fram och sätta upp sina post-its på tavlan och kortfattat förklara vad som menas. Ingen diskussion.
  • Scrum master: gå igenom alla positiva post-its på tavlan, summera och be om eventuella kompletterande kommentarer.
  • Scrum master: gå igenom alla Delta post-its på tavlan, summera och diskutera igenom det hela med gruppen. Vad kan vi som grupp göra för att undvika dessa Delta?
  • Grupp: Rösta om vilka Deltan som gruppen ska jobba med att förbättra under nästa sprint (tre röster per gruppmedlem). Tre Deltan väljs ut. Lapparna för dessa Deltan placeras på gruppens whiteboard. Dessa tas också upp för diskussion vid nästa Retrospective. Gick det bättre nu?
  • Scrum master: Behåll lapparna för uppföljning.
  • Scrum master: Efter retrospective rensar scrum master upp scrum board för att göra plats för nästa sprint, och beräknar den aktuella sprintens hastighet (velocity). Denna hastighet används för att avgöra den maximala totaltiden för user stories som gruppen tar sig an vid nästa sprint. Scrum master fyller också i sprintformuläret och lämnar in till läraren.

Sidansvarig: Annika Silvervarg
Senast uppdaterad: 2021-06-28