Funkčné požiadavky definujú pozorovateľnú prácu, ktorú musí nový systém vykonávať. Popisujú akcie, rozhodnutia, výpočty, zmeny údajov, upozornenia a výstupy bez toho, aby vopred diktovali každý detail implementácie. Pri nahradení SaaS produktu vytvárajú spoločný rámec pre produktový, inžiniersky a prevádzkový tím, ako aj pre samotných používateľov.
Odkiaľ funkčné požiadavky pochádzajú
Súčasný produkt je len jedným zo zdrojov, nie kompletnou špecifikáciou. Konfigurované pracovné postupy a produktová dokumentácia ukazujú existujúce správanie. Rozhovory, pozorovanie, záznamy o podpore, reporty, integrácie a manuálne obchádzky procesov však odhaľujú, na čom skutočne závisí chod firmy.
Mapovanie pracovných postupov (workflow mapping) prepája každú požiadavku so spúšťačom, rolou, rozhodnutím, záznamom a výsledkom. Je to dôležité preto, lebo analýza založená len na súpise obrazoviek môže prehliadnuť prácu vykonávanú v tabuľkách, správach alebo prepojených systémoch.
| Zdroj podkladov | Čo môže odhaliť | Čo je potrebné overiť |
|---|---|---|
| Súčasná konfigurácia | Pravidlá a dostupné akcie | Či sa stále aktívne používajú |
| Pozorovaný pracovný postup | Reálnu postupnosť a výnimky | Rozdiely oproti oficiálnej dokumentácii |
| Záznamy o integráciách | Udalosti a vymieňané dáta | Vlastníctvo a správanie pri chybách |
| Prípady z podpory | Opakujúce sa nedostatky a okrajové prípady | Či ich má náhrada zmeniť alebo vyriešiť |
| Reporty a exporty | Rozhodnutia založené na systémových dátach | Vyžadované polia a časovú frekvenciu |
Čo by mala požiadavka obsahovať
Funkčná požiadavka potrebuje dostatok kontextu na to, aby bola zrozumiteľná a testovateľná. Užitočná definícia identifikuje aktéra alebo spúšťač, požadované správanie, relevantné vstupy či pravidlá a pozorovateľný výsledok. Môže tiež definovať výnimky a oprávnenia, pokiaľ ovplyvňujú výsledok procesu.
Tímy zvyčajne organizujú požiadavky okolo týchto oblastí:
- Používateľské úlohy: vytvorenie, kontrola, schválenie, priradenie, vyhľadávanie, export alebo uzatvorenie záznamu.
- Obchodné pravidlá: overenie vstupu, výpočet hodnoty alebo smerovanie práce na základe podmienky.
- Správanie dát: vytváranie väzieb, uchovávanie histórie a riadenie povolených zmien stavu.
- Systémové interakcie: prijatie udalosti, volanie rozhrania alebo publikovanie aktualizácie.
- Výstupy: vygenerovanie reportu, upozornenia, dokumentu alebo nadväzujúceho záznamu.
Výrazy ako „jednoduchý“, „rýchly“ alebo „flexibilný“ nedefinujú funkčné správanie. Vyžadujú si buď merateľné podmienky, alebo patria medzi nefunkčné požiadavky.
Požiadavky a funkčná parita
Funkčná parita (feature parity) sa pýta, ktoré súčasné schopnosti musí náhrada reprodukovať. Funkčné požiadavky vyjadrujú vybrané vlastnosti ako správanie, ktoré nový systém dokáže reálne implementovať. Tento rozdiel umožňuje tímu zachovať želaný výsledok bez kopírovania zastaraného rozhrania alebo neoptimálnych obchádzok.
Každá požiadavka by mala mať svojho vlastníka a jasný dôvod na zahrnutie do projektu. Táto spätná nadväznosť spája realizačné rozhodnutia s aktívnym pracovným postupom, kontrolným mechanizmom, zmluvnou potrebou či schváleným vylepšením. Explicitne sa tým tiež určuje, ktoré doterajšie funkcie budú vyradené.
Od požiadavky k dôkazom
Požiadavky sa stávajú overiteľnými vďaka akceptačným kritériám a testovacím scenárom. Scenár definuje modelové vstupné dáta, akciu a očakávaný výsledok. Výnimočné stavy zasa pokrývajú neplatné vstupy, chýbajúce oprávnenia, nedostupné závislosti a iné podmienky, ktoré menia štandardný priebeh procesu.
Argumenty pre softvér prispôsobený reálnym procesom firmy stoja na tejto disciplíne. Vlastná softvérová náhrada vyhovuje reálnej práci iba vtedy, keď jej rozsah odráža skutočné procesy a každé podstatné správanie systému je možné demonštrovať ešte pred ostrým nasadením.