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

7 rad pro začínající webové vývojáře

Umíte vytvářet jednoduché webové stránky nebo mobilní aplikace a chtěli byste si efektivně osvojit nové přínosné dovednosti a vyvíjet co nejkvalitnější systémy? Jsem vývojářkou iQuest týmu, s pracovní zkušeností zhruba rok, a každodenní využití těchto principů mi pomohlo posunout se dopředu za relativně krátkou dobu. Těchto 7 rad vám pomohou posunout se dál a zároveň se vyvarovat zbytečného stresu. Začněte něčím jednoduchým Začněte s něčím malým a jednoduchým, kde máte velkou šanci úkol zvládnout. Buďte trpěliví. Jakmile ovládnete základy, začněte je aplikovat na dílčí úkoly komplexnějších věcí. Zvolte vhodné prostředí pro rychlejší rozvoj Najděte společnost, která je ochotna vás rozvíjet, a s kterou budete vzájemně spokojeni. Myslím, že je hodně důležité hledat firmu, kde si lidé navzájem pomáhají. Něco nevědět není známkou slabosti, obzvlášť v této profesi Jestli něco nevíte, je dobré se nad věcí zamyslet a co nejpřesněji zformulovat a popsat svůj dotaz. Odpověď s

Průvodce pro začátečníky ke spuštění a propagaci aplikace.

Poprvé vyvíjíte mobilní aplikaci ? Určitě máte spoustu otázek: Stojí to za to? Má to smysl? Jak se o tom lidé dozvědí? Zde jsou nejobvyklejší otázky a odpovědi, které pomohou začátečníkům vyvinout úspěšnou aplikaci. Mám hodně různých nápadů. Který si mám vybrat? Nejúspěšnější podnikatelé si vybudovali vlastní podnikání tím, že uvádí do praxe mnoho svých myšlenek. Proto se neomezujte na jednu myšlenku. Vytvoření aplikace je podobné vydávání hudebního singlu. Nikdy nevíte, který single přinese úspěch. Nápady testujte v aplikaci 4 až 6 měsíců, a pokud nevidíte rostoucí uživatelskou základnu, přejděte na další nápad. Mám nápad na aplikaci. Čím mám začít? Začněte tím, že svůj nápad jasně a podrobně popište na papír. Zkuste vytvořit detailní wireframe/šablonu budoucí aplikace. Poté, co jste určili vaše požadavky, potřebujete profesionální vývojářskou společnost, která bude schopna udělat návrh, projekt a vyvíjet Vaši aplikaci. Jak zjistím, jestli má uživatel zájem o mou aplikaci? M