This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
ostatni:scrum [2023/03/18 16:23] tomas |
ostatni:scrum [2023/03/19 08:53] (current) tomas |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Agile a Scrum ====== | + | ====== |
- | Agile je jeden project management metodologie, | + | Metodologie zahrnující |
- | Waterfall - změny drahé, musí se zmrazit požadavky, komplexní vše naplánovat, | + | |
+ | Kanban (Toyota): Princip toku: Zaměřování na odstraňování problému. Vizualizace (Kanban board(, omezení počtu věcí v in progres stavu. Lead time - start to end time for a process, čas na dodání produktu. Cycle time - čas na dodání. Lead time = work-in-progress/ | ||
+ | |||
+ | ====== Agile ====== | ||
+ | Agile je jeden project management metodologie, | ||
+ | Waterfall - (inicializace, | ||
+ | |||
+ | XP Extreme Programming - Test driven development, | ||
+ | |||
+ | Crystal - Frequent delivery, Reflective improvement, | ||
+ | |||
+ | DSDM - Dynamic Systems Develepment Method - www.agilebusioness.com. Principy: User involvments, | ||
+ | Timeboxing in MoSCoW prioritization - Time limit is fixed, tasks are fit into timebox (day, week, release). Must Should, Could Won't done now. Every timebox we decide what is M, S, C, W. Must< | ||
===== Reference ===== | ===== Reference ===== | ||
Exin handbook for scrum masters and product owners\\ | Exin handbook for scrum masters and product owners\\ | ||
+ | www.stateofagile.com - proč agile\\ | ||
+ | www.standishgroup.com - statistiky firem\\ | ||
Agile Manifesto - popisuje hlavní hodnoty Agilního přístupu - Individuum > proces, funkčnost > dokumentace, | Agile Manifesto - popisuje hlavní hodnoty Agilního přístupu - Individuum > proces, funkčnost > dokumentace, | ||
Agile principles: | Agile principles: | ||
- | 1 uspokojit zákazníka brzkýma a častýma dodávkama | + | - uspokojit zákazníka brzkýma a častýma dodávkama |
- | 2 Příjmat změny, i když zdrží dodávku | + | |
- | 3 dodávat hodnoty často | + | |
- | 4 Business and development musi pracovat spolu na denní bázi | + | |
- | 5 Motivovat lidi a věřit jim | + | |
- | 6 přímá a otevřená komunikace | + | |
- | 7 Fungujici produkt je hlavní způsob měření stavu | + | |
- | 8 Dodávka je udržitelná, | + | |
- | 9 neustálá pozornost na kvalitu a dobrý design | + | |
- | 10 Jednoduchost | + | |
- | 11 Nejlepší řešení přichází přímo z týmu - důvěra týmu | + | |
- | 12 neustálé zlepšování a učení | + | |
- | ===== Role ===== | + | == Agile project management (APM) == |
- | SM Scrum master | + | Envision: product vision, project scope (requirements), |
- | PO Project owner | + | Speculate: epics - high lever requirelements, |
- | Team | + | Explore: sprint planning, delivering values, ...\\ |
+ | Adapt: learn and go back to speculate or to close - transition to the support\\ | ||
- | ===== Ceremonie | + | ====== Scrum ====== |
- | Refinement - detailní dolaďování věcí v backlogu: prioritizace, | + | Reference: |
- | Planning - Rozdělění věcí z backlogu určených pro daný sprint v týmu, úkoly pro sprint určuje PO\\ | + | www.scrumguides.org\\ |
- | Daily stand-up\\ | + | |
- | Demo\\ | + | |
- | Retrospective\\ | + | |
+ | Pilíře: transparence, | ||
- | PO Project Owner - prioritize stories | + | Values: Commitment, Focus, Openness, Respect, Courage |
+ | Proces Product backlog -> sprint planning -> sprint backlog -> sprint run, standups -> sprint review | ||
- | DEEP | + | cesta ke Scrumu |
+ | ADAPT (Awareness, Desire, Ability, Promotion, | ||
+ | ADKAR (Awareness, Desire, Knowledge, Ability, Reinforcement)\\ | ||
+ | Musíme vědět co očekáváme a jestli to Scrum donese | ||
- | Backlog: | + | **Balances score cards**, obsahuji future orientation metrics Employee metriky, (business values delivered by scrum - saving and revenue, new features, faster delivery), excelence metrics |
- | - user story - dává hodnotu, user perspective | + | |
- | - Epic - velké user story na několik sprintu, obsahuje několik storek | + | |
- | - Feature - jedinečná vlastnost, která se dodá do produktu | + | |
- | - Task | + | |
- | Jak dělit storku: podle transakcí | + | ==== Backlog ==== |
- | podle deta, investigace | + | Seznam pracovních úkolů pro projekt, tým, produkt, sprint. Typy úkolů: |
+ | * user story - dává hodnotu, user perspective | ||
+ | * Epic - velké user story na několik sprintu, upravidla obsahuje několik storek | ||
+ | * Feature - jedinečná vlastnost, která se dodá do produktu - jedna nebo více storek | ||
+ | * úkoly na adresování rizik (SPIKE story) | ||
+ | * Bug - úkoly na opravy chyb | ||
+ | * Task | ||
+ | |||
+ | ==== User story ==== | ||
+ | User storka je popis požadavků z uživatelské perspektivy. Přináší benefit pro uřivatele nebo investora.\\ | ||
+ | |||
+ | INVEST model k popsání User story - Independent, Negotiables, Valuable, Estimable, Small, Testable.\\ | ||
+ | Independent na ostatních user story, Negotiable - dobře popsané, Valuable - hodnota pro business, Estimable - dost informací potřebných k udělání, Small dost malé na dodělaní ve sprintu, Testable - acceptance test | ||
+ | |||
+ | Story card: Nadpis, kód, popis kdo co chce a proč, acceptance criteria, priorita | ||
+ | |||
+ | Acceptance criteria od PO. Jak se to chová za kterých podmínek - funkční, nebo nefunkční kriteria (bezpečnost, | ||
+ | |||
+ | Charakteristika úkolů v backlogu - DEEP: | ||
+ | * Detailed properly | ||
+ | * Estimated | ||
+ | * Emergent | ||
+ | * Prioritized | ||
+ | |||
+ | Rozdělění storek na měnší: | ||
+ | * Operational boundaries: create, retrieve, update, delete | ||
+ | * data boundaries: uživatel, produkt, ... | ||
+ | * Separate exceptions | ||
+ | * Research vs implementation | ||
+ | * separate non functional requirements: | ||
+ | |||
+ | Story mapping: minimally marketable feature - zobrazení klíčových aktivit jako diagram | ||
+ | |||
+ | Business value - new revenue, Incremental revenue from existing customers, Retained revenue from who wants leave, operational efficiency | ||
+ | |||
+ | Benefit-cost analysis: Payback period - za jak dlouho se vyplatí nová funkcionalita 100k/25k=4 roky, net present value (npv), return of investment 25k/ | ||
+ | |||
+ | Prioritizace - value risk matrix - 1) high risk, high value, 2) low rirsk, high value 3) low value low risk (do or not to do) low risk, low value, Kano model : Mandatory, linear - story které udělají zákazníka spokojeným, | ||
User persona - Hypotetický uživatel - umožnuje se vcítit do uživatele. Jméno, role, učel co chce udělat, jeho běžné činnosti | User persona - Hypotetický uživatel - umožnuje se vcítit do uživatele. Jméno, role, učel co chce udělat, jeho běžné činnosti | ||
- | Story | ||
- | INVEST - independent na jiných věcech, Negotiale (need, not solution), Valuable - hodnota popsaná ve story, Estimable, Small, Testable - acceptance test | ||
User story format: Co kdeo chce, co chce udělat a proč, detaily, acceptance criteria | User story format: Co kdeo chce, co chce udělat a proč, detaily, acceptance criteria | ||
As a accountant, I waould like accoubt screen to be simple that I do not have to scroll up and down | As a accountant, I waould like accoubt screen to be simple that I do not have to scroll up and down | ||
- | Definition of Done - obecne pravidlo, co platí pro všechny user story (otestovano, | + | Definition of Done - obecne pravidlo, co platí pro všechny user story (plně implementováno, |
- | Definition of Ready | + | |
+ | Definition of Ready - pravidla pro to, že jsme připraveni pracovat na storce - rozumíme? Máme akceptační kritéria? Máme na to dost lidí/ | ||
Acceptance criteria - pro story | Acceptance criteria - pro story | ||
Minimaly marketable feature mmf | Minimaly marketable feature mmf | ||
+ | == Hodnota user story == | ||
Business value: New revenue, incremental revenue, retained revenue (aby neodešli), operational efficiency — top priority | Business value: New revenue, incremental revenue, retained revenue (aby neodešli), operational efficiency — top priority | ||
Line 71: | Line 122: | ||
Internal rate of value irr | Internal rate of value irr | ||
- | Prioritizace | + | == Estimace == |
- | Value risk matrix - high risk, high value, high risk low value…. | + | |
- | Kano model | + | |
Storypoints - univerzální, | Storypoints - univerzální, | ||
1 small | 1 small | ||
Line 81: | Line 129: | ||
linear or fibonaci, if betveen, then higher | linear or fibonaci, if betveen, then higher | ||
+ | Metoda estimace: Affinity estimation - vytřídíme všechny story cards od nejmenších po největší, | ||
+ | |||
+ | Planning poker, read story point, than discuss, than every choose size, than discussion, than agreement on size www.planningpoker.com | ||
+ | fun, involves all, effective, discuss risks | ||
Ideal time - absolutni cas na storku - lisi se clovek od cloveka, lepe se vysvetli mimo tym | Ideal time - absolutni cas na storku - lisi se clovek od cloveka, lepe se vysvetli mimo tym | ||
- | Story card - popis, estimace, | + | ===== Role ===== |
+ | SM Scrum master | ||
+ | |||
+ | PO Project owner - Vytváří vize produktu a diskutuje ji se zákazníkem, | ||
+ | |||
+ | Agile Team - Malý, max 9 lidí, multifunkční tým, odborníci v jedné oblasti, ale schopní učit se dělat obecné věci v jiných doménách, různí lidé (pohlaví, věk, etnikum). Tým musí být samostatný, | ||
+ | |||
+ | |||
+ | ===== Sprint ===== | ||
+ | Délka sprintu je obvykle 1-4 týdnů, závislá na: | ||
+ | - stabilitě backlogu - často se mění, kratší sprint | ||
+ | - obtížnosti úkolů - delší úkoly delší sprint, cenou iterace - víc ceremoniálů, | ||
+ | - získavání odezvy zákazníka a akcionářů | ||
+ | |||
+ | ===== Ceremonie ===== | ||
+ | == Backlog Refinement/ | ||
+ | detailní dolaďování věcí v backlogu: prioritizace, estimace, | ||
+ | |||
+ | == Sprint Planning == | ||
+ | závazek na dodán, cíl sprintu určuje PO, tým si rozdělí úkoly pro sprint a mezi sebou. Objem úkolů buď podle historické výkonnosti týmu (velocity-driven approach), nebo jak se tým dohodne a zaváže (commitment-driven approach). Tým se musí shodnout a pochopit úkoly a akceptační kritéria. Pokud si tým bere moc, nebo málo, SM chce zdůvodnění. Musí se respektovat dovolená a svátky | ||
+ | |||
+ | == Daily stand-up/ | ||
+ | Tým + SM. Co se stalo včera, co se bude dělat dnes, co je za problémy. Neslouží k micromanagementu, | ||
+ | |||
+ | == Sprint Review/Demo == | ||
+ | tým, SM, PO, mohou být akcionáři či jiná audience. Cíl je prezentovat produkt sprintu, získat odezvu a případně přidat nové úkoly do backlogu. Výsledek musí být příjmán pozitivně, stejně tak zpětná vazba. Nemá se moc diskutovat nové řešení, ale očekáváni.\\ | ||
+ | |||
+ | == Retrospective == | ||
+ | tým + SM - zviditelnit problémy a najít cestu, jak to dělat lépe. Tým by měl vzít zlepšení pro sebe, ne jen obviňovat. Příležitost i k oslavám.\\ | ||
- | Affinity estimation - sort all storycards from smallest to biggest, then estimate by fibbonaci, or t-shirt size - relative | ||
- | sizes | ||
- | Planning poker, read story point, than discuss, than every choose size, than discussion, than agreement on size www.planningpoker.com | ||
- | fun, involves all, effective, discuss risks | ||
Velocity and planning - velocity - productivity of the team - work done in a sprint in story points, average value for past sprints | Velocity and planning - velocity - productivity of the team - work done in a sprint in story points, average value for past sprints | ||
Line 102: | Line 178: | ||
determine High level business goals —> decide epics, storeies -> estimate user stories, -> | determine High level business goals —> decide epics, storeies -> estimate user stories, -> | ||
Common failure - use sprints for specific activities, not for deliverables -> schedule risks, longer go from idea to feature | Common failure - use sprints for specific activities, not for deliverables -> schedule risks, longer go from idea to feature | ||
+ | |||
+ | ==== Měření, budíky stavu vývoje ==== | ||
Burn down and burn up charts (information radiators) | Burn down and burn up charts (information radiators) | ||
Line 111: | Line 189: | ||
Nico Nico calendar - feeling of every of team - smaily per user and day | Nico Nico calendar - feeling of every of team - smaily per user and day | ||
- | Measure just what matter, | + | |
- | focus on trends and forecasts, not only values | + | * Měříme jen podstatné věci |
- | focus on team metrics | + | * Zaměřujeme se na trendy a předpovědi, ne jen na hodnoty |
- | measires for improvement, not punish | + | * zaměření na týmové metriky |
+ | * měříme pro zlepšování, ne pro trestání | ||
Other information radiators: | Other information radiators: | ||
Line 121: | Line 200: | ||
- | User story -requirements from use perspective | + | ==== Velké projekty ==== |
- | Epic - large user story which cannot be delivered in singe spring | + | |
+ | - používat Epiks a Themes | ||
+ | - Product line owner nad PO, Chief product owner | ||
+ | - one backlog per product, týmy mají jen view na svoje | ||
+ | |||
+ | Scrum-of-scrums | ||
+ | |||
+ | Standup zástupců jednotlivých týmu, nemusí být denně, probírají sezávislosti, | ||
+ | |||
+ | Plannig practices | ||
+ | |||
+ | - pravidla pro estimaci, aby všichni měli podobné estimace | ||
+ | - kick-of meeting - zástupci různých týmů | ||
+ | - look-ahead plan - přemýšlet víc plánů dopředu, hledat závislosti | ||
+ | - feeding buffer - extra dny mezi závislosti, | ||
+ | - Establish integration teams - poskytují integrační nástroje, automatické testy ... | ||
+ | |||
+ | FDD Feature Driven Development | ||
+ | |||
+ | Scaling Framework | ||
+ | |||
+ | Scaled Agile Framework SAFe - practices for scaled scrum. scaledagile.com | ||
+ | |||
+ | Team level | ||
+ | Program level | ||
+ | Portfolio level | ||
+ | |||
+ | Large Scale Scrum LeSS | ||
+ | |||
+ | www.less.works Principes: | ||
+ | |||
+ | - Transparency | ||
+ | - More with Less | ||
+ | - Whole product focus | ||
+ | - Customer centric | ||
+ | - CI | ||
+ | - Lean thinking | ||
+ | - System Thinking | ||
+ | - Queue theory | ||
+ | |||
+ | Scrum@Scale | ||
+ | |||
+ | Disciplined Agile | ||
+ | |||
+ | Nexus - skupiny týmů | ||
+ | |||
+ | www.scrum.org | ||
+ | |||
+ | == Geograficky distribuované týmy == | ||
+ | * důležitost komunikace | ||
+ | * vybírat časy vhodné skrz časové zóny, klidně zdvojit mítingy | ||
+ | * komunikace audiovizuální | ||
+ | * potřeba dát důvěru | ||
+ | * občas potřeba vidět se fyzicky | ||
+ | |||
+ | ==== Vhodnost Scrumu ==== | ||
+ | * Malé projekty | ||
+ | * Projekty, kde je více alternativ, kde se zkoumají možnosti | ||
+ | * Projeky, kde se mění často požadavky | ||
+ | * Projekty, kde se setkaváme se zákazníky | ||
+ | * Kde jsou potřeba ekonomické dodávky | ||
+ | * požadavky na časté dodávání, | ||
+ | |||
+ | Co ovlivňuje použití Scrumu: | ||
+ | * Vyspělost orgranizace na vysokou úroveň spolupráce | ||
+ | * Podpora pro měnící se plánování | ||
+ | * Ochota organizaci dát týmům autonomii | ||
+ | * Podpora managementu a zákazníka | ||
+ | |||
+ | ==== Nástroje ==== | ||
+ | == Porject management nástroje == | ||
+ | * Práce s backlogem | ||
+ | * tvoření releasu | ||
+ | * přiřazení úkolů lidem | ||
+ | * grafy a budíky | ||
+ | * Editace statusů | ||
+ | * Práce se storkama | ||
+ | * Práce s hierarchií | ||
+ | |||
+ | == Inženýrské nástroje == | ||
+ | * Automatizační nástroje | ||
+ | * testovací nástroje | ||
+ | * CI CD | ||
+ | * Validace kvality | ||
+ | |||
+ | == Testy == | ||
+ | Testovací pyramida: doporučené hodnoty 80% unit testy, 15% end-to-end testy, 5% UI testy | ||
+ | |||
+ | ==== Agile transformace ==== | ||
+ | * Malý expriment : malé riziko, lze vybrat vhodný projekt (malý nezíská důvěru, velký může ztratit důvěru a trpělivost. Ideální: z 2/3 největší, | ||
+ | * Všichni do toho : rychlejší transformace, | ||
+ | |||
+ | == Vzory adopce == | ||
+ | * public display - velká ochota organizace, versus tajný - pokud je silná resistence | ||
+ | * Split-and-seed uspěšný tym se rozdělí a realokují se lidi do ostatních týmů - agenti, rychlejší šíření | ||
+ | * Grow-and-split rozdělí se úspěšný tým na 2, hlubší šíření | ||
+ | * Technická adopce od prvního dne, nebo po krocích (když je resistence) | ||
+ | |||
+ | == Tým == | ||
+ | * evangelisti | ||
+ | * optimisti | ||
+ | * otevření skeptici | ||
+ | |||
+ | == Iterativnost a inkremence == | ||
+ | přidávat postupně. Backlog pro transformaci, | ||
+ | |||
+ | == Improvement comitee == | ||
+ | Skupina zaměřená na zlopšování, | ||
+ | Expectation up-front - nesmí být moc malé ani moc velké očekávání. | ||
+ | * Pocity týmu: moc času na schůzkách. Časem se naučí vést mítingy efektivněji | ||
+ | * Testeři : proč testovat opětovně nedokončenou práci? | ||
+ | * Hvězdy nechtějí ztratit slávu | ||
+ | * Procesně orientovaní: | ||
+ | * Zákazník: proč trávit tolik času s týmem? | ||
+ | |||
+ | Kulturní změny: | ||
+ | * zmenšit specializaci | ||
+ | * přiměřené výzvy | ||
+ | * sdílení znalostí a profesní růst | ||
+ | * čas na vzdělávání | ||
+ | | ||
+ | |||
+ | Typy lidí: | ||
+ | * konzervativní - prospěšní v plánování - vidí rizika | ||
+ | * pragmatici - umí dělat kompromisy a zklidňovat konflikty | ||
+ | * optimisti - šíří chuť do změn | ||
+ | |||
+ | == Řízení neochoty == | ||
+ | - sabotéři - aktivní, nemají rádi scrum - potřeba jednat pevně, sdílet úspěchy, když nepomůže | ||
+ | - Skeptici - pasivní, nemají rádi scrum - dodat data | ||
+ | - nasledovníci - pasivní, nemají rádi změny - dodat data a adresovat | ||
+ | - Diletanti - aktivní, nemají rádi změny | ||
- | value risk matrix - 1) high risk, high value, 2) low rirsk, high value 3) low value low risk (do or not to do) low risk, low value | + | Časté chyby: |
+ | * nedostatečné vysvětlení z managementu | ||
+ | * málo spolupráce | ||
+ | * příliš velké očekávání od investoru | ||
+ | * Překážky | ||
+ | * nedostatečné věnování se dokončování | ||
+ | * příliž ambicí, nebo žádné ambice si brát úkoly | ||
+ | * špatně popsané úkoly | ||
+ | * špatná kvalita | ||
+ | Kulturní změny: | ||
+ | * lidi musí cítit zodpovědnost za týmové cíle | ||
+ | * vyzdvihovat jinakost v týmu | ||
+ | * Self-organization, | ||
+ | * potřeba stanovit hranice kompetenci | ||
+ | * potřeba diskuzí | ||
+ | Maturity model\\ | ||
+ | * hodnocení, různé modely: Harman, Thoughtworks, | ||
+ | * vytvoření KPA (metrik) pro sledování | ||
+ | * plán na zlepšení | ||
+ | * implementace zlepšování |