Přeskočit na hlavní obsah

Metody vývoje aplikací. RAD, Agile, Iterative model, Spiral


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í.


  1. «RAD Model» (rapid application development model nebo rychlý vývoj aplikací)



RAD model - druh inkrementálního modelu. V tomto modelu jsou komponenty nebo funkce vyvíjeny několika vysoce kvalifikovanými týmy paralelně - jako kdyby v několika mini projektech. Časové rámce jednoho cyklu jsou značně omezené. Vytvořené moduly jsou pak integrovány do jednoho pracovního prototypu.


RAD model zahrnuje následující fáze:
  • Obchodní modelování
  • Modelování dat
  • Modelování procesů
  • Sestavení aplikace
  • Testování


Kdy použít RAD-model?


Může být použit pouze v přítomnosti vysoce kvalifikovaných a specializovaných architektů. Rozpočet projektu má být dostatečně velký. RAD-model může být zvolen při jisté znalosti cílového podnikání a nezbytnosti okamžité realizace systému během 2-3 měsíců.


  1. «Agile Model» (Agilní vývoj)

V agilním vývoji dochází k rozdělení vývoje do 1-2 týdenních etap, ve kterých se vždy hodnotí a okomentuje hotová funkcionalita a definuje se další vývoj. Zákazník tak může sledovat, zda se vývoj ubíhá požadovaným směrem a v případě potřeby jej může upravit. Nevýhodou agilního vývoje je fakt, že je velmi těžké odhadnout celkové náklady a potřebný čas pro vývoj systému.


Způsob návrhu a vývoje
  • Před programováním vzniká méně detailní projekt.
  • Jsou orientačně naceněny a načasovány jednotlivé moduly systému.
  • Implementace začíná velmi rychle a velmi rychle je vidět a prezentována první funkcionalita systému.
  • Na pravidelných schůzkách se prezentuje vytvořená funkcionalita a domlouvá další postup.
  • Průběžně je porovnáván již strávený čas a původně odhadovaným časem, aby byl zákazník co nejlépe informován o vývoji průběžné i celkové náročnosti.
  • První verze jsou jednoduché, ale pokrývají maximum funkcionality typu “must have”. V dalších kolech dochází k realizaci “nice to have” vlastností.
  • Fakturace probíhá dle detailně vykázaného času vývojářů.


Kdy použít Agilní vývoj?
  • Když se často mění potřeby uživatele nebo zákazníka.
  • Na rozdíl od modelu vodopádu, pro zahájení projektu v agilním modelu není potřeba detailního projektu.


  1. «Iterative Model» (Iterativní model)



Vývoj prostřednictvím Iterativního modelu nevyžaduje na začátku detailní zpracování projektu. Místo to se na začátku vytvoří základní verze, která tvoří základ pro budoucí požadavky. Tento proces se opakuje. Tato verze může být neideální, hlavní je, aby fungovala. Po pochopení konečného cíle se vývojáři snaží, aby byl každý jejich krok produktivní a každá verze byla funkční.


Kdy použít iterativní model?
  • Požadavky k cílovému systému je předem jasně definovaný a srozumitelný.
  • Projekt je velký nebo velmi rozsáhlý.
  • Hlavní úkol by měl být stanoven, ale jednotlivé detaily se mohou vyvíjet v průběhu času.


  1. «Spiral Model» (spirálový model)

Spirálový model se podobá inkrementalnímu modelu, ale s důrazem na analýzu rizik. Funguje dobře pro řešení kriticky důležitých obchodních úkolů, kdy neúspěch je neslučitelný s činností společnosti, například v rámci výroby nových produktových řad, v případě potřeby výzkumu a praktického testování.


Spirálový model zahrnuje 4 kroky pro každé kolo:


  1. Plánování,
  2. Analýza rizik,
  3. Výstavba,
  4. Hodnocení výsledků a při uspokojivé kvalitě přechod k novému kolu.
Tento model není vhodný pro malé projekty, je vhodný pouze pro složitější a dražší projekty.

V moderní praxi je více možných modelů pro vývoj software. Neexistuje jediný správný model pro všechny projekty. I tak oblíbený agilní vývoj nejde použít všude kvůli nepřipravenosti některých zákazníků nebo nemožnosti flexibilního financování. Metodiky se částečně překrývají v nástrojích pro vývoj a jsou vzájemně podobné. V iQuestu tvoříme systémy buď na základě metody Vodopádu, kdy předem známe veškeré požadavky nebo formou Agilního vývoje, kdy zákazník upravuje zadání v průběhu prací.

Komentáře

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...