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
Author and date
Jakub CÃgl
Aug 12, 2020