Nefunkčné požiadavky popisujú, ako dobre musí nový systém fungovať a v akom prostredí musí pracovať. Pokrývajú vlastnosti, ktoré môžu ovplyvniť každý pracovný postup — ako napríklad čas odozvy, dostupnosť, riadenie prístupu, obnovu po havárii, prístupnosť a udržiavateľnosť. Plán nahradenia SaaS robí tieto podmienky explicitnými ešte predtým, než sa zodpovednosť presunie z externého dodávateľa na organizáciu.
Čo sa mení pri nahradení SaaS produktu
Predplatné SaaS spája softvér s konkrétnym prevádzkovým modelom. Poskytovateľ zvyčajne zabezpečuje hosting, nasadenie, monitoring, zálohovanie, reakciu na incidenty a časti bezpečnosti či súladu s predpismi. Vlastný softvér prenáša časť alebo všetky tieto povinnosti na organizáciu a jej realizačných partnerov.
Túto nepretržitú prácu zahŕňajú celkové náklady na vlastníctvo (total cost of ownership). Nefunkčné požiadavky určujú, čo presne musí prevádzkový model dosiahnuť, vďaka čomu sú náklady na infraštruktúru a podporu prepojené s reálnymi potrebami podniku a nekopírujú len generickú architektúru.
| Oblasť kvality | Predmet požiadavky | Podklady overované pred spustením |
|---|---|---|
| Výkon | Odozva, priepustnosť a limity pracovného zaťaženia | Testy s modelovou záťažou |
| Dostupnosť | Povolené prerušenia a údržba | Monitorovanie a cvičenie obnovy prevádzky |
| Bezpečnosť | Identita, oprávnenia, šifrovanie a audit | Kontrolné testy a revízia prístupov |
| Obnoviteľnosť | Zálohovanie, obnova a tolerancia straty dát | Dôkaz o úspešnom obnovení zo zálohy |
| Prístupnosť | Podpora znevýhodnených používateľov | Revízia podľa definovaných kritérií |
| Udržiavateľnosť | Logovanie, diagnostika a vlastníctvo | Prevádzkové postupy a výstrahy (alerts) |
Premena kvalitatívnych vlastností na testovateľné požiadavky
Slová ako „bezpečný“, „spoľahlivý“ a „škálovateľný“ sú skôr cieľmi než kompletnými požiadavkami. Testovateľné vyjadrenie definuje podmienku, očakávaný výsledok a kontext, v ktorom platí. Zdrojom môže byť pozorovaná prevádzková záťaž, biznisový termín, bezpečnostný predpis, zmluvný záväzok alebo rozhodnutie o obnove dát.
Revízia by mala pokrývať tieto scenáre:
- Bežná prevádzka: očakávaný počet používateľov, záznamov, integrácií a plánovaných úloh.
- Špička (peak conditions): známe obdobia so zvýšeným dopytom alebo intenzívnejším spracovaním dát.
- Chybové stavy: nedostupné závislosti, oneskorené správy alebo prerušené procesy.
- Obnova prevádzky: obnova služieb a dát po definovanom incidente.
- Správa zmien: nasadenie, rollback, monitoring a podpora po releasi.
- Životný cyklus dát: uchovávanie, vymazanie, export a prístup k historickým záznamom.
Vymyslená presnosť nemá reálny prínos. Ak chýbajú overiteľné podklady, požiadavka môže zaznamenať predpoklad a definovať spôsob, akým sa neskôr vyjasní.
Vzťah k funkčnému rozsahu
Funkčné požiadavky (functional requirements) určujú správanie, ktoré nový systém poskytuje. Nefunkčné požiadavky uplatňujú podmienky na toto správanie aj na systém ako celok. Report môže byť funkčne správny, no z hľadiska prevádzky nepoužiteľný, ak sa generuje príliš dlho. Prihlásenie môže fungovať, hoci nespĺňa vyžadované kontroly prístupu, auditu či obnovy.
Obe sady vyžadujú vzájomnú sledovateľnosť bez toho, aby boli nútené do rovnakého formátu. Scenár pracovného postupu môže otestovať biznisový výsledok, zatiaľ čo špecializované kontroly posúdia záťaž, obnovu, bezpečnosť alebo prístupnosť.
Vlastníctvo po spustení
Každá požiadavka potrebuje svojho vlastníka, ktorý dokáže posúdiť dôkazy a reagovať v prípade nesplnenia podmienky. Vlastníctvom môže byť poverený produktový manažér, vývojový tím, bezpečnostný referent, prevádzkový tím alebo vlastník biznis procesu v závislosti od charakteru požiadavky.
Diskusia o ekonomike odchodu zo SaaS presahuje len samotné náklady na vývoj a dodanie. Monitoring, údržba, reakcia na incidenty, plánovanie kapacity a obnova pokračujú aj po spustení. Nefunkčné požiadavky definujú úroveň služieb, ktorú majú tieto aktivity dlhodobo udržiavať.