î ì î ì r ì í r î ì - department of computer and …tdp029/info/03-agilprocess.pdfî ì î...

7
2020-01-20 Linköpings universitet 1 TDP029 En agil systemutvecklingsprocess – Sprint 0 Annika Silvervarg COIN/HCCS/IDA 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 Strategic intake & research Market and end-user Competition? Market? End-users? Brand Defined brand? ”tone-of-voice”? Corporate visual identity? Product statement Template: For (target customer) who (statement of need or opportunity) the (product name) is a (product category) that (key benefit, compelling reason to buy) Example: trakz.nl is a trustworthy online music store, we are personal and passionate about music! Design koncept Graphic profile Conceptual design Fråga kunden om sådan finns Om inte, diskutera hur det ska hanteras! Technical solution outline Can include legacy system limitations CMS characteristics Database GUI Architecture Viktigt att diskutera detta med kunden! Kan behövas ytterligare en iteration för detta! 1 2 3 4 6 7

Upload: others

Post on 24-May-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: î ì î ì r ì í r î ì - Department of Computer and …TDP029/info/03-AgilProcess.pdfî ì î ì r ì í r î ì > ] v l ] v P µ v ] À ] í d W ì î õ v P ] o Ç u µ À l

2020-01-20

Linköpings universitet 1

TDP029En agil systemutvecklingsprocess –Sprint 0Annika SilvervargCOIN/HCCS/IDA

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

Strategic intake & research• Market and end-user

– Competition?

– Market?

– End-users?

• Brand

– Defined brand?

– ”tone-of-voice”?

– Corporate visual identity?

Product statement• Template: For (target customer) who (statement of need or

opportunity) the (product name) is a (product category) that(key benefit, compelling reason to buy)

• Example: trakz.nl is a trustworthy online music store, we arepersonal and passionate about music!

Design koncept• Graphic profile

• Conceptual design

• Fråga kunden om sådan finns

– Om inte, diskutera hur det ska hanteras!

Technical solution outline• Can include

– legacy system limitations

– CMS characteristics

– Database

– GUI

– Architecture

– …

• Viktigt att diskutera detta med kunden!

• Kan behövas ytterligare en iteration för detta!

1 2

3 4

6 7

Page 2: î ì î ì r ì í r î ì - Department of Computer and …TDP029/info/03-AgilProcess.pdfî ì î ì r ì í r î ì > ] v l ] v P µ v ] À ] í d W ì î õ v P ] o Ç u µ À l

2020-01-20

Linköpings universitet 2

Practical agrement• When do you work?

• Where do you work?

• What are the responsibilities of the scrum master?

• Contact information, e-mail, phonenumbers….

• When do you have stand-up meetings (and how)?

• When do you demo and test and with whom?

• When and how do you do the retrospective?

• Viktigt att göra detta explicit inom gruppen!

• Viktigt att komma överens tillsammans med kunden om vad som gäller för demo/test!

Setting up the ”room”• Hardware

• The room

• Supplies

• Software

– Dropbox

– GITLab, SVN,…

• Scrumboard

• Physical, Trello, wiki, excel, google docs,…

• Detta KAN läggas på scrum mastern, men också någon/några andra

Definition of Done• 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?

• Viktigt att diskutera detta med kunden!

Start on product backlog• 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 categories:

– As a site visitor, I can access old news that is no longer on the home page, so I can access things I remember from the past or that others mention to me.

– As a site editor, I can set the following dates on a news item: Start Publishing Date, Old News Date, Stop Publishing Date so articles are published on and through appropriate dates. These dates refer to the date an item becomes visible on the site (perhaps next Monday), the date it stops appearing on the home page, and the date it is removed from the site (which may be never).

User story templateTitle (one line describing the story)

As a [role]I want [user need]So that/because [resulting ability] OR

Alt

As a [role]I can [do/view something]

User story exempel

8 9

10 11

12 13

Page 3: î ì î ì r ì í r î ì - Department of Computer and …TDP029/info/03-AgilProcess.pdfî ì î ì r ì í r î ì > ] v l ] v P µ v ] À ] í d W ì î õ v P ] o Ç u µ À l

2020-01-20

Linköpings universitet 3

Acceptance test template• Scenario 1: Title

• Narrative:Given [context] (And [some more context]...)When [event]Then [outcome] (And [another outcome]...)

Acceptance test exampleUser story Criteria for acceptance test

User stories types• Epics

• Back-end

• Technical

– Infrastructure

– Refactoring

– Bug fixes

– Spikes

• Non functional

– UX

– Safety, Security, Performance

– Sustainability

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 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 scrumboard eller sätt upp en digital samarbetsyta, t ex Trello eller Jira.

• 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).

• Kund och Grupp: Kom överens om och skriv under avtal.

• 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).

Avtal

20

• Finns på hemsidan

• Ägande och nyttjanderätt

• Sekretess

• Maila mig en kopia (behöver inte vara underskriven)

15 16

17 18

19 20

Page 4: î ì î ì r ì í r î ì - Department of Computer and …TDP029/info/03-AgilProcess.pdfî ì î ì r ì í r î ì > ] v l ] v P µ v ] À ] í d W ì î õ v P ] o Ç u µ À l

2020-01-20

Linköpings universitet 4

Tidsplan och gemensamma övningar

21

v4-5 Sprint 0

• v4 To Fö + Övning Extreme hour

• v5 To Product backlog från kund klar

• v5 Fr Övning Planning poker, Genomgång och diskussion inför Sprint 1

TDP029En agil systemutvecklingsprocess –Sprint 1 ->Annika SilvervargCOIN/HCCS/IDA

