Vyberte stránku

Porovnání agilních metod s waterfallem III

Čvn 22, 2018O strategiích, plánování nebo vitalitě

Předešlé články

V 1. díle k tomuto tématu – „Porovnání agilních metod s waterfallem I„, jsem jsem popsal obě metody a věnoval se výhodám a nevýhodám agilních metod. V pokračování – „Porovnání agilních metod s waterfallem II“ jste si mohli přečíst něco o výhodách a nevýhodách waterfallu.

Nyní si srovnáme obě metody podle oblastí použití.

Srovnání metod podle oblastí:

Agilní metodiky

Waterfall

I. Plánování, stanovení a řízení rozsahu aneb projektový „trojimperativ“

Agilní metodiky jsou výhodnější / upřednostněte tam, kde je:

  1. Prioritou (pevně stanovený) čas – tedy známý „Time To Market“ – co nejdříve dodat hodnotu. Nebo co nejrychleji ověřit hypotézu.
  2. Zdroje jsou určující faktor – se zdroji které jsou k dispozici.
  3. Rozsah je hlavním předmětem plánování – co všechno se dá zvládnout v rámci krátkého, pevného časového rámce (sprintu).

Waterfall bývá upřednostňován  tam, kde je:

  1. Prioritou je pevně stanovený rozsah / zadání – záměrem je dodat funkční celek podle zadání.
  2. Čas (doba) je omezující faktor – v čase, který je k dispozici často k zvolenému termínu nasarení (release).
  3. Zdroje jsou hlavním předmětem plánování – co k tomu je potřeba.

II. Filosofie dodávek

Agil je přírůsková metodika dodávající malé funkční celky.

  • Přináší potenciál dodávat maximální přidanou hodnotu (nevyvíjet nepotřebné funkcionality) spolu s rychlou zpětnou vazbou (možnost opuštění neperspektivního vývoje)
  • Je závislá na rychlém a kvalitním vyhodnocení a přehodnocení backlogu.
  • Přináší potenciál rychlého a účinného výsledku, který může být odlišný od původní celkové představy.

Waterfall je lineární metodika zaměřená na dodání definovaného celku (rozsahu)

  • Dodává definované zadání bez ohledu na přidanou hodnotu jednotlivých částí (až 70% funkcionalit je nepoužívaných nebo používaných jen zřídka).
  • K případným korekcím rozsahu (descoping)dochází až v případě tlaku na termín nebo rozpočet.
  • Změna zadání v průběhu je problematická a komplikuje nastavené procesy.
  • Garantuje obsah dodávky oproti zadání (výstupu analýzy).
  • Procesně zvládnutá metodika podpořená řadou frameworků.

III. Schopnost adaptace na měnící se podmínky a požadavky

  • Agilní metody jsou dynamické, flexibilní, schopné reagovat na změny (včetně změn očekávání zákazníka).
  • Náchylné na ztrátu fokusu.
  • U waterfall metod je pevně stanovená procesní posloupnost, kde změny ve formě změnových požadavků v průběhu destabilizují nebo komplikují projekt.
  • Fokus je zafixován zadáním (a následnou business analýzou).

IV. Udržení fokusu

  • Agilní metodiky jsou náchylné na ztrátu fokusu. Projekt se může rozmělnit.

  • Díky nevhodné, chybějící nebo ignorované zpětné vazbě chybné cílení / fokus.

  • U waterfallu je stanovený očekávaný výsledek a akceptační kritéria.

V. Styl uvažování

  • Agilní metodiky vyžadují hodnotově orientované, zákaznické / produktové myšlení.

  • Waterfall vyžaduje procesně projektový styl uvažování.

VI. Testování

  • U agilní metodiky je testování součástí každého přírůstku.

  • Umožňuje zachytit a odstranit chyby téměř okamžitě a snižuje tak riziko a náklady na opravu.
  • Nedorozumění a chyby v zadání jsou rychle detekovány.
  • Náročnější (komplexnější nebo specializované – například penetrační) testy mohou v součtu být časově náročnější. Popřípadě náplní jedno (a více) sprintů.
  • U Waterfall jsou testy celkové jako jeden z posledních kroků procesu.
  • Výsledky testování jsou podkladem pro akceptaci.
  • Detekované chyby mohou být (a často jsou) náročné na odstranění (nejsou-li podchyceny v zárodku).
  • Koncentrované testování může vést ke zvýšení časové efektivity testů.
  • Je snadnější uplatnit, zavést, měřit a kontrolovat testovávání jako nakupovanou službu (TaaS) a tedy řídit a kontrolovat náklady.

