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

14 tipů pro návrh ikon mobilních aplikací.

Ikona mobilní aplikace je malý obrázek, který prezentuje aplikaci v mobilním světě , na zařízení uživatele a na obchodech s aplikacemi. Pokud budete brzy vytvářet svoji mobilní aplikaci a návrh ikonky k tomu, přečtěte si tyto tipy. Pomohou vám vyhnout se chybám, se kterými se nováčci mohou setkat. Grafik by se měl soustředit na vzhled ikony, protože se uživatelé často pří výběru aplikace řídí právě vzhledem ikony. Proto nabízíme následující tipy pro vytvoření návrhu ikony mobilní aplikace. Postupujte podle pokynů mobilních výrobců Ikony neexistují samy o sobě, ale uvnitř grafického obalu určitého systému . Měly by se harmonicky vejít do rozhraní aplikace, nevypadat zvláštně vedle ikon jiných aplikací, ale současně být jedinečné. Proto vývoj ikony aplikace začíná seznámením se s příručkou výrobce systému. Zde jsou příručky, se kterými byste měli začít: Oficiální stránka věnovaná Material Design pro Android . Zde si můžete přečíst o stylu, animaci, komponente

Metody vývoje aplikací. Waterfall, V-model, Inkrementální model

Existuje několik osvědčených metod pro vývoj software, tzv. best practices. Volba konkretní metody závisí na specifikaci projektu, rozpočtu, subjektivní preferenci a dokonce i temperamentu vedoucího. V tomto článku krátce popíšeme základní metody vývoje webových a mobilních aplikací. «Waterfall Model» (model vodopádu) Jedna z nejstarších metod, zahrnuje postupné procházení etap, z nichž každá musí být plně dokončena, než se začne další. Pomocí modelu vodopádu je snadné řídit projekt. Vývoj je rychlý, náklady a doba trvání jsou předem definovány. Má to ovšem i druhou stránku. Vodopádový model poskytne vynikající výsledek pouze v projektech s jasnými a předem definovanými požadavky a způsoby jejich realizace. Není zde možnost udělat krok zpět, testování začne až poté, co je vývoj ukončen nebo téměř dokončen. Kdy použít model vodopádu? Pouze tehdy, když jsou požadavky známé, jasné a pevně stanovené. Rozporné požadavky neexistují. Nejsou žádné problémy s dost