September: "Ställ krav på krav och sättet att arbeta!"

Under många, många år har vi, från de som analyserar sådant, sett eländiga siffror över hur kravarbetet fallerar på de flesta nivåer. Personligen har jag besökt hundratals företag under de senaste 5 åren och tyvärr så ser inte bilden ljusare ut hos många av dem. Varför?

Världen och vi

Den ekonomiska situationen, globalt som lokalt, sätter stor press på system och produktutveckling inom all typ av verksamhet. De kortsiktiga kraven på kostnadsreduktion och ökad produktivitet överflyglar många gånger det långsiktiga målet att förbättra företagets processer, för att bli effektivare och bättre. Det borde vara självklart att förbättringsarbetet måste högre upp på agendan!

Det finns många aspekter att fundera på runt detta och några är:

  • Det kortsiktiga målet, att hela tiden minska kostnaderna, har en negativ effekt på vår innovationsförmåga samtidigt som stor innovationsförmåga är nödvändig för att överleva i en alltmer konkurrensutsatt marknad. Antalet konkurrenter ökar kontinuerligt och det slutliga priset till kund är alltid under hård press.
  • Andelen programvara ökar kraftigt inom all utveckling och i många produktutvecklings projekt, som också innehåller andra komponenter än enbart programvara, är andelen programvara idag >70%. Programvara är en allt större del i alla typer av projekt, och andelen bara ökar.
  • Utvecklingsarbetet sker inte enbart utifrån en geografisk plats utan har blivit något som är distribuerat över hela företaget, och detta inte bara internt, utan också i relation till globala leverantörer samt via ”outsourcing”. Detta ställer stora krav på kommunikativ förmåga och god samordning av relaterad information.
  • Informationsteknologi är en alltmer vital del av vår värld vilket innebär att vi snabbt måste kunna anpassa våra system och produkter till de förändrade krav som ställs. Detta är enbart möjligt om vi har bra kommunicerade och implementerade processer och att vi kontinuerligt förbättrar dessa utifrån den erfarenhet vi fått – det är absolut ingen Science Fiction – bara hårt arbete!
  • Kravkvalité – vi måste bli bättre. Alla rapporter är entydiga runt kopplingen krav <-> kvalité.  ~60% av alla problem vi har i den slutliga lösningen kan spåras tillbaka till fallerande kravinsamling eller dålig specifikation.  Här finns mycket pengar att tjäna och varje extra krona spenderad här ger helt klart positiv effekt inom många områden.

Behov och krav – och varför?

Kravhantering är en grundläggande aktivitet som vi har inom system och produktutveckling. Detta inkluderar aktiviteter för att identifiera affärsmässiga, kundrelaterade och systemrelaterade behov samt krav som kommer från externa reglementen och förordningar.  Detta kan ses som: 

  • Analys och nedbrytning av dessa till detaljkrav samt skapande av användarscenarios
  • Sammanställning och detaljerad dokumentation för att etablera en specifikation för systemet eller produkten och detta är oftast uppdelat på funktionella – icke funktionella krav inom programvara – hårdvara - mekanik m.fl.
  • Validering mot användarkrav samt definition över hur dessa skall valideras/verifieras nu och över tid.
  • Validering av spårbarhet och hur system och funktioner är relaterade för att identifiera komplexitet samt för att garantera spårbarhet utifrån företagets eller externa organisationers standards (ISO, IEC m fl.)
  • Hantera och versionshantera all information som är resultatet av ovanstående punkter. Detta för att i första hand underlätta validerings och förändringsarbetet.

En bra och fungerande kravhantering är nödvändig för att utveckla en bra slutprodukt som överensstämmer med kundens och marknadens behov, vilket helt klart är en absolut nödvändighet för överlevnad i dagens konkurrensutsatta värld.

Detta måste dock kompletteras med bättre global förståelse för en del interna och externa faktorer för att vara säker på succé:

Projektet/produkten skall vara färdig på utsatt tid

