Agil användbarhetsutveckling för handhållna enheter TNM082, VT2013, FÖ3 Idag Scrum Är Scrum bara en metod för mjukvaruutveckling? Inte alls! Metoden kan anpassas för alla möjliga typer av projekt t.ex. NdningsprodukNon eller utveckling av medicinsk teknik. Vi har seo Scrum användas framgångsrikt i allt från bokförfaoande Nll brädspels- utveckling och semesterplanering. Är Scrum bara en metod för mjukvaruutveckling? Nu programmeras arbetslivet om. (ARonbladet 2012-02- 02). Programmerarkulturen revolunonerar hur vi arbetar. Hur vi organiserar arbetet det är slut på Nden då några få tänker och resten uvör. belöningar fungerar mycket dåligt för ao driva på människor. gemenskap ger däremot resultat. Softhouse Consulting. http://softhouseeducation.com/material/scrum-fem-minuter http://www.aftonbladet.se/kultur/article14308259.ab Den scrummande konsulten AO agile sprio sig som en löpeld de senaste åren måste ha varit svårt ao missa för alla i branschen. Men nu börjar agile sprida sig utanför själva projekten in i andra delar av organisanoner. Hur skulle t.ex. en agil HR (personalavdelning) fungera och arbeta? Hur skulle eo företag fungera utan chefer och struktur? Det finns en hel del spännande läsning ao ta del av på nätet Är Scrum bara en metod för mjukvaruutveckling? Agil HR Fördelar ur eo HR perspeknv Agila metoder inspirerar Nll ao tänka i helt nya banor kring hur vi samarbetar, rekryterar, säoer mål och ger feedback. http://jimmyjanlen.wordpress.com/2012/09/06/agil-hr-hur-fungerar-det/ http://www.hrbloggen.se/2012/03/vad-ar-agil-hr.html 1
Är Scrum bara en metod för mjukvaruutveckling? Build projects around monvated individuals. Give the team the environment and support they need, and trust them to get the job done. Business analysts, managers, developers and testers must work together daily throughout the project. Företag utan chefer och struktur? Structure happens The best architectures, requirements, and designs emerge from self organizing teams. Se Handbook for new employees på: http://jimmyjanlen.wordpress.com/2012/09/06/agil-hr-hur-fungerar-det/ http://www.valvesoftware.com/jobs/ Scrum i 100 ord Scrum är en agil process som låter oss fokusera på att leverera mest affärsvärde på kortast tid. Scrum låter oss snabbt och regelbundet inspektera fungerande mjukvara (två till fyra veckor) Verksamheten sätter prioriteringarna. Teamen självorganiserar och hittar bästa sättet att leverera högst prioriterad funktionalitet. Varje två- till fyraveckors period (sprint) kan alla se riktig fungerande mjukvara och kan besluta sig för att leverera den som den är eller fortsätta förbättra den i ytterligare en sprint. Sekvensiell vs. överlappande utveckling Krav Design Kod Test Istället för att göra en sak i taget......gör Scrumteam lite av allting hela tiden Egenskaper Krav/önskemål representeras som punkter i en produkt backlogg Produkten växer fram (designas, kodas och testas) i sprintar en fast längd ger en bättre rymd Inga specifika tekniska arbetssätt föreskrivs. Använder ett antal regler för att skapa en flexibel miljö för att leverera projekt. Source: The New New Product Development Game by Takeuchi and Nonaka. Harvard Business Review, January 1986. 2
planering En missuppfaoning som lever kvar kring läorörliga metoder är ao de inte har Nllräckligt med planering. Det är precis tvärtom, vi gör massor av planering. Dels gör vi så mycket planering som behövs när vi ska starta eo nyo projekt, dels gör vi granskning och revidering av planerna med en regelbunden rytm. ERersom vi planerar så mycket behöver vi vara mycket effeknva planerare. http://scrumtipsblogg.blogspot.se/2008/09/vad-sprintplanering-och-glassinkp-har.html Vad? Produktägaren och teamet bestämmer Nllsammans vad som ska utvecklas. Vilken funknonalitet som ska in och hur den ska se ut och användas. Baseras på: backlogg Ndigare sprint resultat (inkrement) hasnghet teamets kapacitet Varför? Etablera sprintens mål. Definiera vad som avses med klart Hur ska vi leverera eo färdigt inkrement User stories bryts ned i uppgirer där finns alla detaljer Teamkapacitet Product backlog Marknadsläget Aktuell produkt Teknik Sprinplaneringsmöte prioritering Analysera och utvärdera produkt backlog Välj sprint mål planering Bestäm hur sprintmålet ska uppnås (design) Skapa sprint backlog uppgifter från produkt backlog punkter (user stories / funktioner) Estimera sprint backlog i timmar mål backlog mål En kort beskrivning av huvudfokus för sprinten Databas Application Se till att applikationen kan köra även på SQL Server (utöver Oracle) Bioteknik Kunna genomföra populationsgenetiska studier Finans Stödja fler tekniska indikatorer än firma ABC med strömmande data i realtid Produkt backlog Detta är produkt backloggen Krav Listar allt önskad arbete i projektet Helst utryckt så att varje punkt har ett värde för produktens användare eller kunder Prioriteras av produktägaren Prioriteringar ses över inför varje ny sprint 3
Produktägaren Representerar kundens intressen Definierar produktens funktionalitet. Prioriterar funktionalitet utifrån marknadsvärde. Justerar funktionalitet och prioritet efter varje iteration utifrån behov. Tekniska kunskapen större i teamen - > prioritering från teamet Bestämmer leveransdatum och innehåll. Ansvarar för produktens lönsamhet (ROI). Godkänner eller förkastar arbetsresultat. Produkt backlog exempel Backlog punkt Estimat Låta en gäst göra en reservation 3 Som gäst vill jag kunna avboka en reservation. Som gäst vill jag kunna ändra datum på en reservation. Som hotelpersonal vill jag kunna köra en RevPAR rapport (revenue-per-availableroom) Förbättra felhantering 8... 30... 50 5 3 8 User stories User stories As a role I want something So that I get a benefit En user story är en kort beskrivning i vardagligt språk av vad en användare vill uppnå. Som användare Vill jag logga in Så ao jag kan använda det här systemet En grundidé är ao varje story ska vara kort och få plats på en post- it lapp. Prioritet, esnmerad Nd/insats, ID 4
User stories Innehåller lite informanon så de behöver brytas ned i mindre delar. User story Som besökare vill jag kunna se de senaste twioringarna från företaget direkt på startsidan. Denna funknon är vikng erersom den gör ao jag få all kommunikanon från företaget samlad på en plats och inte missar något. Acceptanskriterier Kommentarer Tillsammans med produktägaren gå igenom bakgrund och syre och skapa uppgirer. Under sprintplanning när Nden uppskaoas beskrivs programmeringsuppgirer etc som behövs. IdenNfiera hur en story ska bekräras, hur produktägaren ska validera en user story. De måste vara testbara. Webbplatsens startsida visar de 3 senaste tweetsen. Tweetsen visas inom 15 minuter från ao de twiorades. Om en tweet raderas ska den inte visas på webbplatsen. Länkar i tweetsen ska fungera. Lägg även en "Följ oss på TwiOer"- knapp i anslutning Nll tweetsen. Teamkapacitet Product backlog Marknadsläget Aktuell produkt Teknik Sprinplaneringsmöte prioritering Analysera och utvärdera produkt backlog Välj sprint mål planering Bestäm hur sprintmålet ska uppnås (design) Skapa sprint backlog uppgifter från produkt backlog punkter (user stories / funktioner) Estimera sprint backlog i timmar mål backlog mål En kort beskrivning av huvudfokus för sprinten Databas Application Se till att applikationen kan köra även på SQL Server (utöver Oracle) Bioteknik Kunna genomföra populationsgenetiska studier Finans Stödja fler tekniska indikatorer än firma ABC med strömmande data i realtid planering Teamet väljer punkter från produkt backlog som de anser sig kunna hinna klart i en sprint backlog skapas Uppgifter identifieras och varje uppgift estimeras (1 16 timmar) Görs gemensamt, inte av ScrumMastern själv Design på hög nivå tas fram Planeringspoker Teknik för ao genomföra NdsuppskaOningar. Teamet gör individuella NdsuppskaOningar under tystnad genom ao använda "spelkort" med förangivna siffror. DäreRer diskuterar gruppen de NdsuppskaOningar som är mest avvikande. Som semester-planerare vill jag kunna se foton från hotellen. Koda mellanskiktet (8 hours) Koda användargränssnittet (4) Skriv testfixturer (4) Koda foo klass (6) Uppdatera prestandatester (4) Mike Cohn (2005). Agile Estimating and Planning 5
Konformitet Socialpsykologisk term som betecknar ao en individ ger erer för en grupps förväntningar och uppfaoningar (Solomon Asch). Velocity /hasnghet Another tool is velocity. Velocity is a measurement of how much the team gets done in an iteranon ( called as in Scrum ). Velocity is what actually got done in the last iteranon not what is planned. In Scrum it is measure in Story points. Each feature in scrum is a story. A story has points. Points can be anything you come up with. A story depending on its complexity is given certain story points. So if the team does 6 stories that are 8 story points that iteranon, the teams velocity is 48 story points. Velocity Resultat: sprintbacklogg med user stories och associerade uppgirer TradiNonellt är det här en projektledare kliver fram och säger vem som ska göra vad. I scrum bestämmer teamet det själva Eventuell förhandling med produktägaren antalet esnmerade Nmmar vs. kapacitet backlog exempel Hantering av sprint backlog logg är alla de uppgirer som ska göras för ao transformera delar/ önskningar i backloggen Nll färdigt inkrement. Individer tar på sig uppgirer själva. UppgiRer Nlldelas aldrig. UppskaOad återstående Nd uppdateras dagligen. 6
Statusgraf / burndown chart Hantering av sprint backlog Estimated work remaining 70 60 Burndown backlogg kan modifieras under en sprint uppgirer kan tas bort eller läggas Nll vid behov av teamet endast 50 40 30 20 10 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Days I ett s.k. burndown chart markerar man dag för dag hur mycket som återstår av det tidsplanerade arbetet. Diagrammet visar tyd ligt i vilken takt man bränner av de kvarvarande timmarna av en sprint. Alla teammedlemmar kan lägga Nll, ta bort, samt ändra uppgirer i sprint backloggen. nya uppgirer upptäcks under sprinten. saker tar längre Nd än beräknat sjukdom etc. Uppdatera NdsuppskaOning på återstående arbete erer hand som det klarnar. Inga förändringar under sprinten Förändring backloggen ska vara Nllgänglig och synlig hela Nden. Planera sprintlängd utifrån hur länge du kan skydda en sprint från förändring. Scrumboard 7
Uppgifter Koda gränssnittet Koda mellanskiktet Testa mellanskiktet Skriv onlinehjälp Mån 8 16 8 12 Tis Ons Tor Fre 4 8 12 16 10 7 16 11 8 Dagligt möte - alla besvarar tre frågor Vad gjorde du igår? 1 Timmar 50 40 30 20 10 0 Mån Tis Ons Tor Fre Vad tänker du göra idag? 2 Står någonting i vägen? 3 Inte statusrapportering till Scrummästaren Åtaganden inför sina kollegor Daglig scrum scrummästarens roll Scrummästarens roll? ao det äger rum håller Nden Främja/förbäOra kommunikanon Se Nll ao processen fungerar Upptäcka och hantera störningsmoment Främja snabba beslut UnderläOa arbetet Undvika onödaiga möten Resultatet av en sprint PotenNellt levererbar produknnkrement klar produkt som går ao använda Följs av de sista två aknviteterna granskning återblick /sprintdemonstranon Varför agil utveckling passar människor Människor är vanedjur Människor är lata Människor är sociala Människor gillar belöningar Vi ses nästa vecka (Måndag 8:15, KJ). http://leif.ershag.se/224/varfor-agile-utveckling-passar-manniskor/ 8