Processen

Kursens upplägg härmar avsiktligt lättrörliga eller agila processer, främst Kanban och Scrum. Under projektdelen (fas 3) skall du och din projektgrupp själva lägga upp en plan, följa upp och revidera den, etc. Fram till dess kommer ni att öva genom att arbeta på motsvarande sätt med kursen. Vi betraktar kursen som ett projekt vars slutmål är att du skall vara godkänd med det betyg som du siktar på.

Steg 1: Sätt ditt personliga mål

Vilket betyg vill du ha? Du styr själv vilket betyg du vill uppnå -- vilken nivå av insikt vill du nå, etc.? Målen på nivå 4 och 5 speglar djupare insikter eller högre kvalitet med avseende på olika kursmål. Om du vill nå betyget 3, 4 eller 5 måste du bestämma dig för det och aktivt arbeta för att nå dit. Fatta ett beslut. Du kan ändra dig senare. För att minska stressen kan du redan nu planera in en tidpunkt (t.ex. 1:a oktober) för att eventuellt revidera beslutet.

Steg 2: Styrfart

Hur blir man godkänd på en kurs? Man kan inte arbeta på att "bli godkänd", det är för flummigt och abstrakt. Man måste bryta ned detta "problem" i mindre beståndsdelar (delproblem) och kanske även bryta ned dessa ytterligare för att nå tillräckligt konkreta proble/uppgifter som faktiskt går att tackla.

Du har redan fattat beslut om vilket betyg du vill ha. Då vet du också vilka mål du måste klara av. Det är dina hyfsat konkreta uppgifter.

Exempel: Låt säga att du satsar på betyg 7 och att det omfattar totalt 42 mål. Du tittar igenom målen och ser att 8 är knutna till projektet. Ytterligare 4 mål verkar rimliga att redovisa i samband med projektet (så vitt du förstår) eller via andra aktiviteter. Då kvarstår 30 mål som skall redovisas under fas 1 och 2.

Det är totalt 5 sprintar under fas 1 och 2. 30 genom 5 är 6. Det betyder att du måste klara av 6 mål varje sprint för att ha 12 kvar när projektet börjar.

6 är den styrfart (velocity) som du skall ha i snitt per sprint för att komma i mål. Det betyder 3 mål per vecka och i snitt 1,5 mål per labbtillfälle. Det är ganska troligt att du inte kommer att redovisa 1,5 mål varje labbtillfälle, eller ens 3 mål varje vecka. Verkligheten fungerar ofta så att vi gör framsteg på flera saker, och sedan klarar av många på ett bräde. Om du gjorde en graf där Y-axeln var antal återstående mål och X-axeln var tiden skulle det "idealiska" vara en rät linje med start i (0,30) och slut i (5,0). Verklighetens kurva kommer att se annorlunda ut.

En graf av detta slag kallas för en burndown chart, och du kommer att göra många sådana under kursens gång. En burndown chart är enkel och ger direkt en känsla för om det "går bra" eller inte -- kommer jag till slut att komma i mål på utsatt tid?

Burndown chart, från Wikipedia

Figur 1. Exempel på burndown chart.

I exemplet planerar vi utifrån förutsättningen att alla mål tar lika lång tid. Det är naturligtvis inte sant. Ett mer raffinerat sätt att planera tar varje uppgift (mål i detta fall) och tilldelar det ett antal "story points", som är ett relativt mått på hur lång tid man tror att den kommer att ta. Då kanske de 30 målen skulle motsvara 65 story points, och då skulle vår styrfart vara 13 istället för 6 (som motsvarar samma arbete, bara uttryckt i en annan enhet). Om man också för varje avklarad uppgift matar in dess "faktiska story points" får man återkoppling på sin egen skattning och kan justera för att man tenderar att underskatta svårigheter, etc. Man kan också planera med arbetstimmar istället för story points.

För dig som tycker att det mesta på kursen är nytt kan det vara vanskligt att försöka avgöra om ett visst mål är värt 1 eller 3 story points. Då är det bättre att planera i enheten avklarade mål, åtminstone till en början.

Steg 3: Vad skall jag göra denna sprint?

Så länge vi håller styrfarten behöver vi inte planera för vad vi skall göra resten av projektet (kursen), utan kan fokusera på den aktuella sprinten. Varje sprint skall du göra en inlämningsuppgift och det är utifrån den uppgiften du skall redovisa mål.

Detaljplanering är alltså att bestämma sig för inlämningsuppgift och mål. Man kan börja i båda ändor: vilka mål har jag kvar och vilken uppgift verkar passa bäst, eller vilka uppgifter finns det och vilka mål verkar passa bra för dem? I början av kursen har man många mål och få uppgifter så då lämpar det sig bättre att börja med att bestämma uppgift först. Förmodligen är det en bra idé att vara halvklar med uppgiften innan man funderar över vilka mål man kan redovisa utifrån den. (Uppgifterna är designade utifrån målen och man kan alltid få hjälp med den mappningen senare. Det finns ingen anledning att stressa över detta!)