VII. Měření a řízení výkonnosti procesu aneb SLA, KPI, …

  • Agilní metodiky vynucují změnu přístupu k nastavení KPI.
  • KPI by se měly zaměřit na:
    • Dodání hodnoty
    • Účinnost týmu
    • Vlastní scrum team
  • U waterfallu je možné nastavit a použít „klasické“ systémy měření a řízení kvality a výkonnosti založené na měření a vyhodnocování procesu na „předávacích“ bodech (uzlech procesu).
  • Jednoduché lineární závislosti umožňují řídit proces „klasickými „manažerskými metodami.

VIII. Dokumentace

  • Oproti rozšířenému názoru vycházejícího z povrchního přečtení „agilního manifestu“ je dokumentace podstatná i pro agilní metodiky.

  • Často vznikají v minimalistickém rozsahu jako součást vývoje například formou komentování kódu.

  • U waterfall metodiky je průběžná tvorba formalizované a obsáhlé dokumentace nedílnou součástí procesu.
  • Bývá jednou z důležitých podmínek akceptace.
  • Obsah a forma často nabývají takových rozměrů, že bývá jen těžko udržovatelná a reálně použitelná.

IX. Kdy je vhodné metodiku nasadit

  • Agilní metodika v výhodná když  je nutná / výhodná rychlá iterace se zadavatelem / zákazníkem s cílem dodat udržet co největší hodnotu.

  • Je výhodou přírůstkový přístup.
  • Velikost / časová náročnost přesahuje dynamiku prostředí (čas dodání, nutné změny).
  • Waterfall je výhodný když je jasné a zafixované zadání

  • Velikost (časová náročnost) umožňuje dodání (a nasazení) v předem definovaných termínech.
  • Přínos je dostatečně zřejmý a nejsou nutné rychlé iterace.
  • Je výhodné zapojit dodavatele jednotlivých kroků jako službu (XaaS).
  • Pracujete-li metodikou software factory.

Závěr

V článcích  „Porovnání agilních metod s waterfallem I„, „Porovnání agilních metod s waterfallem II“ a „Porovnání agilních metod s waterfallem III“ jsem s maximální snahou o objektivní přístup shrnul a porovnal hlavní vlastnosti agilních metodik (zejména scrum) s warefall metodou. Vím, články jistě nejsou vyčerpávající.Určitě se najde mnoho dalších pohledů podle kterých srovnávat. Konečně na toto téma už bylo pár blogů, článků a knih napsáno. Sice podle mého někde více jinde méně tendenčně, přesto plných důležitých informací.

Při čtení tohoto článku Vás možná napadla lákavá myšlenka: „Při troše snahy“ by se daly obě metodologie zkombinovat. Vzít to nejlepší, nejvýhodnější, nej… z obou a vytvořit „supermetodiku“. Než se do takové akce pustíte, prosím, pořádně si to rozmyslete. Má letitá praxe (a mnohé zdroje) totiž ukazují, že takovéto hybridy až příliš často nefungují a výsledky jsou mnohem horší než kdyby byla zvolena a použita jedna z metodik.

Výjimkou z tohoto pravidla může být varianta nahrazení měkterých kroků waterfall metodiky agilním přístupem. Ale i v tomto případě bych byl velmi opatrný. Důsledkem by mohlo být vytvoření úzkých míst popřípadě snížení disponibility zdrojů.

Konec konců. Ono není potřeba číst mnoho studií  a  článků. Tento princip byl už popsán v jedné uznávané studii s názvem: „Pohádka o pejskovi a kočičce – jak pekli dort“. 😉

P.S.

Ač jsem se snažil o maximální objektivitu osobně preferuji lean a agilní přístupy. Mají spoustu výhod a umožňují lepší přispůsobení situaci včetně použití moderních strategických postupů a přístupů.

Doporučení a varování na závěr

  1. Než se pustíte do implementace agilních metodik ujistěte se že zejména klíčoví hráči porozuměli podstatě.
  2. Pokud si implementaci agilní metodiky představujete tak, že zavedete sprinty a agilní rétorikou „přebarvíte“ waterfall, tak se do toho ani nepouštějte. S velkou pravděpodobností neuspějete. V lepším případě dosáhnete „jen“ lépe řízeného waterfallu.
Share This