En agil systemutvecklingsprocess. Vattenfallsmodellen. Manifesto for Agile Software Development. Agila modellen.

Relevanta dokument
SCRUM och agil utveckling

AGIL KRAVHANTERING. Hitta behoven bakom kraven!! Thomas Nilsson! Agile Coach & Mentor! CTO, Responsive

Automation Region. Affärsdriven systemutveckling genom agila metoder. Stefan Paulsson Thomas Öberg

Support Manual HoistLocatel Electronic Locks

TDP023 Projekt: Agil systemutveckling

Health café. Self help groups. Learning café. Focus on support to people with chronic diseases and their families

6 th Grade English October 6-10, 2014

Preschool Kindergarten

Isolda Purchase - EDI

Writing with context. Att skriva med sammanhang

Information technology Open Document Format for Office Applications (OpenDocument) v1.0 (ISO/IEC 26300:2006, IDT) SWEDISH STANDARDS INSTITUTE

Workplan Food. Spring term 2016 Year 7. Name:

SCRUM. Marcus Bendtsen Institutionen för datavetenskap

Mönster. Ulf Cederling Växjö University Slide 1

Linköpings universitet 1 TDP029. Systemutveckling. Systemutveckling. Vanliga faser. Fler faser. Systemutvecklingsmetod

Hur hanterar vi risk? Vad är TKO? Skillnad på agil och trad? Agil/Lean: Defer Commitment, Build knowledge, Fail fast

F7 Agila metoder. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Ulf Asklund Datavetenskap, LTH

Linköpings universitet 1

Libers språklåda i engelska Grab n go lessons

Vässa kraven och förbättra samarbetet med hjälp av Behaviour Driven Development Anna Fallqvist Eriksson

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås


Beijer Electronics AB 2000, MA00336A,

CVUSD Online Education. Summer School 2010

Support for Artist Residencies

Chapter 1 : Who do you think you are?

Testdriven utveckling. Magnus Jonsson Siemens Medical Solutions

BOENDEFORMENS BETYDELSE FÖR ASYLSÖKANDES INTEGRATION Lina Sandström

Protokoll Föreningsutskottet

SVENSK STANDARD SS :2010

Agile i ett större sammanhang. Thomas Nilsson CTO, Agile Developer, Coach & Mentor

Uttagning för D21E och H21E

Blueprint Den här planeringen skapades med Blueprints gratisversion - vänligen uppgradera nu. Engelska, La06 - Kursöversikt, 2015/2016.

Service och bemötande. Torbjörn Johansson, GAF Pär Magnusson, Öjestrand GC

Adding active and blended learning to an introductory mechanics course

Problem som kan uppkomma vid registrering av ansökan

Här kan du checka in. Check in here with a good conscience

2.1 Installation of driver using Internet Installation of driver from disk... 3

12.6 Heat equation, Wave equation

Exempel på uppgifter från 2010, 2011 och 2012 års ämnesprov i matematik för årskurs 3. Engelsk version

Consumer attitudes regarding durability and labelling

Webbregistrering pa kurs och termin

RUP är en omfattande process, ett processramverk. RUP bör införas stegvis. RUP måste anpassas. till organisationen till projektet

Module 1: Functions, Limits, Continuity

Exportmentorserbjudandet!

3rd September 2014 Sonali Raut, CA, CISA DGM-Internal Audit, Voltas Ltd.

F7 Agila metoder. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Ulf Asklund Datavetenskap, LTH

INSTALLATION INSTRUCTIONS

CHANGE WITH THE BRAIN IN MIND. Frukostseminarium 11 oktober 2018

Make a speech. How to make the perfect speech. söndag 6 oktober 13

Förskola i Bromma- Examensarbete. Henrik Westling. Supervisor. Examiner

Materialplanering och styrning på grundnivå. 7,5 högskolepoäng

SCRUM. Vattenfallsmodellen. Analys. Design. Kod. Test. Rational Unified Process Agile. Kallas också linjär sekventiell modell.

CONNECT- Ett engagerande nätverk! Paula Lembke Tf VD Connect Östra Sverige

