SCRUM_v2.5

45
SCRUM Procesy, entity, User Stories a jak Vám to pomůže fungovat efektivněji copyleft CEREBRA, 2016

Transcript of SCRUM_v2.5

Page 1: SCRUM_v2.5

SCRUMProcesy, entity, User Stories

a jak Vám to pomůže fungovat efektivněji

copyleft CEREBRA, 2016

Page 2: SCRUM_v2.5

Agenda• „Agile“

o O čem to celé je• SCRUM

o Artefakty o Roleo Procesy

• User Storieso Co to jeo I.N.V.E.S.T.o US vs UCo Odhadyo Metodiky

Page 3: SCRUM_v2.5

Agile• Lightweight process framework pro agilní řízení• Mindset • Agile Manifesto:

o Individuals and interactions over processes and tools

oWorking software over comprehensive documentation

oCustomer collaboration over contract negotiationoResponding to change over following a planohttp://agilemanifesto.org/iso/cs/ – zejména 12

přikázání• Proč Agile? (2014 State Of Agile – Survey - http://

www.cerebra.cz/clanky-stav-agile-2014.html)

Page 4: SCRUM_v2.5

• Kanban• SCRUM• FDD – Feature Driven Development• Lean• TDD – Test Driven Development• JIT• …

Agilní metodiky a praktiky

Page 5: SCRUM_v2.5

Cynefin• Na jaké problémy se hodí SCRUM?• Cynefin

© Cynefin framework by Dave Snowden

Page 6: SCRUM_v2.5

SCRUM• Vychází z empirického procesu

Page 7: SCRUM_v2.5

SCRUM• Cyklický KANBAN ;-)

ToDo

Req 12

Req 14

Req 8

Req 5

WIPReq 4

Req 6

Req 9

Done

Req 1Req 2Req 3Req 7Req 10

Page 8: SCRUM_v2.5

SCRUM

14 d

Page 9: SCRUM_v2.5

Product Backlog

Sprint ready

Release ready

TBS

Priorita & granularit

a

© http://macaubas.com

Page 10: SCRUM_v2.5

Product Backlog – D.E.E.P.•Detailed appropriately•Emergent•Estimated (remaining effort)•Prioritized

Page 11: SCRUM_v2.5

Product Backlog

© www.romanpichler.com

Page 12: SCRUM_v2.5

Sprint Backlog • Zodpovědnost DEV Teamu• User Stories z PBL si členové teamu sami řadí do Sprint BL (dle priorit a toho, co zvládnou)• Sprint Planning Meeting

(SP1)• Sprint Goal, Forecast

Page 13: SCRUM_v2.5

Sprint Burndown Chart

© www.romanpichler.com

• Zodpovědnost DEV• User Stories z PBL si členové

teamu sami řadí do Sprint BL• Sprint Planning Meeting• Sprint Goal

Page 14: SCRUM_v2.5

SCRUM Roles• Product Owner

oDefinuje produkt, prioritizuje úkoly, definuje milníky a scope

o Je zodpovědný za výsledný projekt (přidanou hodnotu)

• SCRUM Mastero Je zodpovědný za procesy SCRUMu,

coaching teamu a POoOdstraňuje překážky procesů,

podporuje kooperaci teamu• DEV TEAM

o Samoorganizující, určuje pracnost úkolů, určuje si sám co zvládne

oZodpovědný za inkrement produktu – výsledek sprintu

Page 15: SCRUM_v2.5

SCRUM RolesResponsib

ilityProduct Owner DEV Team SCRUM

MasterScope

(release)

(sprint)

Time (release)

(sprint)

CostsCommuni

cation

(sprint report)

RisksQA

(scope)

(testing)

(proces)

Transfer rolí klasického managementu

Page 16: SCRUM_v2.5

Plánování• Release planningoPlán milníkuoHrubý seznam požadovaných featuroOdhad počtu sprintů

• Sprint planningoGoal / ForecastoTeam commitmentoDetailní seznam US s relevantními

odhady• Rozpad na tasky (je li třeba)

Page 17: SCRUM_v2.5

SCRUM Meetings

Backlog Grooming

© derailleurconsulting.com

Page 18: SCRUM_v2.5

SCRUM Meetings• Sprint Planning• Sprint Goal and Forecast, upřesnění

stories, revize odhadů, rozpad na tasky

• Daily SCRUM• Denní plán, akutní problémy

• Sprint Review• Vyhodnocení cílů sprintu – DEMO,

naplnění Goals, Forecast• Retrospective• Product Backlog Grooming• Údržba PBL, odhady, upřesnění

stories

Page 19: SCRUM_v2.5

Sprint Planning Meeting• Team, PO, SM, případně

doménoví experti• Cílem je stanovit Sprint Goal (a

forecast)• Výsledek:oPO ví co na konci sprintu dostaneoDEV Team ví co má dělat

