Nefunkčné požiadavky (non-functional requirements)

Aktualizované

Nefunkčné požiadavky presne definujú kvalitatívne podmienky a obmedzenia, v rámci ktorých musí softvér spoľahlivo fungovať. Zahŕňajú najmä výkon, dostupnosť, bezpečnosť, prístupnosť, obnoviteľnosť a udržiavateľnosť. Pri nahradení SaaS prenášajú kvalitatívne parametre služieb poskytované doteraz dodávateľom do explicitnej zodpovednosti dizajnu a prevádzkového modelu nového riešenia.

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ť kvalityPredmet požiadavkyPodklady overované pred spustením
VýkonOdozva, priepustnosť a limity pracovného zaťaženiaTesty s modelovou záťažou
DostupnosťPovolené prerušenia a údržbaMonitorovanie a cvičenie obnovy prevádzky
BezpečnosťIdentita, oprávnenia, šifrovanie a auditKontrolné testy a revízia prístupov
ObnoviteľnosťZálohovanie, obnova a tolerancia straty dátDôkaz o úspešnom obnovení zo zálohy
PrístupnosťPodpora znevýhodnených používateľovRevízia podľa definovaných kritérií
UdržiavateľnosťLogovanie, diagnostika a vlastníctvoPrevá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ť.