Krav Definition: Vad är det och hur man tillämpar det? | Komplett guide

Innehållsförteckning

Introduktion:

För att kunna leverera ett framgångsrikt projekt är det väsentligt att kraven är korrekt och noggrant definierade. Det kan dock vara svårt att definiera krav – gör det fel och ditt projekt kommer att drabbas av förseningar i schemat, slöseri med resurser eller missnöje hos kunder. I den här guiden kommer vi att titta på vad kravdefinitionen är och hur du kan tillämpa den i dina egna projekt. Låt oss börja!

Vilka är kraven?

Kraven för ett programvaruprojekt är de funktioner, egenskaper och begränsningar som måste uppfyllas av slutprodukten. Kraven definierar med andra ord vad programvaran ska göra, hur den ska se ut och eventuella villkor som måste uppfyllas för att den ska anses vara framgångsrik.

Samlingskrav är väsentligt för att skapa en produkt som möter kundens eller kundens behov. Det är viktigt att notera att kraven kan ändras under ett projekts gång, och därför är det viktigt att ha en mekanism på plats för att spåra och hantera dessa förändringar.

Typer av krav:

Det finns i stort sett två typer av krav:

  1. Systemkrav – Systemkrav kan kallas den utökade versionen av användarkraven. Systemkrav fungerar som startpunkten för varje ny systemdesign. Dessa krav är en detaljerad beskrivning av de användarkrav som systemet måste uppfylla. 
  1. Användarkrav – Användarkrav är en kombination av funktionella och icke-funktionella krav. Dessa användarkrav måste utformas på ett sådant sätt att de är lätta att förstå för användare som inte har någon form av teknisk kunskap. Därför måste de skrivas på naturligt språk med enkla tabeller, formulär och diagram. Se också till att dokumentet inte har detaljer om systemdesign, programvara eller formella noteringar.

Funktionella vs icke-funktionella krav:

Funktionella krav, som namnet antyder, beskriver funktionerna i systemet som ska utformas. Det är en beskrivning av vad systemet kommer att vara och hur det kommer att fungera för att tillfredsställa användarnas behov. De ger en tydlig beskrivning av hur systemet ska svara på ett visst kommando, funktionerna och vad användarna förväntar sig. 

Icke-funktionella krav förklara begränsningarna och begränsningarna för det system som ska utformas. Dessa krav har ingen inverkan på applikationens funktionalitet. Dessutom finns det en vanlig praxis att underklassificera de icke-funktionella kraven i olika kategorier som:

  • Användargränssnitt
  • Pålitlighet 
  • Säkerhet
  • Prestation
  • Underhåll
  • Standarder 

Att underklassificera de icke-funktionella kraven är en god praxis. Det hjälper när man skapar en checklista över de krav som ska uppfyllas i det system som ska utformas. 

Icke-funktionella krav är lika viktiga som funktionella krav. Om funktionskrav anger vad ett system ska göra, beskriver icke-funktionella krav hur systemet ska göra det. Till exempel ska den nya applikationen ge oss den slutliga listan över alla anslutna användare. Det är en del av funktionskraven. Om kravet säger att systemet endast skulle fungera på ett Windows- och ett Linux-system, skulle det vara en del av icke-funktionella krav. 

Den enda skillnaden mellan de två är att systemet inte kan fungera utan att uppfylla alla funktionskrav. Å andra sidan kommer systemet att ge dig det önskade resultatet även när det inte uppfyller de icke-funktionella kraven. 

Definiera krav:

Den viktigaste aspekten av ett projekt är dess kravdokument. Missuppfattningar, felaktigheter eller överdrifter i kriterierna kommer nödvändigtvis att resultera i förseningar i schemat, förlorade resurser och missnöje hos konsumenterna.

Kravanalysen bör börja med affärs- eller organisationsbehov och omvandla dem till projektbehov. Om att uppfylla angivna standarder skulle vara överdrivet dyrt eller ta orimligt lång tid, kan projektets krav behöva komprometteras, minskas eller minskas i förhandlingar med kunder eller sponsorer.

Hur definierar man krav?

Det finns olika sätt att definiera krav, men alla delar några gemensamma steg:

  1. Identifiera intressenterna och deras behov
  2. Definiera projektets omfattning
  3. Utkast till funktionella och icke-funktionella krav
  4. Prioritera kraven
  5. Validera kraven med intressenter

Låt oss ta en närmare titt på vart och ett av dessa steg.

Identifiera intressenterna och deras behov är första steget i kravdefinitionsprocessen. Intressenter är individer eller grupper som har ett egenintresse i projektet. De kan vara interna (t.ex. anställda på företaget) eller externa (t.ex. kunder, leverantörer, tillsynsmyndigheter). Det är viktigt att identifiera alla intressenter och deras behov tidigt i projektet, eftersom deras input kommer att vara avgörande för att definiera kraven.

Smakämnen andra steg är att definiera projektets omfattning. Omfattningen definierar gränserna för projektet och inkluderar allt som kommer att levereras som en del av det. Att definiera omfattningen tidigt hjälper till att förhindra omfångskrypning, vilket är när ytterligare funktioner eller funktionalitet läggs till i projektet utöver vad som ursprungligen överenskommits.

Smakämnen tredje steget är att utkast till funktionella och icke-funktionella krav. Funktionskrav är de som beskriver vad programvaran ska göra, till exempel "Programvaran ska kunna logga in användare". Icke-funktionella krav är de som beskriver hur programvaran ska fungera, till exempel "Programvaran ska vara lyhörd". Det är viktigt att utforma båda typerna av krav, eftersom de båda tjänar olika syften.

Smakämnen fjärde steget är att prioritera kraven. Detta hjälper till att säkerställa att de viktigaste kraven åtgärdas först om det finns begränsade resurser eller tid. Krav kan prioriteras med olika metoder, såsom MoSCoW (måste ha, borde ha, skulle kunna ha, skulle ha) eller Kano (måste ha, glädja ha).

Smakämnen femte och sista steget är att validera kraven med intressenter. Detta hjälper till att säkerställa att kraven korrekt återspeglar intressenternas behov. Validering kan göras genom olika metoder, såsom intervjuer, fokusgrupper eller enkäter.

Slutsats:

Att definiera krav är ett avgörande steg i alla projekt. Genom att följa stegen ovan kan du säkerställa att alla intressenter får sina behov tillgodosedda och att projektet håller sig på rätt spår. Genom att förstå dina krav kan du säkerställa att du får rätt programvara för dina behov. Den 5-stegsprocedur vi beskrev bör hjälpa dig att samla in den information du behöver för att fatta ett välgrundat beslut om vilken programvara som är rätt för dig.

Glöm inte att dela detta inlägg!