Követelmények

A követelmények határozzák meg, hogy a terméknek mit kell tennie — ez a projekt megvalósításának eredményére vonatkozó dokumentált elvárás. Ez a dokumentum rögzíti mind a megrendelő, mind a fejlesztő elvárásait a programmal, annak funkcióival és a projekt egészével kapcsolatban. A követelmények magukban foglalják a jellemzőket, a költségeket, az ütemtervet és a kockázatokat. A követelmények tehát annak leírását jelentik, mit kell kifejleszteni, vagyis annak pontos, mennyiségi jellegű megfogalmazását, mit várunk el a projekt megvalósításának eredményeként. A hibás követelménymeghatározás a projekt végrehajtása során felmerülő problémák elsődleges oka.

A követelmények meghatározzák, mit kell tenni, milyen minőségben, és milyen korlátozások mellett. Ha a követelmények hibásak, a projekt és a termék is hibás lesz. A követelmények, korlátozások és feltételezések a problémát részekre bontják. Ez határozza meg a projekt egészének sikerét.

A követelmények típusai:

  • A funkcionális követelmények meghatározzák, hogy egy adott rendszerelemnek mit kell tennie.
  • A teljesítménykövetelmények meghatározzák a rendszer által végzett megfelelő funkciók mennyiségi paramétereit.
  • A korlátozó követelmények az üzemmódbeli korlátokból, a környezeti feltételekből, a biztonsági megfontolásokból vagy a jogszabályi megfelelésből fakadnak.
  • Az ellenőrzési követelmények biztosítják annak megbizonyosodását, hogy a rendszer a valós működési környezetében rendelkezik a meghatározott jellemzőkkel.
  • Az interfészkövetelmények meghatározzák valamennyi interfész funkcióit, jellemzőit, toleranciáit és korlátozásait.
  • A működési követelmények meghatározzák a rendszer üzemkész állapotát, a rendszer teljesítményére összpontosítva, továbbá meghatározzák azt is, hogyan lép kapcsolatba a rendszer a felhasználókkal.

Az angol nyelvű szakirodalomban a SMART betűszót használják a jó követelmények jellemzőinek megjegyzésére.

  • Konkrét (Specific) — a követelménynek csak a projekt egyetlen jellemzőjére vagy a rendszer egyetlen tulajdonságára szabad vonatkoznia. Úgy kell megfogalmazni, hogy mit kell tenni és milyen minőségben, de soha nem egy lehetséges megoldás — azaz a végrehajtás módja — formájában.
  • Mérhető (Measurable) — a mérhető paramétert objektív és mennyiségi módon kell kifejezni.
  • Elérhető (Achievable) — a követelménynek műszakilag megvalósíthatónak kell lennie, elfogadható költségek mellett.
  • Releváns (Relevant) — a követelménynek megfelelnie kell a rendszer kiválasztott szintjének.
  • Nyomon követhető (Traceable) — az alacsonyabb szintű követelményeknek egyértelműen a magasabb szintű követelményekből kell származniuk, és/vagy azok által alátámasztottnak kell lenniük. A „szülő” követelmény nélküli követelményeket „árváknak” tekintik, és felül kell vizsgálni megvalósításuk szükségességét.

Szükségesség. Ha kétség merül fel afelől, hogy egy követelményre szükség van-e, egyszerűen kérdezzük meg: „Milyen kár érheti a rendszert, ha ez a követelmény nem szerepel a listán?” Ha nincs válaszunk, a követelmény valószínűleg szükségtelen.

Ellenőrizhetőség. Amint egy követelményt megfogalmaztunk, meg kell határozni, hogyan ellenőrizhető. Ehhez megfelelő megfelelőségi kritériumot kell választani.

Megvalósíthatóság. Ahhoz, hogy elérhető legyen, a követelménynek műszakilag megvalósíthatónak kell lennie az adott ütemterven és költségvetésen belül, a további korlátozásokra is figyelemmel. Ha bizonytalanság áll fenn egy követelmény műszaki megvalósíthatóságával kapcsolatban, megfelelő vizsgálatot vagy további kutatást kell végezni. Ha a bizonytalanság ezután is fennmarad, akkor követelmény helyett célt kell megfogalmazni. Nyilvánvaló, hogy még ha egy követelmény műszakilag megvalósítható is, elérhetetlen lehet a költségek, az ütemterv vagy más korlátozások — például a tömeg — miatt. Értelmetlen olyan dologra vonatkozó követelményt megfogalmazni, amelynek teljesítése lehetetlen; pragmatikusnak kell lenni.

Egyértelműség. Minden követelménynek egyetlen gondolatot kell kifejeznie, tömörnek és egyszerűnek kell lennie. Fontos, hogy a követelmény érthető és félreérthetetlen legyen. A jó követelményekhez gyakran nincs szükség többre, mint egyszerű mondatokra.

A követelményt pozitív formában kell megfogalmazni, és soha nem szabad tagadással kezdeni. Nyelvtanilag helyesnek kell lennie, gépelési hibáktól és hiányosságoktól mentesnek. A rendszer minden szintjén egységes terminológiát kell használni.