Att definiera och analysera krav är grundläggande i alla former av verksamhetsutveckling. Ibland ser man kraven som implicita och går direkt på lösningen, men för att kunna förstå varför man valt en specifik lösning är det viktigt med spårbarhet till det bakomliggande kravet.
I Prime Arch finns det två metaobjekt som betecknar krav:
Funktionella krav handlar om funktionalitet, och icke-funktionella krav är allt annat? Solklart, eller?
Många upplever att det kan vara svårt att skilja dem åt, och vi har därför tagit fram ett enkelt men kraftfullt exempel: den röda knappen.
Tänk dig att du övervakar produktionen i en fabrik och att om något händer så är det din uppgift att stoppa bandet, t ex för att undvika att något går sönder eller att någon kommer till skada. Ett klassiskt nödstopp!
Du ställer upp följande krav:
Jag måste kunna nödstoppa maskinen.
Knappen ska vara röd.
Den bakomliggande tanken är givetvis att den röda färgen ska indikera "stopp".
Av dessa två krav är ett funktionellt och ett är icke-funktionellt.
Att kunna nödstoppa maskinen handlar om funktionalitet, och därför är kravet funktionellt. Man kan även identifiera detta genom att det finns ett verb i påståendet (nödstoppa).
Att knappen ska vara röd handlar om en egenskap, i det här fallet en färg. Egenskaper leder till att det är icke-funktionellt. "Verb-testet" fungerar även här - inget verb, alltså icke-funktionellt. Man kan även identifiera detta genom att det finns ett adjektiv i påståendet (röd), något som beskriver substantivet.
För den grammatiskt lagde så kan det även vara ett adverb, något som beskriver verbet (t ex att det ska vara "lätt att trycka på knappen"). Här ska man inte gå i fällan och tro att det handlar om att "trycka", utan nyckelordet i kravet är "lätt" som är ett adverb.
Redo för ett test?
Det ska kännas fysiskt att man trycker på knappen.
Svar: Icke-funktionellt, då det beskriver en egenskap hos knappen.
Nästa krav:
Det ska vara omöjligt att trycka på knappen av misstag.
Svar: Icke-funktionellt, då det beskriver en egenskap på omgivningen där lösningen kan vara att placera den under en genomskinlig kåpa som måste lyftas av.
Inte så svårt längre? Bra!