Přeskočit na hlavní obsah

Agile vs. Waterfall: Kterou metodu vývoje aplikace vybrat?


Když vytváříte projekt, téměř pokaždé si pokládáte tyto otázky: jak ho realizovat? Jak organizovat tým?
Na metodologii, pomocí které je startup spuštěn, závisí jak kvalita výrobku, tak časový harmonogram realizace.

Metoda vývoje software strukturuje mysl, tým a vytváří jasný obraz. Vidíte, v jaké fázi se projekt nachází a jaký krok se má podniknout dál. Zbývá pouze vybrat, kterou metodu zvolit.

Jak jsme již uvedli v názvu, budeme porovnávat Agile a Waterfall. Hned na začátku uvádíme, že neexistuje žádná jasná odpověď, výběr závisí na projektu.

Můžeme si ovšem říci o výhodách a nevýhodách.

Obě metodiky vývoje jsme probrali v článkach “Metody vývoje aplikací. Waterfall... Agile...”.

Vodopádový model


Vodopádový model jasně strukturuje vývoj projektu. Máme plán, který se skládá z jednotlivých etap, jehož výsledkem je konečný produkt.

Nápad

Startup začíná nápadem, který se Vám rozsvítí nad hlavou jako žárovka. Je třeba jasně pochopit, jaký message vysíláte cílovému publiku, a jaké cíle si stavíte před sebou. Pomůže Vám to organizovat projekt a vytvářet vizi konečného výsledku.

Dalším krokem je shromáždit tým, stanovit technické úkoly, termíny a pracovní povinnosti. Toto vše můžete dělat na papíře nebo přes speciální program (ERP).

Specifikace požadavků (Analýza)
Důležitou etapou je hledání nejlepších prostředků k realizaci nápadu, průzkum trhu a konkurence. Tím také zjistíme, kdo je naše cílová skupina.

Díky této analýze se myšlenka přemění, zbytečné prvky zmizí a na jejich místo přicházejí nové funkce, které jsou nezbytné pro implementaci.

Návrh
Ve vodopádovém modelu je tento proces na zvláštní pozici. I přes to, že obsah sotfwaru (backend) není jasný, vyvíjí se celý návrh včetně uživatelského rozhraní (front-end).

Implementace
V této fázi píšeme kód. Vývojáři se přizpůsobí k tomu rozhraní, které bylo graficky navržené a doplní je potřebnými funkcemi.

Integrace

Testování
Provádíme důkladné testování automatizovanými nástroji i precizními testery. Zbavujeme se chyb, abychom dodali dokonalý produkt zákazníkům.

Nasazení aplikace
Přivádíme produkt na trh, zahajujeme marketing, aby celý svět věděl o produktu! (alespoň cílové publikum)

Provoz
V průběhu provozu systému se má zákazník vždy na koho obrátit a konzultovat jak běžné operativní věci, tak složitější otázky úprav a rozvoje systému.

Struktura metodiky Waterfall je velmi jednoduchá, všechny kroky na sebe navazují, takže přesně víme, který krok bude následovat.

Agilní vývoj


Agile je flexibilní metodika vývoje software. Tým nemá přesně stanovené etapy, všechny jsou mezi sebou propojené a opakují se.
Projekt je rozdělen do iterací - cyklů. Každý z nich obsahuje plánování, analýzu, návrh, vývoj a testování.

Iterace jsou rozděleny na sprinty - 1 nebo 2 týdny, během kterých každý člen týmu má své úkoly. Každý den se tým setkává na briefingu, stanoví si denní cíle, sdělí si zprávy o úspěších za předchozí den.

Grafici neustále komunikují s vývojáři a testery, aktualizují rozhraní pro maximální kvalitu a použitelnost pro budoucí zákazníky. Analýza probíhá neustále se stejnými cíli.

Celý proces je maximálně flexibilní, po každé iteraci tým získává potenciálně pracující produkt, který analyzuje a může se zlepšit.

Podívejme se na výhody a nevýhody obou metodik.

Bez ohledu na to, že pečlivé plánování je velkým plusem metodiky Waterfall (provádí se hodnocení, koncepce, rozpočet, rizika jsou nastudované), pro hodně projektů je ale mínusem. První fáze zabírá spoustu času a zdrojů. Všechny prvky plánování lze provést v samotném procesu.

Kvůli tomu, že všechny etapy jsou od sebe oddělené, není možné nic měnit v návrhu a designu. Programátoři jsou nuceni se přizpůsobit již existujícímu rozhraní. Zákazník nezná svůj projekt až do fáze testování, když už je pozdě pro změny.

Na rozdíl od vodopádu jsou všechny procesy v Agile neoddělitelné. Všechny chyby, které tester zjistí, tak programátor okamžitě opraví. I rozhraní se může měnit. V metodice Agile je kladen velký důraz na kvalitu výrobků, která se zlepšuje a přizpůsobuje se v průběhu práce.

Jedna z výhod Agile je to, že klient je ponořen do projektu, může kdykoli zkontrolovat proces vývoje, účastnit se jednání s týmem na konci sprintu a navrhnout změny.

