Kanban vs. Scrum: co si zvolit pro malý vývojový tým
Scrum plánuje práci po sprintech, Kanban ji řídí průběžně podle limitu rozpracovaných úkolů. Ukážeme si jak vybrat vhodný přístup.
Shrnutí a kontext
Rozdíl mezi Kanbanem a Scrumem je v tom, jak tým plánuje práci: Scrum ji dělí do sprintů s pevným cílem, zatímco Kanban ji nechává plynout nepřetržitě a hlídá jen počet rozpracovaných úkolů. Malý tým s jednou až třemi aplikacemi většinou nepotřebuje plnohodnotný Scrum, ale ani čistý Kanban. V článku najdete porovnání obou přístupů, jednoduché pravidlo pro výběr a postup, jak mít odkaz na board a backlog u každé aplikace.
1. V čem se liší Kanban a Scrum
Scrum pracuje ve sprintech, tedy v časových úsecích dlouhých nejvýše měsíc, na jejichž začátku si tým vybere úkoly a na konci ukáže hotový výsledek. Kanban žádné úseky nemá: úkoly procházejí sloupci boardu průběžně a tým omezuje pouze v tom, kolik jich smí mít rozpracovaných najednou.
Oba přístupy patří k agilním a oba pracují s boardem a backlogem. Liší se tím, kolik pravidel předepisují, a proto se v malém týmu často kombinují.
| Scrum | Kanban | |
|---|---|---|
| Rytmus práce | Sprinty s pevnou délkou, nejvýše měsíc | Průběžný tok bez pevných úseků |
| Plánování | Na začátku sprintu si tým vybere úkoly z backlogu | Úkol se vezme, když se uvolní kapacita |
| Změna zadání | Ve sprintu se nemění, počká se na další | Kdykoli, nový úkol jde na řadu podle priority |
| Omezení práce | Rozsah sprintu určený plánováním | Limit rozpracovaných úkolů (WIP) na sloupec |
| Role | Product owner, scrum master, vývojáři | Žádné předepsané role |
| Pravidelné schůzky | Plánování, denní scrum, review a retrospektiva | Žádné předepsané, tým si zvolí vlastní |
| Co se měří | Rychlost týmu (velocity), cíl sprintu | Doba průchodu úkolu (cycle time), propustnost |
| Hodí se pro | Vývoj nových funkcí podle plánu | Údržbu, podporu a nárazové požadavky |
2. Co je to Scrum a co vyžaduje od týmu
Scrum je rámec, který definuje tři role, pět událostí a tři artefakty. Podle Scrum Guide tým ve sprintu plánuje, každý den si synchronizuje práci na denním scrumu, na konci sprintu ukáže výsledek na review a zlepšuje se na retrospektivě.
Pro malý tým to znamená dost režie. Pokud vás je pět nebo méně, schůzky můžete zkrátit, ale pevný sprint, backlog s prioritami a odhady zůstávají. Odhady vysvětluje článek o story pointech.
3. Co je Kanban a k čemu je limit WIP
Kanban je způsob řízení práce, který vizualizuje postup úkolů na boardu a omezuje počet rozpracovaných úkolů. Limit WIP (work in progress) určuje, kolik úkolů smí být ve sloupci najednou, například nejvýše tři v Probíhá. Když je sloupec plný, vývojář nejdřív dokončí rozpracovaný úkol a teprve pak si vezme další.
Díky tomu jsou na boardu vidět úzká místa: například pokud se úkoly hromadí ve sloupci Review, tým nestíhá kontroly naprogramovaných částí. Popis metody najdete v Kanban Guide.
4. Kanban nebo Scrum: co zvolit pro malý tým
Pro malý tým platí jednoduché pravidlo: čím víc práce tvoří nové funkce podle plánu, tím víc se hodí Scrum, čím víc práce přichází nárazově, tím víc se hodí Kanban. Chyby od zákazníků, údržba a drobné úpravy se do sprintu plánují obtížně, protože předem nevíte, kolik jich přijde a často přichází nárazově.
Scrumban je zkratka pro kombinaci: sprinty a role ze Scrumu doplněné o board s limity WIP z Kanbanu. Pokud tak už pracujete, nepotřebujete žádné další pravidlo.
5. Jak nastavit Kanban nebo Scrum board
Board nastavíte stejně v Jiře, YouTracku, GitHub Projects, GitLabu i Linearu: jako sloupce, které odpovídají vašemu postupu práce. Jira i YouTrack navíc při založení nabízejí šablonu Scrum nebo Kanban.
- 1
Pojmenujte sloupce podle skutečného postupu
Stačí čtyři až pět sloupců, například K řešení, Probíhá, Review, Testování a Hotovo.
- 2
Nastavte limit WIP u Probíhá a Review
Pro tým o třech lidech funguje limit 3 u sloupce Probíhá. Limit u sloupce Review pomáhá hlídat, aby kontroly nezůstávaly pozadu.
- 3
Seřaďte backlog podle priority
Nahoře leží úkol, který přijde na řadu jako první. Ve Scrumu z něj tým vybírá při plánování sprintu, v Kanbanu ho bere vývojář, jakmile se mu uvolní prostor.
- 4
Dohodněte, co znamená Hotovo
Napište si několik podmínek (Definition of Done), například že je kód v hlavní větvi, prošel review a je nasazený na testovací prostředí. Větvení vysvětluje článek o strategiích větvení v Gitu.
- 5
Oddělte práci na dluhu a opravách
Úkoly na úklid kódu označte štítkem, abyste je ve sprintu nebo ve frontě viděli. Postup popisuje článek o technickém dluhu.
6. Kde má být odkaz na board a backlog aplikace
Odkaz na board a backlog si uložte přímo k aplikaci, budete ho mít po ruce, ať už aplikaci vyvíjíte, testujete nebo zavádíte. Tým, který vede sprint board pro vývoj a kanban board pro podporu, má u jedné aplikace odkazy hned dva a bez společného místa je lidé běžně mají v záložkách svého prohlížeče.
V AboutTheApp přidáte odkaz na board, backlog nebo uložený filtr do kategorie Sledování úkolů. Odkaz je součástí aplikace a vidí ho členové týmu i zákazníci, kterým ho zveřejníte.
AboutTheApp se k Jiře, YouTracku ani GitHub Projects nepřipojuje a úkoly z nich nenačítá. Ukládá jen odkazy na místa, kde tým úkoly vede.
- 1
Otevřete aplikaci v dashboardu
V dashboardu AboutTheApp otevřete aplikaci v editoru a přejděte do části Odkazy.
- 2
Přidejte sprint board
Klikněte na Přidat odkaz, vyberte kategorii Sledování úkolů a vložte adresu boardu. Do popisku napište například „Sprint board“.
- 3
Přidejte kanban board a backlog
Stejným způsobem přidejte kanban board pro podporu a údržbu, backlog nebo uložený filtr, třeba s chybami od zákazníků.
- 4
Označte interní odkazy jako soukromé
Soukromý odkaz uvidí jen přihlášení členové týmu a ti, kdo zadají odemykací kód.
- 5
Přidejte odkaz jen pro zákazníka
Pokud má klient vlastní board, přepněte rozsah na daného zákazníka a odkaz přidejte jen k němu. Ostatní zákazníci ho neuvidí.
Časté otázky
Jaký je rozdíl mezi Kanbanem a Scrumem?
Scrum dělí práci do sprintů s pevnou délkou a předepisuje role a schůzky. Kanban nemá sprinty, úkoly procházejí boardem průběžně a tým omezuje počet rozpracovaných úkolů limitem WIP.
Co zvolit pro malý tým, Kanban nebo Scrum?
Pokud většinu práce tvoří nové funkce podle plánu, zvolte Scrum. Pokud převažují chyby, údržba a drobné požadavky, zvolte Kanban. Při smíšené práci použijte sprint board pro vývoj a kanban board pro údržbu.
Co je limit WIP v Kanbanu?
Limit WIP je nejvyšší počet úkolů, které smí být současně v jednom sloupci boardu, například tři ve sloupci Probíhá. Když je sloupec plný, tým nejdřív dokončí rozpracovanou práci a teprve pak začne novou.
Je Scrumban samostatný rámec?
Ne, je to označení pro kombinaci. Tým používá sprinty a role ze Scrumu a board s limity WIP z Kanbanu.
Potřebuje Kanban backlog a odhady?
Backlog ano, seřazený podle priority. Odhady ve story pointech Kanban nevyžaduje, tým místo nich sleduje dobu průchodu úkolu boardem.
Kde mít odkaz na board a backlog aplikace?
Nejlépe přímo u aplikace. V AboutTheApp přidáte odkaz na sprint board, kanban board a backlog do kategorie Sledování úkolů, interní odkazy označíte jako soukromé a odkaz na nástroj klienta přidáte jen danému zákazníkovi.
Ve zkratce
Scrum se hodí pro vývoj podle plánu vydání, Kanban pro průběžnou práci a údržbu a malý tým je často kombinuje. Ať zvolíte cokoli, odkazy na boardy a backlog mějte u aplikace.
Chcete mít boardy a backlog u aplikace?
Založte si zdarma aplikaci v AboutTheApp a připojte k ní odkazy na sprint board, kanban board, repozitář a prostředí.