Agile vs Waterfall

Description

Vítám vás v podcastu Cigiho Management.

Dneska chci udělat díl, kde si stručně projdeme nebo spíše poklábosím o Agilním vs Vodopádovém přístupu. Je to pro mě denní chléb a tak mi napadlo, že by to pro mě mohlo být takové to téma, které nezmíním jelikož mi to přijde jako jasná věc a že to všichni vědí.
Je to taková ta odborná slepost, kterou má každý z nás nezávisle na oboru. Kde člověk mluví ve své terminologii a vynechává věci, které jsou přeci jasné - bohužel si často neuvědomujeme, že druhá strana nemusí dosahovat takových znalostí a tak jen zůstává s otevřenou pusou a neví, co se děje.

Miniodbočka - lidi myslete na to, tohle je pro klienta neocenitelná věc, umět věci vysvětlit v jeho jazyku. Lidsky v jazyku, který ovládá každý z nás. Několikrát jsem se setkal s tím, že jenom tím, že s člověkem mluvíte takto - dokáže i přetáhnout klienta, aniž byste chtěli. V minulých týdnech, jsem zrovna toto řešil, volala mi klientka, které děláme drobný rozvoj na webu, taková stará bokovka. Myslím ten web, ne ta pani. Haha. Hosting i doménu má u někoho jiného, neustále jí web padá, nechodí e-maily, doména není v jejím vlastnictví - snažila se to s jistou agenturou řešit, ale tam jí technici plácali do telefonu odborné pojmy, které paní vůbec nechápala, já jí to vysvětlil lidsky a už mi prosila, jestli by k nám nemohla přejít kompletně.

No ale zpět k Agile a Vodopádu.

Možná než začnu, tak jen zmíním, že jsem velkej Agile fanda a tak možná nějaké moje povídání bude znít neobjektivně - nic to ale nemění na tom, že ty principy a rozdíly Vám vysvětlím. Bohužel se jen neubráním tomu, že budu nadržovat Agilu.

Ještě chci zmínit výslovnost Agile. Tím, že se jedná o mezinárodní věc, je to slovo hrozně znásilněné a i v češtině jsem slyšel spousty verzí. Já osobně začátek slova používám z anglického Agile a potom skloňuji česky - Agilu, Agilem. Vím, prasečina, ale nějak jsem se to tak naučil. Agile se ale i počešťuje a jsou agilní metodiky nebo agilní způsob vývoje projektu. Bohužel jsem slyšel už i verze jako „adžl“, „agil" apod. Takže jen abyste věděli, kdyby na Vás někdo začal solit tyto bomby.

Kdybych tedy měl začít úúúúplně od začátku, tak jsou to dvě metodiky projektové řízení. Tzn. zase úplně jednoduše řečeno, Vám ty metodiky pomůžou dotáhnout projekt do konce. Pomocí nějakých metod řekněme, nebo metodický pokynů, taky jde říci doporučených praktik či postupů - lehčí popis mi asi nenapadá a myslím, že je to z toho dost pochopitelné.

Základní rozdíl je v postupu vyhotovení projektu. Zatímco Vodopád, dělá jednotlivé fáze tvorby IT projektu po sobě a ve velkých blocích, tak Agile dělá práci v menších bloků, ale ty bloky neustále opakuje. Zmínil jsem IT projekt, pro zjednodušen si představte zkrátka aplikaci, jakoukoliv mobilní nebo webovou aplikaci. Mobilní aplikace asi všichni známe ne? Třeba Instagram, abychom si to uměli lépe představit.

Vývoj aplikace ve Vodopádu by byl:

  • Analýza požadavků

  • Soupis zadávací dokumentace

  • Grafický návrh

  • Implementace

  • Předání

Agile by měl tyto kroky stejné, ale několikrát by se opakovali a při každém kolečku by se do aplikace přidali funkce, které vyšli z uživatelského feedbacku.

Zkusím to upřesnit na tom Instagramu. Vodopád, by dodal Instagram tak, jak ho známe dneska všichni, se všemi funkcemi a řekněme po roce (jen pro představu). Nebudu zabrušovat do toho, že by se velmi pravděpodobně na něco zapomnělo, což je jedna z vad Vodopádu, ale pro pochopení to stačí a pardon za to rejpnutí, jak jsem říkal, nefandím mu.

Agile by proti tomu dodal třeba za dva měsíce první výstup, což by třeba byla možnost fotit a dávat fotky na zeď. Pak bychom se lidí zeptali, co by chtěli a zjistili bychom, že příběhy. Tak by se za další měsíc přidala funkce příběhů. Pak bychom se znovu zeptali a zjistili, že lidi chtějí například ty výběry na svém profilu, aby si mohli uchovat vzpomínky v sekcích. Tak bychom přidali výběry po dalším měsíci toho mini kolečka analýza výběrů, dokumentace výběrů, grafika výběrů a implementace (čti programování). No a zkrátka takto by se tam přidali všechny funkce, jako sbírky, nastavení, popisek na profilu, sledování ostatních, sponzorované nabídka, atd atd, zkrátka jak známe Instagram dnes. A malá nápověda - ano, Instagram se takto vyvíjí i dnes.

Věřím, že díky Instagramu všichni pochopili rozdíl a jedeme dál.

