Requirements Engineering

Biznis požiadavky sú základom a samotným srdcom všetkých IT zmien. Požiadavka je vlastnosť alebo charakteristika, ktorú požadovala zainteresovaná strana (napríklad zákazník) a ktorá môže byť súčasťou dodávaného IT riešenia. Požiadavky sa vyvolávajú (zbierajú), posudzujú a potom analyzujú, kde sa určí, či by mali byť zahrnuté do riešenia alebo nie. Niektoré požiadavky môžu obmedzovať riešenie ako také a preto je potrebné ich tiež analyzovať, aby sa zvážilo, do akej miery je zhoda potrebná alebo možná.

V konečnom dôsledku požiadavky určujú, čo by malo riešenie poskytovať a ako dobre by malo fungovať. Existuje množstvo aspektov, na ktoré pri definovaní požiadaviek nesmieme zabudnúť a na čo všetko musíme pri definovaní riešenia myslieť ako je napríklad bezpečnosť, použiteľnosť, dostupnosť riešenia a iné. Niektoré požiadavky sú vyjadrené ako náčrt, vágne nápady, zatiaľ čo iné požiadavky je potrebné podrobne popísať a špecifikovať, lebo sú základom pre testovanie riešenia. Niekedy je potrebné ponoriť sa do detailov požiadavky v počiatočnom štádiu, zatiaľ čo inokedy sa požiadavka môže časom vyvíjať, tak ako sa vyvíja samotné riešenie.

Termín „požiadavka“ sa niekedy považuje za relevantný len tam, kde sa uplatňuje lineárny prístup vývoja softvéru, ale to nie je správne. Riešenia biznis zmien je holistické a musí spĺňať biznis potreby vyjadrené ako požiadavky. Požiadavky biznisu môžu spĺňať napríklad určité softvérové ​​produkty, ale je potrebné sa na tieto požiadavky ako aj daný ponúkaný produkt pozrieť celkovo. Zakúpime zabalené riešenie alebo zmluvne zabezpečíme externého poskytovateľa služieb, aby dodal požadovanú funkčnosť? Aké sú požiadavky biznisu verzus ponúkané riešenie a aké sú naše finančné možnosti?

Neexistuje jeden správny prístup na definovanie požiadaviek a aký prístup k riadeniu  požiadaviek zvoliť, sa líši v závislosti od biznisu, projektového kontextu a štandardov uplatňovaných v rámci organizácie. Táto variabilita vyžaduje, aby biznis analytici boli informovaní a prispôsobiví, mali zručnosti, ktoré im umožňujú efektívne pracovať v rôznych situáciách ako aj so všetkými zainteresovaných strán.

Definícia požiadaviek sa často považuje za priamu a jednoduchú činnosť, ktorá si vyžaduje iba prístup k biznis zamestnancom, ktorí môžu povedať, čo by riešenie malo poskytnúť. Ukázalo sa však, že tento názor je hlavnou príčinou problémov s návrhom biznis zmien a vývojom softvéru už mnoho rokov. V praxi je definícia požiadaviek službou biznis analýzy, ktorá si vyžaduje znalosti, skúsenosti a analytické zručnosti.

Problémy s definovaním požiadaviek

Štúdie o zlyhaniach IT projektov za posledných 30 rokov rozprávajú stále ten istý známy príbeh. Čo tvorí najčastejšie problémy v týchto projektoch?

  • Veľký podiel chýb (viac ako 80 percent) vzniká v štádiu analýzy požiadaviek.
  • Veľmi málo chýb (menej ako 10 percent) je zavedených v štádiu vývoja, vývojári kódujú veci správne, ale príliš často nekódujú správne veci.
  • Väčšina projektového času je vyčlenená na vývojové a testovacie fázy projektu.
  • Menej ako 12 percent projektového času je vyčleneného na fázu analýzy požiadaviek.
  • Vyvinutý IT systém nie je v súlade s biznis stratégiou a cieľmi.
  • Požiadavky sú zle riadené.

Inherentné ťažkosti s pochopením a definovaním požiadaviek boli vyhlásené za primárnu príčinu problémov s projektmi informačných systémov. Nedostatok dobre pochopených a definovaných požiadaviek je často spojený s nespokojnosťou zákazníkov s dodávanými systémami.

Walia a Carver (2009) v rámci svojej štúdie, identifikovali viac ako 90 príčin chýb v požiadavkách. Kľúčové problémy s požiadavkami identifikovanými počas tejto štúdie zahŕňajú:

  • Požiadavky nie sú v súlade s cieľmi projektu.
  • Nejasnosť alebo nejednoznačnosť znenia požiadaviek.
  • Duplikácia alebo konflikt medzi požiadavkami.
  • Požiadavky vyjadrené takým spôsobom, že je ťažké posúdiť, či boli alebo neboli splnené.
  • Požiadavky, ktoré vychádzajú z predpokladaného technického riešenia a nešpecifikujú vlastnosti, ktoré má systém dodať.
  • Neistota medzi biznis zamestnancami, nevedia alebo si nie sú istí čo potrebujú od nového systému.
  • Biznis neidentifikuje všetky požiadavky.
  • Nekonzistentné úrovne detailov definovania požiadaviek.
  • Biznis a analytici považujú určité znalosti za samozrejmosť a nedokážu zabezpečiť, aby existovalo spoločné porozumenie.

Záver, ktorý treba vyvodiť, je, že nedostatočné požiadavky, či už zozbierané, definované alebo riadené, významne prispievajú k problémom a zlyhaniam projektu. To je bez ohľadu na prijaté prístupy k vývoju a realizácii.

Rámec “Requirements Engineering” (RE)

Rámec RE bol vyvinutý aby pomohol zlepšiť kvalitu požiadaviek objasnením činností, ktoré sa majú vykonať pri ich definovaní. Rovnako ako „softvérové ​​inžinierstvo“ navrhuje štruktúrovaný a vedecký prístup k vývoju softvéru, RE zahŕňa disciplinovanejší prístup k stanovovaniu požiadaviek. Biznis analytik potrebuje pozorne zozbierať (vyvolať), analyzovať a definovať požiadavky, aby mohol poskytnúť pevný základ pre vývoj biznis a softvérových riešení. Rámec RE v tom biznis analytikom má napomáhať.

Rámec RE stanovuje päť základných činností a kľúčové interakcie medzi nimi, ktoré sa musia uskutočniť, ak majú byť požiadavky dobre definované. Pojem „dobre definované“ neznamená, že požiadavky musia byť špecifikované podrobne, ale znamená, že by mali spĺňať určité kritériá, predovšetkým, že sú jednoznačné, dobre štruktúrované, správne a relevantné.

Rozsah, hĺbka a načasovanie práce na požiadavkách závisí od kontextu projektu, najmä od prijatého prístupu k vývoju a realizácii. Za určitých okolností je pred začatím akýchkoľvek vývojových prác potrebná podrobná, overená a sledovateľná definícia celého súboru požiadaviek. V iných situáciách možno definovať súbor rámcových požiadaviek, z ktorých každá sa v prípade potreby rozloží a ďalej rozpracuje. Ďalšou možnosťou je definovať požiadavky v dávkach, aby sa splnili biznis priority organizácie.

Rámec RE je stanovený v:

Na získanie, analýzu a definovanie požiadaviek sa používajú rôzne štandardy a techniky.