Účelem analýzy požadavků je vytvořit obecný nástin fungování projektu, stanovit plán činností, jejichž prostřednictvím bude projekt realizován, a pokud možno určit nástroje, které budou použity. Na analýzu požadavků neexistuje jednoduchý recept.
Jak vypadá proces plánování?
Analýza požadavků je součástí procesu plánování, který by měl probíhat následovně:
- A projekt vize, která popisuje konečný produkt které mají být vytvořeny.
- Obecný akční plán nebo myšlenka, která stanoví, co je třeba udělat pro dosažení našich cílů.
- Seznam základních úkolů, které určují fáze práce na projektu.
- Časové plánování, při kterém definujeme, co a kdy má být dodáno.
- Podrobné plánování jednotlivých úkolů vytvořených ve třetí fázi.
Analýza požadavků zahrnuje první tři body procesu plánování.
Vize projektu
V této fázi bychom si měli položit několik základních otázek:
1. Co chceme dělat?
Jistě, v tuto chvíli už víme, o co usilujeme, a myšlenka projektu je již dávno představena a promyšlena, ale stojí za to se nad ní hlouběji zamyslet. Možná objevíme nové otázky, které stojí za vysvětlení. Zde mohou být užitečné následující otázky:
- Jaký problém by měl tento projekt řešit?
- Kdo bude jeho koncovým uživatelem?
- Vytváříme rozhraní pro uživatele? Plánuje se jeho vytvoření v budoucnu? Byl určen typ rozhraní, které vytváříme (desktopové nebo mobilní)? Záleží nám na RWD?
- Existují nějaké podobné aplikace? Jaké jsou jejich výhody a nevýhody?
- Byly již vytvořeny nějaké prvotní návrhy nebo makety projektu?
- Bude projekt záviset na nějakých externích aplikacích? Mají nebo známe jejich omezení?
- Víme něco o očekávaném výkonu a úrovni zabezpečení?

2. Jaké jsou požadavky?
Nyní nastal čas sestavit seznam požadavků stanovených pro projekt. Kromě funkčních požadavků specifikujeme i ty, které s funkcemi nesouvisejí: použitelnost, odezva, rychlost, výkon a bezpečnost.
Nechť nás zkontrolujte, zda každý z požadavků splňuje následující kritéria:
- je kompletní - máme jeho úplný obraz,
- je správný - pravdivý a očekávaný,
- je proveditelná - proveditelné a další požadavky ji nepopírají,
- je nezbytná - je nutná pro fungování systému nebo ji vyžaduje zákazník,
- je jednoznačný - čitelný a nelze jej špatně interpretovat,
- je ověřitelný - po implementaci je možné pozorováním a testováním zjistit, zda byl tento požadavek splněn, či nikoli.
3. Jaký je konečný cíl?
Zde stojí za to vytvořit jednoduchou vizualizaci fungování projektu. Nic nepomůže plně pochopit myšlenku projektu tak jako nakreslení základního toku nebo prosté napsání na tabuli v bodech, co se má postupně dít. V případě aplikace s uživatelským rozhraním je ideální situací mít k dispozici i ty nejjednodušší makety.
4. Jaké jsou priority?
Stejně jako při stavbě domu je třeba i u projektů IT začít od nuly a pak se věnovat tomu, co nejvíce potřebujete. Na začátku je tedy nutné na základě seznamu požadavků specifikovat seznam všech možných funkcí, které bude daný projekt plnit, a poté se dohodnout, které z nich mají nejvyšší prioritu a mají být provedeny co nejdříve a které jsou typu "nice-to-have".
Výsledkem celé fáze vizualizace projektu by měla být obecná představa o tom, jak by měl projekt fungovat, ať už prostřednictvím maket, nebo nakresleného průběhu činností. Měli bychom také získat seznam všech možných funkcí, které má daný projekt plnit, a také vědět, jakou prioritu má každá z nich.
Vizualizace projektu je klíčovým momentem při analýze požadavků. Pomáhá důkladně pochopit podstatu problému, a čím lépe jsou materiály ilustrující problém zpracovány, tím efektivnější jsou další fáze plánování.

Akční plán
V této fázi již určujeme, jak si představujeme fungování projektu jako celku. Je dobré mít několik nápadů na realizaci, promyslet a prodiskutovat každý z nich a upozornit na jejich slabé a silné stránky. Zde se také vyplatí vybraný nápad podrobněji rozkreslit, ne-li všechny.
V této fázi je také čas na zvážení čistě technologických otázek, a to nejen v jakém jazyce nebo frameworku bude projekt napsán, ale také jaké další nástroje budeme potřebovat, například zda se rozhodneme použít systém AWS zásobník nebo možná něco jiného. Pokud váháme mezi některými technologiemi nebo netušíme, co použít, pak se vyplatí takové rozhodnutí včas posunout a delegovat na výzkumný úkol. Jistě, to můžeme udělat jen tehdy, pokud další plánování není takovým výzkumem blokováno. V opačném případě je můžeme bez obav přiřadit k úkolům v rámci sprint.
Hlavní úkoly
Jakmile stanovíme plán projektu, přistoupíme k definování hlavních úkolů, které budou následně podrobně projednány a rozděleny na menší úkoly, a to prostřednictvím vývojový tým při plánování nového sprintu. Je důležité, abyste každý úkol popsali co nejpřesněji.
Souhrn
Jak již bylo zmíněno, proces analýzy požadavků se liší v závislosti na složitosti projektu. Existují jednodušší a složitější problémy a také takové, které již někdo řešil, a zcela nové, u kterých je třeba se déle zastavit. Bez ohledu na to je třeba mít na paměti několik důležitých rad:
- Komunikace. Jedná se o nejdůležitější součást životního cyklu každého projektu; vše by mělo být jasně definováno a vysvětleno.
- Rychle pochopte problém. Je skvělé mít sepsanou projektovou dokumentaci, ale pamatujme, aby byla co nejstručnější a nezabrala tisíc stran. Každý člen vývojového týmu tým by k němu měli mít přístup a měli by být schopni rychle pochopit vizi projektu.
- Jednoduchost nade vše. Snažme se, aby to, co plánujeme, bylo co nejjednodušší, volme jednodušší řešení, která lze v budoucnu snadno rozvíjet, nebo se jich v případě potřeby vzdejme.
- Nebudete ji potřebovat. Vzhledem k tomu, že při programování se řídíme principem YAGNI, zde ho máme vzadu v hlavě a příliš nezrychlujeme.
- Změny. Nebojme se jich, dříve či později je každý projekt potřebuje. Navíc si nenamlouvejme, že to, co naplánujeme dnes, bude fungovat navždy. Zároveň bychom neměli změny považovat za něco špatného a nežádoucího. Změny by měly být synonymem pro zlepšení, a to je to, co chceme: aby byl projekt nejlepší.
- Čas. Nenechme plánování trvat příliš dlouho a táhnout se donekonečna. Pokud máme problém, který nás blokuje, hledejme řešení mimo nebo zvolme nejjednodušší možnost.
Výše uvedené aspekty je dobré mít při analýze požadavků vždy na paměti, pak bude probíhat hladce a bude základem dobře naplánovaného projektu.
Přečtěte si více: