Om en kund specificerar en produkt är det av yttersta vikt att resultatet faktiskt följer specifikationen och inte blir något annat. Men att det blir så är inte alltid självklart. Främst beror det på otydliga specifikationer. Felen kan vara av två arter, programmeringsmässiga och logiska. Programmeringsfelen är lätta att åtgärda, men bygger man in ett logiskt fel som en del av arkitekturen kan det bli så svårt att åtgärda att man kan få börja om från början. Ju senare man upptäcker felet, desto dyrare blir det att rätta till det.
Det allra vanligaste i dagsläget är att kraven lagras i ett Excel- eller Worddokument. Ett kravhanteringsverktyg är nästa steg, där man helt enkelt kopierat in Worddokumentet i ett verktyg med versionshantering. Inte mycket till verktyg.
För att få riktiga och tydliga krav bör man istället använda kravsimulatorer som Micro Focus Caliber i vilken man kan skapa scenarier och simuleringar av den färdiga programvaran. Ofast vet beställaren vad denne vill ha men kan inte formulera det förrän han sett det i verkligheten. Utan att skriva en enda kodrad kan man i Caliber skapa en pilotversion av programmet med riktiga skärmbilder, som kan förses med riktigt data så att simulationen beter sig som den slutliga produkten, varefter man kan diskutera resultatet med de inblandade för att se om det blev som kunden tänkt sig. Därefter kan kunden ställa upp sina krav på ett korrekt sätt.
Simulatorn skapar ett arbetsflöde (Vad ska ske om man trycker på den här knappen? Vad ska ske om det villkoret är uppfyllt? Vad ska ske om det inte är uppfyllt?) och matar ut en uppsättning krav till programmerarna.
När simuleringen är godkänd kan programmerarna börja arbeta och därefter verifiera sitt program mot kraven. Kraven är också viktiga för testarna som behöver dem för att kunna skapa sina testfall. Resultatet kommer sannolikt att hamna mycket närmare det förväntade än om man bara använde någon av de två förstnämnda metoderna för kravställning och utvecklingsarbetet kommer dessutom att gå fortare.
Psykologin talar om begreppet ”Jag kommer att veta, när jag sett det” (IKIWIS) och det gäller i högsta grad användargränssnitt i ett program. Du får bara rätt produkt om du ställer tydliga krav, så tidigt som möjligt i processen.
Av Thomas Sopp, Nordenchef, Micro Focus