Sprint 1-6• Release plan – Product backlog

• Iteration plan – Sprint backlog

• Scrum board och Burn down chart

• Dagliga scrum-möten

• XP praktiker för programmering

• Demo och Acceptance testning

• Retrospective

Planering

25

• Release plan

– Vad ska vara klart och när?

• Iteration plan

– Vad ska vi göra härnäst?

Release plan – Product backlog

26

• Kund specar funktioner (user stories i Product backlog)

• Kund kan ev uppskatta viktighet

• Utvecklare kan föreslå funktioner (user stories)

• Utvecklare uppskattar tid för utveckling av user storiesMax 3? dagar annars dela upp!

• Utvecklare kan ev uppskatta teknisk svårighet

• Utvecklare anger tidsramar (för hela projekttiden alt första perioden dvs 3 iterationer)

• Kund väljer funktioner (release plan)

Tidsuppskattning av user stories• Intuitiva tidsestimat – Hur lång tid skulle det ta om jag fick

programmera utan att bli störd? Jämför olika stories med varandra

• Spike – Prova att implementera en liten del för att få en idé om ungefär hur ett problem kan lösas (kan behöva göra detta iSprint 0/1 innan ni kan estimera resternade stories)

• Estimera genom jämförelse – jämför med tidigareimplementerade stories (kan göras i senare iterationer)

• Estimera genom planning poker

21 23

24 25

26 27

Page 5: î ì î ì r ì í r î ì - Department of Computer and …TDP029/info/03-AgilProcess.pdfî ì î ì r ì í r î ì > ] v l ] v P µ v ] À ] í d W ì î õ v P ] o Ç u µ À l

2020-01-20

Linköpings universitet 5

Planning poker Iteration plan – Sprint backlog

29

• Utvecklare bryter ner user stories i product backlog till tasksMax 8? h Annars bryt ned!

• Utvecklare uppdaterar ev tidsestimat för user stories

• Utvecklare anger tidsramar för iterationen

• Kunden väljer och ev prioiriterar user stories (och tillhörande tasks) till iterationen

Tidsramar – Release (hela projektet)

30

Mantid:

• ”Programmeringsenheter” * Dagar i iteration * Iterationer(par/individer/grupper)

• Ex: 3 par * 3 dagar * 6 iterationer = 54 dagar

Ostörd tid:

• Velocity * Mantid

• Ex: 75% * 54 dagar = 40 dagar

Velocity är hur stor andel av mantiden som faktiskt läggs på programmering (exkluderar t ex möten, research etc)

Tidsramar – Iteration

31

Mantimmar:

• ”Programmeringsenheter” * Timmar i iterationen(par/individer/grupper)

• Ex: 3 par * 24 h = 72 h

Ostörd tid:

• Velocity * Mantimmar

• Ex: 50% * 72 dagar = 36 h

Velocity beräkning• Första iterationen kan den vara 50%

• Andra iterationen beräknas den på hur mycket som blev gjortden första iterationen:

– Uppskattad tid för avklarade tasks/Mantimmar

– Ex: 0 h / 72h = 0%

– Ex 108 h /72 h = 150 %

– Ex: 44 h / 72h = 75%

SCRUM Board

28 29

30 31

32 33

Page 6: î ì î ì r ì í r î ì - Department of Computer and …TDP029/info/03-AgilProcess.pdfî ì î ì r ì í r î ì > ] v l ] v P µ v ] À ] í d W ì î õ v P ] o Ç u µ À l

2020-01-20

Linköpings universitet 6

Exempel med Trello

34

Burn-down chart

35

Scrum möten

36

Sedan sist har jag gjort …

Nu ska jag göra …

Jag har problem med ….

XP praktiker

37

• Par programmering

• Enhetstest*

• Kodstandard*

• Koda “enkelt”

• Be kund om klargöranden

• Omstrukturering vid behov

• Kontinuerlig integrering + testning*

• Hållbart arbetstempo (anpassa scope vid behov)

* Stäm av med kund

Demo och Acceptance testning• Kort presentation av iterationen, t ex ev förutsättningar,

problem, begräsningar

• Låt kunden testa förutsättningslöst

• Diskutera ev beslut som fattats

• Kunden avgör om user stories är klara

– Om en user stor inte är klar kan den förtydligas och/eller skriva en ny user story

– Ev buggar resulterar också i nya user stories

• Avslutande diskussion om de viktigaste aspekterna

Retrospective• ”Inspect and adapt”

• Alla gruppmedlemmar skriver ned positiva och negativa saker

• Gruppen går igenom alla saker

• Gruppen bestämmer max 3 saker att förbättra i nästa iteration

• Scrum mastern följer upp vid nästa retrospective

34 35

36 37

38 39

Page 7: î ì î ì r ì í r î ì - Department of Computer and …TDP029/info/03-AgilProcess.pdfî ì î ì r ì í r î ì > ] v l ] v P µ v ] À ] í d W ì î õ v P ] o Ç u µ À l

2020-01-20

Linköpings universitet 7

Retrospective Sprintblankett• Lämnas in efter Sprin1-6

• Velocity är för den avklarade sprinten

• Delta är ca 3 negativa sakerni vill förbättra

• + är ca 3 positiva saker

Tidsplan och gemensamma övningar

42

• V4-5 Sprint 0

• V4 To Övning Extreme hour

• V5 To Product backlog från kund klar

• V5 Fr Övning Planning poker, Genomgång och diskussion inför Sprint 1

• V6-7 Sprint 1

• V7 Fr kl 10-11 Demo med kund, kl 11-12 Retrospective i Studio

40 41

42