Detta kräver god översikt och insyn i alla ingående delar och vad status är timme för timme, dag för dag. Detta kan enbart uppnås genom att man automatiserat och centraliserat den information som är basen för projektet . Om så har gjorts så uppnås viss form av kontroll och bas för kvalité vilket innebär att man kan vet var man är och vet vad som skall åtgärdas.

Vara förberedd inför de förändringar som vi vet alltid kommer

Om alla arbetar åt samma håll, har god förståelse för vilka processer och flöden som skall följas och att man arbetar med ett globalt och etablerade sätt att hantera information och dess evolution – då klarar man också att hantera de förändringar som alltid kommer – nu eller senare.

Allt måste göras – fast med färre resurser och tid

Återanvändning är inte enbart tillämpbart på restprodukter. Vi måste lära oss hur vi kan återanvända allt från krav – design – kod – test. Vi måste hela tiden arbeta med förbättring av våra processer och vi måste få med hela organisationen på detta – då först klarar vi att göra det snabbare, bättre och till högre kvalité för en lägre kostnad.

Krav på rätt nivå

Modell

För att få en gemensam bild över hur behov och krav bryts ner i implementation och verifiering/validering är det viktigt att man redan från början kommer överens om en modell för hur denna struktur skall se ut (exempel från System Engineering):  

 

Denna typ av översikt ger bra information om: total struktur, typ av krav, spårbarhet, typ av relation, valideringsstruktur mm.

När modellen är godkänd och kommunicerad till projektet så används den som bas för all kravdefinition och kravhantering.  Motsvarande detaljerade modell kan också göras på alla delnivåer för att ytterligare tydliggöra hur allt ”hänger ihop”. För att klara förändringsarbetet så kompletteras sedan modellen med block för förändringskrav (change requests) samt andra typer av objekt som ingår i företagets förändringsprocess.

Arbetsprocess

För att få organisationen att arbeta utifrån ett gemensamt arbetssätt så måste processen ligga till grund. Processen innefattar oftast ett definierat arbetsflöde som skall följas och där man per kravtyp etablerar subprocesser som i detalj styr hur ett krav hanteras i och av organisationen.

Gemensam lagring

För att underlätta att all information finns tillgänglig och att hela organisationen har tillgång till den när det så behövs, ska miljön vara baserad på en gemensam databas. Observera att det inte enbart är fråga om kravet i sig, utan också all dokumentation som är underlag för kravet eller beskriver hur man avser att implementera och/eller validera kravet.  Först när databasen är på plats klarar man att hantera historik (versionshantering) och den spårbarhet som man behöver.

Den viktigaste komponenten av allt – Människan

När ni planerar ert projekt så använd många långa stunder på att fundera över hur ni skall sätta upp ert projekt.  All kravinsamling och förståelse för vad som avser att utvecklas måste baseras på kunskap och erfarenhet. Tänk då, bland annat, på följande:

  • Rätt kompetens till rätt frågeställning – Välj rätt ”expert” inom respektive område.
  • Friställ tid – Ge ”experterna” möjlighet att arbeta i projektet och att verkligen fördjupa sig i de krav som föreligger. Det är deras förståelse som sedan skapar resultatet!
  • Fördela ansvar med känsla – Ett projekt baseras på delegerat ansvar över tid.
  • Gör realistiska planer – Det är bättre att tackla denna fråga i början av projektet och inte när man redan är försenad. 
  • Välj verktyg och hjälpmedel utifrån de behov ni har, att göra fel val kostar tid och pengar och det är vad de flesta idag har problem med!

Lycka till med Ert kravarbete!

//Ulf Sandberg, Visure Solutions - konsultpartner till Nohau
usandberg@visuresolutions.com

 

 

 

 

 

 

 

 

Contact at Nohau

Jan Edberg 

mobile: +46 (0) 707 74 46 34
phone: +47 (0) 92 44 22 09 (no)
jan.edberg@nohau.se

 
Share |