Byggdokument Angivning av status. Construction documents Indication of status SWEDISH STANDARDS INSTITUTE

CUSTOMER READERSHIP HARRODS MAGAZINE CUSTOMER OVERVIEW. 63% of Harrods Magazine readers are mostly interested in reading about beauty

Urban Runoff in Denser Environments. Tom Richman, ASLA, AICP

DVG C01 TENTAMEN I PROGRAMSPRÅK PROGRAMMING LANGUAGES EXAMINATION :15-13: 15

Andy Griffiths Age: 57 Family: Wife Jill, 1 kid Pets: Cats With 1 million SEK he would: Donate to charity and buy ice cream

Fortsatt Luftvärdighet

App analytics TDP028

Kursutvärderare: IT-kansliet/Christina Waller. General opinions: 1. What is your general feeling about the course? Antal svar: 17 Medelvärde: 2.

Att stödja starka elever genom kreativ matte.

Biblioteket.se. A library project, not a web project. Daniel Andersson. Biblioteket.se. New Communication Channels in Libraries Budapest Nov 19, 2007

samhälle Susanna Öhman

Examensarbete Introduk)on - Slutsatser Anne Håkansson annehak@kth.se Studierektor Examensarbeten ICT-skolan, KTH

DVA336 (Parallella system, H15, Västerås, 24053)

Authentication Context QC Statement. Stefan Santesson, 3xA Security AB

Här kan du sova. Sleep here with a good conscience

How to format the different elements of a page in the CMS :

Unit course plan English class 8C

Om oss DET PERFEKTA KOMPLEMENTET THE PERFECT COMPLETION 04 EN BINZ ÄR PRECIS SÅ BRA SOM DU FÖRVÄNTAR DIG A BINZ IS JUST AS GOOD AS YOU THINK 05

Read Texterna består av enkla dialoger mellan två personer A och B. Pedagogen bör presentera texten så att uttalet finns med under bearbetningen.

Kanban är inte din process. (låt mig berätta varför) #DevLin Mars 2012

FÖRBERED UNDERLAG FÖR BEDÖMNING SÅ HÄR

Förändrade förväntningar

Surfaces for sports areas Determination of vertical deformation. Golvmaterial Sportbeläggningar Bestämning av vertikal deformation

On the Establishment of UCSD i n in Organisations Åsa Cajander Uppsala Universitet Universitet

MÅLSTYRNING OCH LÄRANDE: En problematisering av målstyrda graderade betyg

The Swedish National Patient Overview (NPO)

Byggritningar Ritsätt Fästelement. Construction drawings Representation of fasteners SWEDISH STANDARDS INSTITUTE

Webbreg öppen: 26/ /

Kvalitetsarbete I Landstinget i Kalmar län. 24 oktober 2007 Eva Arvidsson

Välkommen in på min hemsida. Som företagsnamnet antyder så sysslar jag med teknisk design och konstruktion i 3D cad.

Questionnaire for visa applicants Appendix A

Module 6: Integrals and applications

Resultat av den utökade första planeringsövningen inför RRC september 2005

Enterprise App Store. Sammi Khayer. Igor Stevstedt. Konsultchef mobila lösningar. Teknisk Lead mobila lösningar

Exchange studies. Johanna Persson Thor Coordinator Dean s Office Faculty of Arts & Sciences

PRESS FÄLLKONSTRUKTION FOLDING INSTRUCTIONS

EVALUATION OF ADVANCED BIOSTATISTICS COURSE, part I

Discovering!!!!! Swedish ÅÄÖ. EPISODE 6 Norrlänningar and numbers Misi.se

KONCEPTUALISERING. Copyright Dansk & Partners

Om Sodexo. Sodexo i världen. Sodexo i Norden. 16 miljarder omsättning Mer än sites anställda. 80 länder

Before I Fall LAUREN OLIVER INSTRUCTIONS - QUESTIONS - VOCABULARY

Exempel på uppgifter från års ämnesprov i matematik för årskurs 3. Engelsk version

Läkemedelsverkets Farmakovigilansdag