Během práce na Agile byste měli pamatovat na výzvy a vědět, jak se s nimi vyrovnat:

  • Musíte se plně zapojit do všech procesů, abyste byli v obraze a neudělali chybu, protože všechny procesy se dějí současně. V honbě za vylepšením nezapomeňte na počáteční požadavky klienta.
  • Nezadávejte příliš mnoho úkolů na jeden sprint, zhoršuje to kvalitu práce. Rozdělte jeden velký úkol do několika malých.

Při výběru metody dodržujte zásady, které jsou pro projekt důležité. Zvolte Waterfall, pokud máte pevný seznam požadavků a jasnou představu konečného produktu. Agile se zaměřuje na odvětví, kde se neustále mění standardy, objevují se nové technologie. U Agile se s nimi můžete vyrovnat přímo během procesu.

V iQuestu si dáváme záležet na potřebách našich zákazníků a vyvíjíme aplikace s použitím obou metod, Agile a Waterfall.

Komentáře

  1. Dobrý den, děkuji za pěkný článek. Máme zkušenosti taktéž s oběma metodami. Hodně práce nám teď šetří speciální software pro plánování projektů (https://www.easyproject.cz/software-pro-rizeni-projektu/integrace), dříve jsme měli spousty nástrojů, ale nechali jsme si to vše importovat do jednoho schopného pomocníka.
    Zdraví a přeje hezký den
    Zuzka

    OdpovědětVymazat

Okomentovat

Populární příspěvky z tohoto blogu

10 způsobů jak se naučit programovat samostatně.

Programování je jednou z nejcennějších dovedností pro profesní růst, osobní rozvoj a vytváření něčeho úžasného. Je čas popsat deset tipů pro ty, kteří právě začínají svou cestu do programovacího světa. 1. Zjistěte, proč chcete programovat Zvolený směr ve výuce bude záviset na tom, proč se chcete naučit programovat a jak dlouho jste ochotni věnovat tomuto procesu. Pokud chcete být programátorem, je třeba začít s odborným kurzem (společnost Google sestavila seznam dovedností a kurzů pro ty, kteří chtějí být programátorem). Pokud chcete vytvářet hry a webové stránky pro zábavu ve svém volném čase, interaktivní kurzy jsou nejlepší volbou. Bloc vytvořil srovnávací tabulku kurzů v závislosti na zatížení, nákladech a důvodech k osvojení si programování. 2. Vyberte správný jazyk programování Neexistuje nejlepší programovací jazyk. Jakmile se naučíte jeden, nebude pro vás problém zvládnout další. Takže se nemusíte koncertovat na volbu pouze jednoho jazyka. Nicméně předpokládá s...

Co je MVP a proč se vyplatí být minimalistou při vývoji software?

Plánujete vývoj softwarové aplikace? Vydejte se cestou MVP, tedy minimálního životaschopného produktu (Minimal Viable Product). Velmi pravděpodobně vám to ušetří mnoho peněz a starostí. Co je MVP? Pojďme se podívat na to, co se za zkratkou MVP skrývá. MVP neboli minimal viable product je v našem případě software, který je spuštěn s nejmenší možnou funkcionalitou vyvinutou v co nejkratším čase a za co nejnižší možné náklady. Výsledkem je, že můžete rychle získat relevantní zpětnou vazbu od reálných uživatelů. Díky MVP zjistíte, co uživatelé OPRAVDU potřebují a chtějí. Konečný produkt (aplikace či služba) vzniká na základě získané zpětné vazby. V podstatě se jedná o strategii vývoje, která minimalizuje rizika při zavádění nových produktů a služeb a v praxi vám ušetří nejen peníze, ale i čas a energii.  Vývoj mobilní aplikace/software podle strategie MVP spočívá ve vytvoření nejjednodušší verze software , která má sice minimum vlastností a funkcí, ale zároveň je dostatečně výkonná, a...

5 důvodů k tvorbě rozsáhlého webu s použitím technologie umělé inteligence (AI).

Gartner ještě loni psal o tom, že všechny velké společnosti, které pracují v oboru elektronického obchodování, začnou používat hlasové a dokonce i video vyhledávání produktů před rokem 2021. Použití řešení na základě umělé inteligence ve vývoji webových stránek umožní internetovým obchodům lépe porozumět potřebám a náladě svých spotřebitelů. V důsledku toho budou e-shopy schopné nabídnout každému zákazníkovi produkt, který přesně odpovídá jeho potřebám, a to na základě analýzy uživatelských preferencí. Futurologové předpovídají, že společnosti, které uplatní inovace na bázi umělé inteligence do roku 2020, zvýší své zisky o 30 %. V tomto článku vyjmenujeme 5 důvodů k použití technologie umělé inteligence pro vývoj webu. 1. Ještě rychlejší vyhledávání. Moderní uživatelé chtějí získat potřebnou informaci co nejrychleji a nejsnadněji. Hlasové vyhledávání je už teď velmi populární u mladší generace. Potřebujete předem předvídat možnost snadného vyhledávání Vašich webových strán...