Under första sprinten finns det bara en uppgift att välja mellan: lagerhanteringssystemet. Det gör det lätt att "välja". Om du följer SIMPLE-metodiken uppmuntrar den dig att göra en nedbrytning av specifikationen av uppgiften i delproblem etc., precis som kursen. Det betyder att du kan göra en separat plan för implementationen av lagerhanteringssystemet, som inte behöver bry sig om mål om du inte vill. Du kanske bryter ned lagerhanteringssystemet i 52 deluppgifter. Du och din partner lägger upp ett arbetsschema med 25 timmar under sprinten. Styrfart 52/25 = 2 deluppgifter per timme. Ett annat alternativ är att blanda mål och deluppgifter i samma plan.

Att lära sig att planera och följa upp planen är också en del av kursen så stressa inte över att det tar tid att göra. Det får ta tid. Det är också okej att man inte lyckas med sin plan hela tiden -- du är ju här för att öva. Om du inte är ärlig mot dig själv och andra i din planering lär du dig ingenting och vinner heller ingenting.

Steg 4: Uppföljning

En gång varje sprint skall du gå på ett uppföljningsmöte. Till detta möte skall du ta med dig åtminstone:

  1. Planeringen för den aktuella sprinten (inlämningsuppgiften)
  2. Burndown chart för den aktuella sprinten (inlämningsuppgiften)
  3. Burndown chart för måluppfyllnad hela kursen

Under uppföljningsmötet kommer vi att gå igenom den aktuella sprinten (hur har du planerat = vilka deluppgifter har du identifierat, vad har du klarat av, vad har du för styrfart, etc.) och takten för måluppfyllnad för hela kursen.

Tips! Om du använder Trello för planering, och någon annan digital tjänst för att rita burndown-charts så kan ni använda assistentens (eller din egen) laptop för att visa allting ovan. Vi tillhandahåller ett Google spreadsheet för att generera burndown-charts för kursen. Du kan kopiera eller ladda hem det för att få en skrivbar version.

På mötet närvarar en assistent och två kodpar, och varje par får tio minuter var på sig att presentera sina framsteg. Börja med att visa planeringen för den aktuella sprinten. Vilken uppgift jobbar ni med, vad har ni gjort, vad tänker ni göra härnäst? Fråga gärna om ni är osäkra på något i er egen planering. Om det andra paret jobbar med samma uppgift har de kanske också kommentarer eller tips! Visa sedan båda era burndown charts för den aktuella sprinten och förklara vilka mål ni har tagit och vilka ni planerar att ta. Återigen kan det andra paret också komma med tips på passande mål! Avsluta med att visa era burndown charts för hela kursen och säg något om er nuvarande styrfart.

OBS! Uppföljningsmötet är inte till för att "sätta dit" någon som det går dåligt för, utan för att hjälpa dig att komma vidare om det går dåligt! Assistenten är på din sida och har som uppgift att leda dig i rätt riktning innan det är för sent. Du lurar bara dig själv om du fejkar dina framsteg eller undviker mötena. Även om det känns som att det går bra för dig kan uppföljningsmötet också vara ett sätt att bekräfta att din planering är realistisk. Om du siktar på ett högre betyg kan du också få hjälp att hitta mål som passar din nuvarande uppgift.

Schemat för varje sprints uppföljningsmöte kommer att postas i Piazza. Där kommer det också finnas instruktioner för att lämna in burndown-charts (och annan planering) om du vill visa något på assistentens laptop.

Steg 5: Revidera planen

Ditt burndown chart visar trenden -- vad har du för styrfart, och kommer du att nå ditt mål? Kanske blir du sjuk en vecka och tappar därmed styrfart och måste planera in att komma ikapp? Kanske går det bättre än vad du trodde och du får smak på att sikta på ett högre betyg? Eller tvärtom.

I slutet av varje sprint är det läge att göra en liten kort postmortem som sammanfattar hur det gick och hur verkligheten avvek från din plan. Det är högst personliga reflektioner som kan hjälpa dig att planera bättre nästa gång. Är du tidsoptimist? Etc.

Verktygsstöd: Trello

Vi rekommenderar att du använder ett verktyg för att hantera ditt arbete. Trello är ett gratis verktyg för att arbeta med Scrum-liknande processer. I Trello hanterar du listor med uppgifter på ett "bräde" och flyttar uppgifter mellan olika listor för att hålla reda på vad som är klart, vad som ligger i din backlog, vilka uppgifter som just nu utförs etc. Trello funkar bra både för individuellt arbete och grupparbete.

Vi har skapat två bräden som du kan kopiera. Bräde ett innehåller kursens alla mål i kategorierna TODO 3, TODO 4, TODO 5, Doing, Next och Done som du kan kopiera och använda för din planering. Det går dessutom att koppla Trello till tjänster som genererar burndown chart för dig. Bräde två är ett utkast till plan för det första lagerhanteringsystemet. Det är inte komplett, utan tjänar till att hjälpa dig att komma igång.

Du hittar våra Trello-bräden här