Transkript:

En agil systemutvecklingsprocess Annika Silvervarg Vattenfallsmodellen Manifesto for Agile Software Development Agila modellen Sprint 0 Strategic intake & research (Strategic intake & research) (Product statement) (Design koncept) Technical solution outline Practical agreements Setting up the room Definition of done Start on Product backlog Market and end-user Competition? Market? End-users? Brand Defined brand? tone-of-voice? Corporate visual identity? 1

Product statement Design koncept Template: For (target customer) who (statement of need or opportunity) the (product name) is a (product category) that (key benefit, compelling reason to buy) Graphic profile Conceptual design Example: trakz.nl is a trustworthy online music store, we are personal and passionate about music! Technical solution outline Practical agreement Can include legacy system limitations CMS characteristics When do you work? Where do you work? Contact information, e-mail, phonenumbers. When do you have stand-up meetings (and how)? When do you demo (test) and with whom? When and how do you do the retrospective? Setting up the room Definition of Done Hardware The room Supplies Software Dropbox? GIT, SVN, Scrumboard Trello, wiki, excel, google docs, Technical requirements Devices? Browsers? Documentation? How tested? User experience How does it feel? Tests with external people? Customer acceptance Who decides when done is done? 2

Start on product backlog User story template The backlog is a prioritized features list, containing short descriptions of all functionality desired in the product, typically in the form of User stories, which are short, simple descriptions of the desired functionality told from perspective of the user "As a shopper, I can review the items in my shopping cart before checking out so that I can see what I've already selected." Title (one line describing the story) As a [role] I want [user need] So that/because [resulting ability] OR As a [role] I can [do/view something] User story examples A good user story INVEST Independent, of other stories Negotiable, not a contract Valuable, to customer or end user Estimable, enough information and reasonable scope Small, coded and tested within half a day to two weeks Testable, clear definition of done Sprint 1-6 Release planning Release plan Iteration plan Velocity Time estimates Planning poker Prioritise Scrum board and Burn down chart Daily scrums Demo and Acceptance testing Retrospective 3

Release Planning Customer presents the desired features to the programmers as user stories Programmers estimate their difficulty Customer lays out a plan for the project Initial release plans are necessarily imprecise. However, even the first release plan is accurate enough for decision making and teams revise the release plan regularly Release planning Step 1: Writing user stories Customers write user stories Stories can be assigned business value: essential, highly valuable or good idea (or a more fine grained scale, eg. 1 to 10) Developers can suggest stories but the customer has always final say Stories can always be added, changed or deleted Release planning Step 2: Time esitmation Developers estimate how long the stories might take to implement Each story will get a 1, 2 or 3 days estimate in ideal development time Longer than 3 days means that the customer need to break the story down further and less than 1 day that it is at too detailed a level, combine some stories Stories can be assigned technical risk: low, medium, high Release planning Step 3: Prioritising stories Together developers and customers move the cards around on a large table to create a set of stories to be implemented as the first/next release A useable, testable system that makes good business sense delivered early is desired You may plan by time or by scope either how many stories can be implemented before a given date (time), or how long a set of stories will take to finish (scope) Iteration planning During Iteration planning, the Customer presents the features desired for the next iteration The programmers break them down into tasks, and estimate their cost (at a finer level of detail than in Release Planning) Based on the amount of work accomplished in the previous iteration, the team signs up for what will be undertaken in the current iteration Iteration planning Step 1: Project velocity and scope Project velocity is calculated based on previous iterations (initial velocity often set to 50%) Velocity = completed stories divided by actual hours 59/84h = 70% Time for next iteration = velocity * time * number of pairs 70% * 28h * 3 = 59 h (ideal time) Customer choose prioritised stories from release plan Failed stories/tasks from the previous iteration to be fixed are also selected 4