• Podmínky:oPO připravil Stories v BL a

prioritizoval jeoTeam (s PO) US odhadl (Backlog

Grooming)

Page 20: SCRUM_v2.5

Sprint Planning Meeting - průběh

• Team postupně odebírá položky z PBLoDiskutuje je s POoDekomponuje na taskyoOdhaduje náročnost tasků (US)oZařazuje tasky do SBL

• Iterativně se opakuje dokud není vyčerpaná kapacita teamuoResp. VELOCITY – stanovená na základě

předchozích sprintů• Často SP1 a SP2

Page 21: SCRUM_v2.5

Sprint Planning - Special Tasks• Technical User Stories –

typicky např. „zprovoznění TST prostředí“ – úkoly CFG Managementu

• Educational tasks – např. školení, tech. hodinky atd.

• Analytical tasks / Research – někdy je nutný cílený výzkum pro pochopení dalšího úseku vývoje

Page 22: SCRUM_v2.5

STORY POINTS• Odhady náročnosti prací• Story PointoBezrozměrné čísloo Je relativníoVyjadřuje náročnost dané feature /

US / taskuoVýhody:• Rychlost odhadu – odhad je jednodušší• Nezatížené „buffery“• Relativní odhady jsou pro lidi bližší

Page 23: SCRUM_v2.5

STORY POINTS – jak na to?• Triangulace – „tahle feature je

složitější než tamta (2SP), ale jednodušší než jiná (5SP) => náročnost 3SP

• Analogie• Expertní znalost• Odhad nemusí být „přesný“ - je

to jen odhad oVe výsledku se kladné a záporné

„nepřesnosti“ vyrovnajío Trocha úsilí přinese dostatečnou

přesnost, další úsilí odhad již příliš nezlepší

• Odhady určuje team, nikdo jiný!

Page 24: SCRUM_v2.5

Planning Poker• Iterativní odhad v teamu („moudrost davu“)• Pevné měřítko – karty pro agilní plánování

0 – ½ – 1 – 2 – 3 – 5 – 8 – 13 – 20 – 40 – 100 • Typicky stačí ke konsenzu 2 - 3 iterace• Musí být přítomen PO kvůli otázkám a

upřesněním featur• Výhody:

oNení manipulováno dominantními členy teamuo Podporuje komunikaci (v rámci teamu a s PO)o Eliminuje různé vnímání časové náročnosti úkoluo Team si odhaduje sám, nikdo nic nediktuje –

motivační faktor

Page 25: SCRUM_v2.5

Daily SCRUM• SM, Team (případně další, ale

nemluví)• 3 otázky – odpovídá každý člen

teamuoCo jsem dokončil od minulého DS?oCo dokončím do dalšího DS?o Jaké mám problémy / překážky?

• Updatuje se burndown chart (pokud se tak neděje automaticky v SW)

• do 15 minut, standup – mluví jen členové teamuo případné diskuse až po DS

Page 26: SCRUM_v2.5

• Pravidlo č. 1

Page 27: SCRUM_v2.5

Sprint Review• SM, Team, PO• Prezentace DEMA („potentialy shippable

product“)• PO akceptuje, nebo odmítne výsledek a

dává feedback• Revize Sprint Goal + Forecast• Stakeholdeři vidí DEMO• Revize burndown chartu + kalkulace

VELOCITY• Retrospektiva – ideálně po každém sprintu!

Page 28: SCRUM_v2.5

Sprints & Velocity

scrum.jeffsutherland.com

Page 29: SCRUM_v2.5

Sprints & Velocity• Velocity = SUMA SP hotových

featur/US/taskůoNehotové tasky se vrací do BL

• Př.Release scope: 100SP(estimated) Velocity: 25Sprints required: 4

• Scope sprintu je fixní (a je jasný goal a forecast)

• Na konci sprintu je „potentially shippable product“ (a.k.a. DEMO)

Page 30: SCRUM_v2.5

Plánování & Kapacita• „Časová“ kapacita člena teamu:oCelková: 100% (fulltime, „FT“)oPlánovatelná: 80%oSCRUM overhead (meetingy): 10%oLookahead / preparation (BL grooming): 10%oOperativa – support: 10%oReálná kapacita na kreativní práci (plnění

scope): 50%oOvšem meetingy, BL grooming atd. jsou „chtěné“ činnosti, ne „slack“! Bez nich nelze efektivně plnit scope.

Page 31: SCRUM_v2.5

Retrospective• SM, Team• Lessons Learned• How to do better next time - KAIZEN• Sprint Weather• Solve Conflicts• Correct dysfunctional behavior• Weather forecast• ROTI• (nemusí být po každém sprintu)

Page 32: SCRUM_v2.5