Kdybych šel hlouběji v odbornosti, tak asi nejpoužívanější znázornění rozdílu, je taková grafická pomůcka, kterou se tedy pokusím slovně popsat. Jedná se o trojúhelník, kde si prosím na každém jeho rohu/vrcholu představte náklady, rozsah a čas. Existují diagramy, kde doprostřed někdo ještě dává „kvalitu“, když ale vysvětluji trojúhelník klientům, tak jí tam nepíšu - nedává mi úplně smysl - nebo jsem to nikdy neslyšel vysvětlené rozumně.

Takže trojúhelník a na vrcholech má náklady, rozsah a čas!

Zapnou představivost teď a představte si, že zatímco u Vodopádového projektu je fixní vrchol trojúhelníku rozsah a neurčité vrcholy náklady a čas, tak u Agilu je to přesně naopak. Tzn. máme fixní náklady a čas, ale ne rozsah. Je to takové abstraktní zobrazení, ale pokusím se tu myšlenku trojúhelníku ještě popsat.
Ten trojúhelník říká, že v Agilu víte, že děláte třeba měsíční nebo 14 denní tzv. sprinty můžeme tomu říkat kolečka pro lepší zapamatovatelnost, a víte, kolik je nasazeno na projekt lidí a tzn. víte cenu po tom jednom kolečku. Nevíte ale rozsah a to z toho důvodu, že nevíte kolik se toho za to jedno kolečko stihne - ono to zní divně a negativně, ale není to tak, vy po několika kolečkách víte rychlost týmu a víte, co stihnou a co ne a tak se naplánují do kolečka jen funkce, které očekáváte, že stihnete plus něco navíc, kdyby náhodou - i proto je rozsah v ukázkovém trojúhelníku otevřený.
No a trojúhelník ve Vodopádu říká opak. Vy víte naprosto přesně co chcete, je na to zadávací dokumentace a je schválená a nebude tam nic víc, ani míň. Ale jelikož se dělá analýza a dokumentace na začátku projektu a ještě se ani nezačalo programovat, tak se hodně blbě odhadují případné pasti, které přijdou a které se nedomysleli v tom zadání. Proto není čas ani náklady fixní. Můžou se velmi lehce přestřelit původní optimistické odhady a jsme s náklady přes. Což způsobí samozřejmě i posunutí toho času.

Od trojúhelníku raději pryč, kdyžtak si to vygooglete 😄

Důležité je si u těch metodik pamatovat hlavně že Vodopád je několik kroků po sobě od A do Z. A Agile tyto kolečka opakuje a jede několikrát po sobě A-Z, A-Z, A-Z.

U Agilu a Vodopádu to řízení projektů ale ještě nekončí. Tyto dvě metody mají pod sebou ještě frameworky, nebo můžeme taky říci metodologie, jak ten Agile či Vodopád dělat.

Nejznámější framework Agilu je 100 % Scrum, dále to pak může být eXtrémní Programování, Lean, Vývoj řízený vlastnostmi, Vývoj řízený testy… Z Vodopádu to bude pak asi nejznámější PRINCE2 a pak to jsou PMBOK (Project management Body of Knowledge), IMPA a našel jsem nějaké ISA…o to jsem fakt jen zavadil, takže nebudu dělat chytrého.

Co by se hodilo říci teď? No tak třeba že ze statistického hlediska jsou Agilní metody úspěšnější než Vodopádové. Nicméně abych úplně nenadržoval Agilu, tak určitě existují projekty, kde je lepší použít Vodopád. Nicméně…a už se zase ozývá moje Agilní duše…v tomto zrychleném a rychle se měnícím světě, je za mě lepší používat Agile, protože umí lépe reagovat na změny - na rozdíl od Vodopádu, to je prostě fakt.

I když by se teď asi dalo povídat o nějakém frameworku, já myslím, že to pro začátečníky stačí a nechám to jen takto. Rozvést to můžeme jindy a můžu udělat díl třeba jen na Scrum.

Ještě mi napadlo zajímavé ukončení a to...

Pověry a rčení

Tak třeba, jak jsem již řekl, tak statisticky lepší model je Agile - to si vygooglete.

Dále zlý jazykové tvrdí, že projekt má dle své základní definice začátek a konec, takže používat Agile je nekonečné a větší smysl dává Vodopád. Nicméně samozřejmě i Agile může mít konec. Jenom se produkt nebo cokoliv vyvíjí postupně a s přírůstky k testování.
Ten jakoby hlavní rozdíl je, a proč dle zastánců Agilu není Vodopád správně, protože opět teoreticky se s projektem ve Vodopádu zavřete na půl roku do kanceláře a pak vyjdete ven s produktem. No a i s tím souvisí, že proto se říká že v Agilu není projekt, ale produkt. Když se nad tím zamyslíte, má to smysl. Projekt by měl mít ten začátek a konec, ale produkt by se měl pořád vyvíjet a zdokonalovat - teoreticky.

Další rčení je například že s Agilem dodáte dvojnásobnou hodnotu za polovinu času. 🙂

No, to by fakt mohlo jako úvod do metod řízení projektů stačit. Tohle byla tedy jen drobná odbočka, někdy si dáme třeba jen Scrum díl a příště se těšte na kritické myšlení!

Taky mi nezapomeňte pozvat na kafe na mém webu cígl.eu, říci o mě alespoň jednomu kamarádovi a napsat mi, co si o podcastech myslíte na jakub.cigl@gmail.com

Mějte se, páčko

Audio


Author and date

  • Jakub Cígl

  • Aug 12, 2020

Buy me a coffeeBuy me a coffee