Kravhantering

Kravhantering är det systematiska arbetet med behov som ska uppfyllas av tekniska system. Det är en central disciplin inom programvaruutveckling och Systems Engineering. Arbetet omfattar fastställandet av intressenters produktmål samt specifikationer av dessa.

Aktiviteter 
Vilka aktiviteter som ingår varierar beroende på vilken typ av system som ska utvecklas samt hur det utvecklas, men omfattar typiskt följande:
 Elicitering - identifiera och fånga krav. Termen kommer från engelskans "elicit" som betyder "bringa fram i dagen" och avser lyfta det faktum att systemkrav inte bara kan samlas in från kunden (eller användarna). Det är en icke-trivial aktivitet eftersom man aldrig kan vara helt säker på att man fått med allt bara genom att fråga människor vad de vill ha eller inte ha. Elicitering av krav kräver en gedigen förståelse av både teknik och användare. En kravfångare är ett annat namn för en som utför "elicitering".
 Analys - Säkerställa att infångade krav är entydiga, kompletta, konsekventa, genomförbara, spårbara, nödvändiga och verifierbara.
 Specifikation - Formulering av systemkrav i en specifikation. Krav kan beskrivas på många olika sätt, inte bara i naturligt språk (ren text).
 Validering - Säkerställa att infångade och specificerade krav stödjer värdeleverans, uppfyller mål och syften och motsvarar intressenternas behov.
 Prioritering - 
 Förvaltning - Hantera ändringar på specificerade krav medan systemet utvecklas och är i bruk
Aktiviteterna utförs mer eller mindre parallellt och pågår med olika intensitet under hela utvecklingsarbetet.

Kravspecifikationen 
En kravspecifikation utgör underlag för systemdesign. Det används också som underlag vid verifiering av systemet, det vill säga kontrollen att systemet uppfyller beslutade krav.

Kravspecifikationen beskriver följande:
 Systemets externa gränssnitt
 Funktionella krav
 Kvalitetskrav och icke-funktionella krav.
 Designbegränsningar.
Beroende på vilken typ av system som utvecklas och hur det utvecklas tas kravspecifikationen fram på olika sätt. Särskilt för programvarubaserade system är det en vanlig missuppfattning att samtliga systemkrav på ett effektivt och korrekt sätt kan samlas, specificeras och kvalitetssäkras innan någon form av design eller programmering påbörjas. I praktiken är det ofta mer kostnadseffektivt att arbeta iterativt och inkrementellt vilket inte utesluter ett det ibland behövs ett visst arbete med systemkrav och arkitektur innan programmering tar vid. Det iterativa och inkrementella arbetssättet har funnits sedan 1950-talet och innebär att även elicitering, analys och specifikation sker successivt allt eftersom systemet tas fram.

Samverkansorgan 
 SARE, Swedish Association for Requirements Engineering. En ideell förening för alla som är intresserade av kravhantering.
 SiREN, The Swedish Requirements Engineering Research Network. En sammanslutning mellan universitet, organisationer och företag som främjar forskning, utbildning och samarbete i kravhantering och relaterade områden.

Konferenser 
 IEEE International Requirements Engineering Conference. Den största akademiska konferensen. 2014 arrangerades den i Karlskrona.
 Kravdagen. Industrikonferens med föreläsare.
 Från krav till system. Industrikonferens med föreläsare och paneldebatt.

Referenser 

Programutveckling

pl:Wymaganie (inżynieria)#Analiza wymagań lub inżynieria wymagań