USER STORIESJá, jakožto <Typ uživatele>,bych chtěl, aby <Feature>tak, že <Business value>.

Např: Já, jako administrátor DBS bych chtěl, abych mohl hromadně měnit konfiguraci uživatelů systému a jejich oprávnění k přístupu do DB tak, aby systém převzal hodnoty z konfigurační šablony (CSV), ale zachoval si

informaci o historickém nastavení a datu změn. Toto mi umožní provádět hromadné změny rychleji.

Page 33: SCRUM_v2.5

Příklad z praxe

Page 34: SCRUM_v2.5

USER STORIES• V přirozeném jazyku popsaný

požadavek• Kdo – uživatelská role z pohledu

businessu(Dispečer kamionové dopravy, knihař, …) oRole podporují „hmatatelnost“• US oproti UC lépe znázorňují jak SW

pomůže řešit reálný problém• Co – business scénář, ne definice

technolog. postupu řešení • Proč/Jak – co je benefitem feature,

přidanou hodnotou

Page 35: SCRUM_v2.5

USER STORIES• Krátké. Nejlépe do dvou vět.

o „Placeholder“ pro pozdější komunikaci• Nemusí pokrývat všechny detaily, není

to dokumentace• Popisují přínos nové featury pro produkt

o Jednoznačná přidaná hodnota• Popisují akceptační kritéria

oVýchozí bod pro akceptační testy (ATDD)• Mohou popisovat omezení (constraints)• Vertikální (napříč technolog. vrstvami

aplikace)

Page 36: SCRUM_v2.5

USER STORIES[ID xxx-yyy] [Title XYZ]

Size: NAs <User> I can <Feature/Function> so that <Business Value>Acceptance Criteria<User> can [operate/use] <Feature> so that [output] is [visible/complete/…].

Notes:Constraints:i.e. Does it need enhanced security?Text field has to allow

only numbers

Page 37: SCRUM_v2.5

US - I.N.V.E.S.T.• Independent• Negotiable• Valuable• Estimable

• Sized appropriately• Testable

Page 38: SCRUM_v2.5

US - I.N.V.E.S.T.• Independent

o Umožní vyhnout se problémům při prioritizaci a odhadech

• Negotiableo Vyřešitelné, schůdnéo Jasná akceptační kritéria

• Valuableo Představují přidanou hodnotu z hlediska businessu

• Estimableo Mají odhadnutelnou náročnosto Jasná akceptační kritéria

Page 39: SCRUM_v2.5

US - I.N.V.E.S.T.• Sized appropriately

oUS musí mít správnou granularitu: rozpad -> snazší odhady

o Epics, velké US - se zvyšující se prioritou se rozpadnou na menší US

• Testableo TestovatelnéoMusí být jasná akceptační kritériaoATDD• Performance, Stress, Failover testy mohou

být samostatné US

Page 40: SCRUM_v2.5

US - Akceptační kritéria• <User> can [operate/use] <Feature> so

that [output] is [visible/complete/…]• Umožní posoudit, zda je story implementována

tak, jak PO / zákazník očekává• Binární kritéria pro akceptaci US jako „hotové“• Vodítko pro tvorbu akceptačních testůoZákladní/kritické testy mohou být sepsány rovnou

u US• Podchycují možné nejasnosti ve formálním

zadání US

Page 41: SCRUM_v2.5

US - Akceptační kritéria• Co není AKo Omezující podmínky („vstup nesmí povolit nečíselný znak“)

o If-Then statemento Popis jak provést test

Page 42: SCRUM_v2.5

US vs UC vs Doc.• US vs UCoUC je detailnějšíoUS se snáze dekomponujíoUS není forma detailní

dokumentace• US vs DokumentaceoUS není / nenahrazuje

dokumentacioDokumentace je tak jako tak

potřeba

Page 43: SCRUM_v2.5

Rozdělování USER STORIES• Proč rozdělovat US:

oOdhad přesahuje možnosti jednoho sprintu

oRozsah US neumožňuje odhad – příliš mnoho nejasností

• Po funkčních celcích (jednotlivé části CRUD např.)

• Po datech („Zákazník, lokace, zakázky,…“)

• Po rolích• Komplexní US:

o Story 1 – průzkumo Story 2 – implementace featur/-y

Page 44: SCRUM_v2.5

USER STORIES – časté chyby• Popis úkolu/řešení, ne business

scénář• Horizontální rozdělení velkých

stories na menší• Závisející/provázané stories• Příliš detailní – „goldplating“• Špatně prioritizované• Obsahují detailní popisy UI• Chyby v Akceptačních kritériích

Page 45: SCRUM_v2.5

[email protected]

CEREBRA s.r.o. www.cerebra.cz Pickova 1486/2

Praha Zbraslav 156 00IČO: 27538702

Dejte si s námi SC