Kravanalys

Kravanalysen är en av de allra första faserna i ett typiskt utvecklingsprojekt.
Det är kravanalysen som skall leda till en kravspecifikation där samtliga önskemål om systemets funktionalitet och utseende är dokumenterade. Vän av ordning ställer sig nog frågan hur kundens samtliga krav för ett avancerat datasystem kan dokumenteras, och det är just en av de svårigheter som förknippas med att skriva kravspecifikationer för informationssystem.


Krav, önskemål och förväntningar
Då man som kund står inför ett framtida systeminköp eller systemutveckling, har man en bild på hur ett önskat system skall fungera och se ut
(För enkelhetens skull förutsätter vi här att en förstudie är genomförd och att problemen är kända). Man har förmodligen fört en dialog med system-leverantören som precis har förstått vilka krav man har...
...eller har han det?

Ett av de vanligaste problemen inom just systemutveckling är missförstånd mellan beställare och leverantör kring funktionalitet, beteenden och utseende av informationssystem. På grund av datormjukvarans ringa ålder men även på grund av dess otroliga flexibilitet, kan systemutveckling för många kännas både abstrakt och svårbegripligt. Förutom de tydliga krav som kunden kan tänkas ha finns även önskemål och förväntningar på ett system som kan vara betydligt svårare för kunden att beskriva för leverantören. Vissa krav och önskemål är till och med dolda i början av ett systemutvecklingsprojekt.
Det är därför viktigt att kravanalysen görs av en person som är insatt i verksamhetens krav men framför allt inom systemutvecklingens och kravanalysens principer, en person som kan se helheten men även förstå detaljerna. Samma person bör även vara ansvarig för att kundens alla krav och önskemål dokumenteras i en kravspecifikation som systemleverantören eller utvecklarna förstår och kan använda för att designa ett system.

Fallgropar och god råd
Resultaten av ett lyckat kravanalysarbe är tydliga, som kund är du nöjd med ditt nya system och som leverantör har du kunnat leverera systemet i tid och enligt budget. Det finns dock några varningens ord... eller goda råd, beroende på hur man ser på saken, vid all sorts kravhantering och framställning av kravspecifikationer för informationssystem:

Var tydlig men undvik en alltför formell ton i kravbeskrivningen.

Undvik facktermer och förkortningar som ej beskrivs i en ordlista i kravspecifikationen.

Kraven får ej motverka varandra eller på annat sätt orsaka konflikter sinsemellan.

Dela upp komplexa krav i flera punkter. Ibland kan komplexa krav endast delvis uppfyllas, det blir då svårt att godkänna ett sådant krav om det först inte blir nedbrutet i delkrav.

Var konkret! Skriv inte ’systemet skall vara snabbt’, specificera istället i sekunder eller millisekunder hur snabbt du vill att systemet skall vara.

Använd gärna workshops för att få fram samtliga användares synpunkter.

Använd prototyper, datamodeller eller flödesdiagram för att tydliggöra kravbeskrivningarna.

Kontrollera att alla kraven finns med i kravspecifikationen och att de är korrekt beskrivna.

Det får inte finnas några otvetydigheter i kraven, de skall endast kunna tolkas på ett sätt.

Undvik att fylla kravspecifikationen med allt för många ’nice to have’-krav.

Prioritera kraven efter verksamhetens behov.

Ange ett unikt nummer och ansvarig kravställare för varje bokfört krav.

Kraven skall gå att jämföra med det färdiga systemet, till exempel vid acceptanstest.

Kraven skall kunna spåras till ursprunglig problembeskrivning från förstudie eller analysfas.

Flytande kravspecifikationer (eng creeping requirements) kan orsaka förseningar i ett projekt. Lås kravspecifikationen och kontrollera nya krav genom ändringshantering istället.

Beställare: Ta även med krav som tex prestanda, uptime, hjälpsystem, dokumentation mm.

Utvecklare: Gör endast det som står i kravspecifikationen, annars slutar det med att kunden får funktionalitet som han ej behöver men som har kostat tid och pengar att utveckla.

Svårt men ändå så enkelt!
Kravanalys och kravhantering ställer höga krav på beställaren av ett system. Det är därför viktigt att man får det stöd som är nödvändigt för ett lyckat systemutvecklingsprojekt och kravanalysen är en av de absolut viktigaste delarna i ett projekt om man vill lyckas.

Mandrillo Consulting har mycket lång erfarenhet kring kravanalyser och kravspecifikationer vilket gör att vi kan stödja kundens samtliga processer kring kravanalys, kravhantering och framställning av kravspecifikationer
vid inköp eller utveckling av informationssystem.