This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
|
ostatni:scrum [2023/03/15 21:00] tomas created |
ostatni:scrum [2023/03/19 08:53] (current) tomas |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Lean ====== | ||
| + | Metodologie zahrnující Agile - iterativní přístup, nebo třeba Kanban. Lean (z Toyoty) dělá jen hodnotné věci, nehodnotné zahazuje. Principy: Eliminate waste, Amplify learning - learn from failures, Decision making - consider all posibilities, | ||
| + | |||
| + | 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 ===== | ||
| + | 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 principles: | ||
| + | - uspokojit zákazníka brzkýma a častýma dodávkama | ||
| + | - Příjmat změny, i když zdrží dodávku | ||
| + | - dodávat hodnoty často | ||
| + | - Business and development musi pracovat spolu na denní bázi | ||
| + | - Motivovat lidi a věřit jim | ||
| + | - přímá a otevřená komunikace | ||
| + | - Fungujici produkt je hlavní způsob měření stavu | ||
| + | - Dodávka je udržitelná, | ||
| + | - neustálá pozornost na kvalitu a dobrý design | ||
| + | - Jednoduchost | ||
| + | - Nejlepší řešení přichází přímo z týmu - důvěra týmu | ||
| + | - neustálé zlepšování a učení | ||
| + | |||
| + | == Agile project management (APM) == | ||
| + | Envision: product vision, project scope (requirements), | ||
| + | Speculate: epics - high lever requirelements, | ||
| + | Explore: sprint planning, delivering values, ...\\ | ||
| + | Adapt: learn and go back to speculate or to close - transition to the support\\ | ||
| + | |||
| + | ====== Scrum ====== | ||
| + | Reference: | ||
| + | www.scrumguides.org\\ | ||
| + | |||
| + | Pilíře: transparence, | ||
| + | |||
| + | Values: Commitment, Focus, Openness, Respect, Courage | ||
| + | |||
| + | Proces Product backlog -> sprint planning -> sprint backlog -> sprint run, standups -> sprint review | ||
| + | |||
| + | 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 | ||
| + | |||
| + | **Balances score cards**, obsahuji future orientation metrics Employee metriky, (business values delivered by scrum - saving and revenue, new features, faster delivery), excelence metrics - predictibility of time to feature, prodductivity of team, quality metrics - defects, issues, customer orientation metrics - protuct performance, | ||
| + | |||
| + | ==== Backlog ==== | ||
| + | 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, | ||
| + | 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 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 | ||
| + | |||
| + | Definition of Done - obecne pravidlo, co platí pro všechny user story (plně implementováno, | ||
| + | |||
| + | 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 | ||
| + | |||
| + | Minimaly marketable feature mmf | ||
| + | |||
| + | == Hodnota user story == | ||
| + | Business value: New revenue, incremental revenue, retained revenue (aby neodešli), operational efficiency — top priority | ||
| + | |||
| + | Benefit cost analysis | ||
| + | Payback period - za kolik let se investice vrati: 100000 investice, 25000 naklady, 4 roky navrat | ||
| + | Returnon investment 25k/ | ||
| + | Net present value npv | ||
| + | Internal rate of value irr | ||
| + | |||
| + | == Estimace == | ||
| + | Storypoints - univerzální, | ||
| + | 1 small | ||
| + | 5 medium | ||
| + | 13 big | ||
| + | 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 | ||
| + | |||
| ===== Role ===== | ===== Role ===== | ||
| - | SM Scrum master | + | SM Scrum master |
| - | PO Project owner | + | |
| - | Team | + | 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 ===== | ===== Ceremonie ===== | ||
| - | Refinement | + | == Backlog |
| - | Planning | + | detailní dolaďování věcí v backlogu: prioritizace, |
| - | Daily stand-up\\ | + | |
| - | Demo\\ | + | == Sprint |
| - | Retrospective\\ | + | závazek na dodán, cíl sprintu |
| + | |||
| + | == Daily stand-up/daily scrum == | ||
| + | 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.\\ | ||
| + | |||
| + | |||
| + | |||
| + | Velocity and planning - velocity - productivity of the team - work done in a sprint in story points, average value for past sprints | ||
| + | |||
| + | Planning onion - vision, roadmap, release, sprint, daily | ||
| + | |||
| + | Release planning - goal of release, select stories aligned to the goal, estimate and prioritize, determine sprint size, estimate team velocity, assign individual user stories to the sprint - do it together, to not have aggressive release plan | ||
| + | Good to assign just some first iterations, rest of backlog tentative. Possible to use buffer. Plan can change | ||
| + | |||
| + | Release planning process flowchart | ||
| + | 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 | ||
| + | |||
| + | ==== Měření, budíky stavu vývoje ==== | ||
| + | |||
| + | Burn down and burn up charts (information radiators) | ||
| + | Burn down chart -linear chart how many work rest to the end of the project (ideal task remaining versus actual work) | ||
| + | burndown bar chart - similar, but bars, starting from 0 or another number | ||
| + | burn-up chart - how much done since start of project | ||
| + | parking lot chart - project stutus - features groupped, green done, red attention, yellow in progress | ||
| + | Scrum board - kanban board - todo, doing, done | ||
| + | Nico Nico calendar - feeling of every of team - smaily per user and day | ||
| + | |||
| + | |||
| + | * Měříme jen podstatné věci | ||
| + | * Zaměřujeme se na trendy a předpovědi, | ||
| + | * zaměření na týmové metriky | ||
| + | * měříme pro zlepšování, | ||
| + | |||
| + | Other information radiators: | ||
| + | Impediment log - list of impediments, | ||
| + | cummulatiove flow diagram - square with status of workitems blue - backlog, green started yelllow designed, grey coded, red complete - in time | ||
| + | |||
| + | |||
| + | ==== Velké projekty ==== | ||
| + | - omezit velikost backlogu na 150, víc detailu ke storkám dříve | ||
| + | - 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 - pokud se jim věnuje, mohou být podporovatelé | ||
| + | |||
| + | Č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í | ||