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í |