Krav – funktionella, ickefunktionella, och helt fel?

Jag kanske är helt korkad i huvudet, men trots att jag i över tio års tid plöjt systemspecifikationer fattar jag faktiskt inte vad det är för skillnad på funktionella och ickefunktionella krav.

Typexempel på funtionellt krav: ”Sökfunktionen ska klara av trunkerade sökningar”

Typexempel på ickefunktionellt krav: ”Det ska vara möjligt att nå sökfunktionen från alla delar av systemet”

Att sökfunktionen ska vara nåbar överallt är ett funktionellt krav, som jag ser det – det har att göra med hur funktionen ska ‘funka’.
Trots det skulle ovanstående exempel kunna vara taget från i princip vilken kravspec som helst.

Inte konstigt att IT-bolag levererar kajko lösningar när det blir viktigare att tillgängliggöra en sökfunktion än att leverera nån typ av nytta.

Ett typiskt ickefunktionellt krav borde, enligt mitt sätt att se det, vara ett överordnat krav som säkerställer nyttan i systemet. Ett ickefunktionelt krav är ”användarna ska kunna hitta relevant material oavsett var de befinner sig på webbplatsen”. Eller ”webbplatsen ska minska behovet av telefonsupport med 1500 samtal om dygnet”.
Sedan drar man streck från dessa övergripande och målstyrande krav och till allt detdär som belamrar en normal kravspec men som borde vara en del av systemspecifikationen – beskrivning av hur man ska möta kraven.

*skakar på huvudet*

Men vad vet jag.

Det finns säkert nån bra anledning till att man gör sådär.

Fast andelen lyckade IT-projekt totalt sett får mej att tvivla…

7 reaktioner på ”Krav – funktionella, ickefunktionella, och helt fel?

  1. Hej!
    För mig som är utvecklare känns dessa gränser rätt tydliga (och det är väl det som är problemet…)

    Funktionellt krav: Funktion som en utvecklare behöver bygga (eller hitta något som någon redan byggt)

    Icke funktionellt krav: Allt annat, tex sånt som gör att man nå de funktionella funktionerna🙂

  2. Nån behöver väl bygga detdär som gör att de fantastiskt funktionella funktionerna kan nås, också?😉

    Sökfunktionen ska inte bara fungera, den ska ligga i sidhuvudet, och någon måste bygga den visningen.

    Dethär är precis i gränslandet mellan traditionell systemutveckling och frontend/gränssnittsutveckling, där det senare inte ses som ‘riktig’ utveckling och därför hanteras styvmoderligt i metodik och genomförande.

    De ”ickefunktionella” krav man har att hantera handlar idag allt oftare om tillgänglighet och användbarhet, som har tydliga kopplingar till arkitekturella ställningstaganden men också anger hur man ska utveckla, och då blir det ännu tydligare att benämningen inte riktigt stämmer.

    Tycker jag.

  3. Ett typexempel på vad som kan hända är att utvecklarna läser alla funktionella krav, för det är ju de kraven som berör dem, eller hur, men hoppar över de ickefunktionella ”för dom har ju bara med färg o sånt att göra” och däför missar de kravet ”tjänsten ska vara tillgänglig för användare med olika funktionsnedsättningar”, något som vi ju alla vet i allra högsta grad påverkar utvecklarna.

    Jag tror helt enkelt att det inte råder någon som helst konsensus om vad som är ett ickefeunktionellt respektive funktionellt krav. Folk bara tittar på malarna och tänker ”jaha, nu gäller det att chansa rätt”.

    Stoppa in allt i samma dokument så försvinner i allafall DET problemet.

  4. Jag kan hålla med om att det finns en gråzon mellan funktionella och icke funktionella krav men i många (de flesta) fallen är det ganska klart vilket som är vilket. Det är svårt att hitta ett bättre namn, men jag har sett begreppet ”arkitekturella krav” som jag nog föredrar.

  5. Mitt förslag är att använda andra bättre rubriker som inte kan missförstås. Användbarhet. Tekniska krav. Prestanda m.m.
    Mats

  6. Funktionella krav beskriver VAD systemet ska göra – som regel saker som åtminstone teoretiskt skulle kunna göras manuellt🙂

    Ickefunktionella krav säger HUR det ska utföras, och vilka standarder som ska uppfyllas.

    Att man ska kunna söka efter information (sökkriterier och format på resultatet) – funktionellt krav.
    Hur lång tid det får ta från att man klickar Sök tills man har svaret framför sig på skärmen – ickefunktionellt krav.

    Sen kan man kanske med den definitionen fundera på var krav på användargränssnitt hör hemma – hur sökdialogen ska se ut är ju egentligen fristående från det rent funktionella kravet Att man ska kunna söka…, men just underlag för användargränssnitt brukar tas med i den del av kravmassan som beskriver funktionella krav.

  7. Hej,
    Ja det är verkligen svårt att dra gränser på funktionella och ickefunktionella krav. Jag är ganska säkert vad är funktionella krav t.ex att man SKALL kunna registrera ett målnummer, datum på en domslut etc vid t.ex registrering av måluppgifter i ett målhanteringssystem på en domstol. Men det som jag är osäker ät krav på den inregistrerade målnummer, domsluts datum? Är det ett slags icke funktionskrav när man pratar om formatkrav? Är det användargrännsnittskrav och ingår de i ickefunktionella krav??? Hoppas någon hjälper mig med ett klokt svar🙂

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Google+ photo

Du kommenterar med ditt Google+-konto. Logga ut / Ändra )

Ansluter till %s