Kravhantering kallas den process inom systemutveckling och mjukvaruutveckling där man ska avgöra vilka förväntningar användarna har på en ny eller förändrad produkt. De olika kraven på funktioner måste vara mätbara, relevanta och detaljerade. Denna process är en viktig del av projektledningen och en av de viktigaste processerna inom systemutveckling och mjukvaruutveckling, eftersom den bekräftar huruvida systemet är användbart och om det tillför användarna ett värde genom att möta de krav som ställs.
Kravhantering innebär tät kommunikation med användarna av ett system för att avgöra vilka förväntningar dessa har på specifika funktioner. I egenskap av kravhanterare är det också din uppgift att lösa eventuella motsägelsefulla krav eller tvetydigheter i de krav som efterfrågas av systemets olika användare eller användargrupper. Du ska också undvika att funktioner implementeras enbart för sakens skull samt se till att dokumentera alla aspekter av projektets utvecklingsprocess från början till slut. Du bör fokusera din energi på att säkerställa att det slutgiltiga systemet överensstämmer med kundens behov snarare än att försöka anpassa användarnas förväntningar för att överensstämma med kraven.
Därför är väldefinierade krav så viktiga
Kraven är ofta dåligt definierade, eller åtminstone inte så väldefinierade som vore önskvärt. När kraven är otydliga kommer utvecklarna sannolikt att utveckla fel funktioner och/eller utveckla dessa på ett felaktigt sätt. Om kraven är otydliga kommer även testarna att få sämre förutsättningar. Det är här som dokumenteringen av kraven och användarfall kommer in i bilen. Genom att testa alla användarfall kan man ofta komma tillrätta med problemen, förutsatt att inga användarfall saknas eller på något sätt är felaktiga.
För att förbättra dåligt definierade krav bör du som kravhanterare se till att kraven inte bara är relevanta utan också tydliga och mätbara. Ett krav anses inte vara mätbart när man inte kan skapa tester för att visa att kravet har mötts. Den vanligaste anledningen till att ett krav inte är möjligt att testa är att det inte är tillräckligt tydligt. Otydliga krav som inte kan testas kommer med stor sannolikhet att implementeras på ett felaktigt sätt, men oavsett om det skulle implementeras på ett felaktigt sätt eller på rätt sätt kan inte testarna avgöra detta.
Den allmänna uppfattningen är att otydliga krav som inte kan testas är den huvudsakliga orsaken till att kostsamma förändringar görs helt i onödan. Detta sker ofta på grund av att kraven, hur tydliga och mätbara de än må vara, inte motsvarar de verkliga affärskraven. En vanlig anledning till detta är att de verkliga affärskraven inte har definierats tillräckligt väl, vilket gör att de personer som är involverade tror att kraven på systemet är de enda kraven. Även om ett krav är tydligt och mätbart kan det fortfarande vara fel, och när det gäller krav som förbises spelar det ingen roll hur mätbara och tydliga de är.
Kurser och certifiering inom kravhantering
Att kravhanteringen utförs på ett korrekt och effektivt sätt är nödvändigt för att säkerställa att era projekt inom mjukvaruutveckling och systemutveckling blir lyckade. Bristande kravhantering är inte sällan anledningen till att projekt blir försenade, överskrider budget eller inte uppfyller kvalitetskraven. Därför finns det stora besparingar att göra på att åtgärda denna brist.
Genom att gå en kurs inom kravhantering kan du utveckla din kompetens på området, och genom att certifiera dig kan du få en kvalitetsstämpel på dina kunskaper. De två organisationer som har tagit fram certifieringar inom kravhantering är Requirements Engineering Qualifications Board (REQB) och International Requirements Engineering Board (IREB).
Ett av flera bolag vilka tillhandahåller kurs i kravhantering, REQB, ISTQB samt Agil kravhantering är Konsultbolag1. Här går det också att diplomera sig och boka tentamen.