Från spårbarhet till klarhet
När spårbarheten brister.
blir sena kravfel dyra
I komplexa utvecklingsprojekt anses kravspårbarhet ibland som administrativ overhead, något som är bra att ha för revisioner och dokumentation, men som inte direkt bidrar till systemets funktion.
Forskningen pekar på en annan bild.
Strukturerad spårbarhet mellan behov, krav, systemelement och verifiering är i första hand ett sätt att kontrollera teknisk och ekonomisk risk. När spårbarheten saknas blir det svårare att bedöma konsekvenserna av en ändringar eller identifiera ofullständiga kravnedbrytningar och visa att samtliga krav faktiskt har verifierats.
Det är framför allt när ett problem upptäcks sent som kostnadseffekten blir kraftfull.
Det finns ett samband mellan spårbarhet och kostnadsöverskridanden
En av de mer direkta studierna genomfördes av Saito med flera och publicerades vid Asia-Pacific Software Engineering Conference 2012.
Forskarna analyserade spårbarhetslänkar i kravspecifikationer från verkliga utvecklingsprojekt. Projekten delades upp i två grupper: projekt med betydande kostnadsöverskridanden och projekt vars kostnader låg inom normalintervallet.
Resultatet visade ett statistiskt samband mellan högre kvalitet på kravspårbarheten och lägre kostnadsöverskridanden
Det är viktigt att tolka resultatet korrekt. Studien visar inte att en viss procent förbättrad spårbarhet automatiskt sänker projektkostnaden med en viss procentsats. Den visar däremot att spårbarhetskvalitet och ekonomiskt projektutfall hänger ihop.
För Systems Engineering är detta relevant eftersom spårbarheten används för betydligt mer än dokumentation. Den utgör underlaget för att kunna besvara frågor som:
– Varifrån kommer detta krav?
– Vilka systemelement påverkas om kravet ändras?
– Vilka underliggande krav måste omprövas?
– Vilka verifieringsaktiviteter påverkas?
– Är alla kund- och systemkrav implementerade och verifierade?
– Finns det funktioner eller konstruktion som saknar ett legitimt krav?
När dessa frågor inte kan besvaras snabbt ökar den manuella analysen och risken för att konsekvenser förbises.
Det verkligt dyra problemet är ofta att kravfelet upptäcks sent
Ett viktigt komplement kommer från NASA och INCOSE.
I studien Cost Escalation Through the Project Life Cycle analyserades hur kostnaden för att korrigera ett kravfel förändras beroende på när under systemlivscykeln felet upptäcks.
Studien utgår från komplexa kombinerade hård- och mjukvarusystem med egenskaper jämförbara med större rymdsystem, militära flygplan och kommunikationssatelliter.
Om kostnaden för att korrigera ett kravfel under kravfasen sätts till 1, uppskattades motsvarande korrigeringskostnad till:
Upptäcktsfas | Relativ korrigeringskostnad |
Kravarbete | 1× |
Design | 3–8× |
Konstruktion/produktion | 7–16× |
Integration och test | 21–78× |
Drift | 29× till över 1 500× |
Detta är inte en studie av spårbarhet i sig och siffrorna bör därför inte användas som ett generellt påstående om att dålig spårbarhet alltid orsakar exempelvis 78 gånger högre kostnader.
En fungerande kravkedja gör det möjligt att upptäcka problem tidigare. Ett krav kan spåras från sitt ursprung, genom nedbrytning och design, till den metod och det bevis som ska verifiera att kravet är uppfyllt.
När denna kedja är ofullständig ökar sannolikheten att en brist först blir synlig när systemet integreras, provas eller tas i drift.
Det är då ett kravproblem kan utvecklas till ett betydligt större systemproblem.
Industridata från Bosch visar kostnaden för kravfel
En annan relevant studie analyserade kravfel under 4,5 år i ett fordonsprojekt hos Bosch.
Forskarna studerade 588 dokumenterade kravfel i ett projekt med över 10 000 krav. Resultaten visade bland annat att fel kopplade till ofullständighet och inkonsistens hörde till de mest kostsamma att korrigera.
Studien visar inte att avsaknad av spårbarhetslänkar ensam skapade dessa kostnader. Den visar däremot hur kravbrister genererar konkret korrigeringsarbete senare i utvecklingen.
För en organisation med god spårbarhet finns bättre förutsättningar att upptäcka exempelvis att ett överordnat krav inte har blivit fullständigt nedbrutet, att två systemkrav är inkonsistenta eller att ett krav saknar verifiering.
Spårbarheten fungerar därmed som en del av projektets systematiska felupptäckt.
När spårbarheten saknas kan den vara mycket dyr att rekonstruera
Ett industriellt erfarenhetsfall från Blekinge Tekniska Högskola och ett större telekommunikationsföretag illustrerar ett annat problem.
Forskarna ville analysera organisationens kvalitetsproblem men upptäckte att grundläggande spårbarhetslänkar mellan krav och testfall saknades. Avsaknaden av dessa länkar blev i sig ett hinder för analysarbetet och gjorde det svårt att rekonstruera hur kraven hade realiserats och verifierats.
Det visar en ofta underskattad ekonomisk konsekvens:
Spårbarhet som inte etableras när informationen skapas måste senare rekonstrueras.
Att i efterhand försöka avgöra varför ett krav finns, vilket designbeslut det ledde till och vilka tester som verifierar det kan kräva intervjuer, dokumentgranskning, kodanalys och jämförelser mellan olika konfigurationsversioner.
Dessutom finns ingen garanti för att den ursprungliga informationen längre går att återskapa.
Varför spårbarhet påverkar projektets ekonomi
Den ekonomiska nyttan med spårbarhet kommer därför inte primärt från själva länken mellan två objekt. Värdet uppstår genom vad länkarna gör möjligt.
Ändringsanalys
När ett kund- eller systemkrav ändras behöver projektet kunna identifiera vilka underliggande krav, gränssnitt, systemelement och verifieringsaktiviteter som påverkas.
NASA:s Systems Engineering Handbook beskriver just bidirektionell spårbarhet som en central del av Requirements Management och som underlag för att hantera förändringar genom systemets livscykel.
Utan den informationen blir konsekvensanalysen mer beroende av individer och manuellt sökarbete.
Tidigare upptäckt av fel
Spårbarhet uppåt visar om ett krav har ett legitimt ursprung och uppfyller ett överordnat behov.
Spårbarhet nedåt visar om kravet har blivit fullständigt allokerat och realiserat.
Spårbarhet mot verifiering visar om det finns en definierad metod för att bevisa att kravet är uppfyllt.
Det skapar flera möjligheter att upptäcka problem innan de når integration och systemverifiering.
Kontrollerad verifiering
I större system räcker det inte att genomföra många tester. Projektet måste kunna visa att rätt saker har verifierats.
En obruten kedja från krav till verifieringsmetod, testfall och verifieringsresultat gör det möjligt att identifiera krav som saknar verifieringsbevis och testfall som inte kan kopplas till ett krav.
NASA inkluderar därför bidirektionell spårbarhetsstatus bland den information som används i verifierings- och valideringsarbetet.
Minskad personberoende risk
Om relationerna mellan krav, design och verifiering endast finns i projektmedlemmarnas erfarenhet uppstår en betydande kunskapsrisk.
Personer byter roller. Leverantörer byts ut. Projekt löper över många år.
Explicit spårbarhet gör en del av denna kunskap till en systemtillgång i stället för individuell kunskap.
Spårbarhet är inte samma sak som att skapa så många länkar som möjligt
Det är samtidigt viktigt att inte dra slutsatsen att maximal spårbarhet alltid är bäst.
Att skapa och underhålla länkar kostar också tid. Dåligt definierade relationer kan dessutom skapa en illusion av kontroll utan att egentligen förbättra beslutsunderlaget.
Målet bör därför vara ändamålsenlig spårbarhet.
För ett komplext system innebär det typiskt att kunna följa den relevanta kedjan:
Behov → System Krav → Nedbrutet krav → Systemelement → Verifieringsmetod → Verifieringsaktivitet → Verifieringsresultat
samt att kunna navigera kedjan i båda riktningarna.
Det är först när relationerna används för ändringsanalys, granskning, verifieringsplanering och beslutsfattande som spårbarheten skapar verkligt värde.
Från dokumentation till ekonomisk riskkontroll
För projektledningen bör kravspårbarhet därför inte främst behandlas som en fråga om dokumentdisciplin. Det är en del av projektets riskhantering.
En relevant fråga är inte:
”Hur mycket kostar det att underhålla spårbarheten?”
utan:
”Vad kostar det när vi inte kan identifiera konsekvenserna av ett ändrat eller felaktigt krav förrän systemet befinner sig i integration, verifiering eller drift?”
Forskningen ger inte stöd för ett universellt procenttal för denna kostnad. Projekt skiljer sig för mycket åt.
Men den samlade bilden visar tre saker:
- Det finns faktabaserade resultat som kopplar högre spårbarhetskvalitet till bättre kostnadsutfall.
- Kravfel blir potentiellt mycket dyrare när de upptäcks sent i komplexa systemprojekt.
- Industriella erfarenheter visar att saknad spårbarhet både försvårar kvalitetsarbete och kan vara svår och kostsam att rekonstruera i efterhand.
För Systems Engineering innebär detta att kravspårbarhet bör etableras som en aktiv del av projektets besluts-, ändrings- och verifieringsprocess, inte som en administrativ slutprodukt.
Kravverktyg som IBM DOORS eller DOORS Next kan ge den tekniska infrastrukturen, men verktyget i sig skapar inte spårbarheten.
Det avgörande är att projektet definierar vilka relationer som ska finnas, varför de behövs, vem som ansvarar för dem och vid vilka beslutspunkter deras kvalitet ska kontrolleras.
Den blir ett sätt att upptäcka kostsamma problem medan de fortfarande är billiga att åtgärda.
Referenser
Saito, S. et al. (2012), Empirical Analysis of the Impact of Requirements Traceability Quality to the Productivity of Enterprise Applications Development, Asia-Pacific Software Engineering Conference, IEEE.
Stecklein/Haskins et al. (2004), Cost Escalation Through the Project Life Cycle, INCOSE International Symposium / NASA.
Langenfeld, V., Post, A. & Podelski, A. (2016), Requirements Defects over a Project Lifetime: An Empirical Analysis of Defect Data from a 5-Year Automotive Project at Bosch.
Fucci, D., Alégroth, E. & Axelsson, T. (2022), When Traceability Goes Awry: An Industrial Experience Report, Journal of Systems and Software.
NASA, Systems Engineering Handbook – Requirements Management