Iteration planning Step 2: Creating tasks The user stories and failed tests are broken down into the programming tasks that will support them by the developers Tasks are written down on index cards like user stories While user stories are in the customer's language, tasks are in the developer's language Duplicate tasks can be removed Each story has a corresponding task card for writing an acceptance test together with the customer Iteration planning Step 3: Time estimation Estimates are made by the team and tasks divided at the end of the session, or put in a stack where developers choose tasks one at a time Each task should be estimated as 1, 2, or 3 ideal programming hours in duration Tasks which are shorter than 1 hour can be grouped together and tasks which are longer than 3 hours should be broken down farther or developers sign up to do the tasks and then estimate how long their own tasks will take to complete Planning poker Planning poker Alla i teamet estimerar en story/task Väljer ett kort/skriver en siffra Alla visar upp sitt val samtidigt Den som valt minst tid och den som valt mest tid diskuterar och enas om en estimering Finns flera varianter Finns appar att använda istället för kortlek SCRUM Board Burn down chart 5

Demo and Acceptance tests Acceptance test Short presentation of the process of the sprint (preconditions, constraints, impediments, etc.) Short walk through of the product, explaining decisions made (focus on what, not how) Customer (stakeholders) sit down individually and go through users stories using the system and judge if acceptance tests pass or fail Failed acceptance tests are collected for next iteration Scrum master have closing discussion with customers and bring the most important bits back to the team Acceptance tests are created from user stories During an iteration the user stories selected will be translated into acceptance tests by the customer A story can have one or many acceptance tests, each acceptance test represents some expected result from the system Customers are responsible for verifying the correctness of the acceptance tests and decide which failed tests are of highest priority to fix in the next iteration Acceptance test template Acceptance test examples Scenario 1: Title Narrative: Given [context] (And [some more context]...) When [event] Then [outcome] (And [another outcome]...) User story test Criteria for acceptance Retrospective Retrospective Inspect and adapt Draw a timeline of the sprint on a whiteboard Sit down individually (5 min) Write positive things on green post its Write negative things on pink post its Place the post its on the timeline (2 min) Look at the board and discuss what you wrote to identify patterns or clusters (5 min) Choose max 3 things you want to improve (5 min) 6

Sprint 0 (Strategic intake & research) (Product statement) (Design koncept) Technical solution outline Practical agreements Setting up the room Definition of done Start on Product backlog Sprint 0 Att Göra Sprint 0 Att Göra Grupp: Utse en scrum master Grupp: Gå igenom scheman och gör en detaljerad planering för vilka tider gruppen ska jobba. Bestäm ett lämpligt straff för sen ankomst (t.ex. bjuda gruppen på fika) Scrum master: Välj en lämplig yta på en stor whiteboard och rita upp en scrum board (se nedan) Grupp: Se till att ett möte med kunden äger rum. Utbyt kontaktuppgifter och kom överens med kunden om hur kommunikationen under projektet ska fungera Kund: Delta i möte med projektgruppen och gör en översiktlig beskrivning av det planerade systemet (inklusive syfte, vision, etc). Eventuella sekretessavtal skrivs lämpligtvis under vid detta möte Kund: Förbered user stories och förmedla till projektgruppen Grupp: Genomför en tekniköversikt och riskanalys gällande val av teknikplattformar (utvecklingsverktyg, programspråk, databashanterar, etc). Sprint 1-6 Release plan Iteration plan Velocity Time estimates Planning poker Prioritise Scrum board and Burn down chart Daily scrums Demo and Acceptance testing Retrospective Före sprint start Scrum master: Uppdatera backlog (justera och lägg tillbaka stories som fått fail). Scrum master: Se till att material finns på plats (pennor, postits, etc). Kund: Förbered nya user stories (vid behov) och lägg dem i Backlog. Gör en prioritering av alla user stories i Backlog. Grupp: Tidsestimera alla user stories i Backlog i prioritetsordning. 7

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 tasklappar. 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 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å tavlan. 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: x-axeln speglar antal arbetsdagar som ingår i denna sprint. Y-axeln speglar summan av tidsuppskattningarna för alla tasks som hör till utvalda stories. Under sprinten - Scrum-möten i början av varje arbetsdag 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. Sprint end Scrum master: 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. 8

Scrum master: 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). Scrum master: Fyller i sprintformuläret och lämnar in till läraren. 9