Lärstig 04Lektion 2 / 10

Behåll spårbara krav när programvaran ändras

Koppla ett användarresultat till beslut, acceptanskriterier, implementation och underlag. Uppdatera kopplingarna när antaganden ändras.

Praktisk nivå10 minGranskad

Publicerad av Så skriver vi

Det här lär du dig

  • Skriv ett observerbart krav med uttryckliga gränser.
  • Spåra ett krav genom en ändring och dess kontroller.
  • Identifiera efterföljande dokument som påverkas av ett ändrat antagande.

Beskriv beteende som någon kan verifiera

”Skapa en modern kundexport” lämnar viktiga beslut öppna. Det definierar inte användare, poster, fält eller felbeteende. En agent måste fråga eller göra antaganden. Odokumenterade antaganden är svåra att granska senare.

Använd ett fiktivt krav med tydlig gräns: en autentiserad chef kan exportera aktiva kunder från den egna organisationen. Exporten innehåller kund-ID och visningsnamn. Den utesluter kontaktuppgifter och arkiverade poster. En användare utan chefsroll får ingen export.

Det behövs fortfarande beslut om format, volym, svarstid och felhantering. Markera okända frågor uttryckligt. En användbar specifikation visar osäkerhet i stället för att dölja den i självsäker text.

Skilj krav från implementationsval

Användaren behöver en tillåten uppsättning poster i ett användbart format. Databasfråga, bibliotek och endpointstruktur är implementationsval. Koppla dem till kravet utan att behandla varje aktuellt val som ett permanent affärsbehov.

Dokumentera ett beslut med betydande konsekvenser tillsammans med kontext, alternativ och skäl. Synkron export kan exempelvis passa små volymer. Större volym kan kräva ett bakgrundsjobb och en separat auktoriseringskontroll för nedladdning.

Håll kravet stabilt där det går och versionshantera det ändrade beslutet. Det hjälper granskare skilja en annan implementation från ett annat löfte till användarna.

Skapa en kort underlagskedja

Använd identifierare som förblir begripliga vid granskning. I exemplet kan EXPORT-01 identifiera organisationsgränsen. Namnet är illustrativt, inte ett obligatoriskt nummersystem.

KopplingExempel
KravEXPORT-01: endast poster i chefens organisation
DesignbeslutUpprätthåll medlemskap på servern, inte i webbläsaren
ImplementationPR ändrar frågan och auktoriseringsvägen
VerifieringEn begäran om en annan organisations poster nekas
ReleaseunderlagKontrollresultatet identifierar accepterad commit och artefakt

Kedjan måste peka på verkligt underlag. Ett testnamn med krav-ID bevisar inte att assertionen kontrollerar kravet. Granska testet och produktionsvägen det prövar.

NIST:s SSDF ger kontext för krav och verifiering inom säker utveckling. Använd spårbarhet för att göra aktiviteterna granskningsbara, inte för att producera dokumentation för dess egen skull. Läs ramverket.

Granska effekten av ett ändrat antagande

Anta att verksamheten nu behöver arkiverade kunder. Ändringen påverkar mer än en frågeflagga. Kontrollera lagringsregler, auktorisering, förväntad volym, användarförklaringar och betydelsen av befintliga rapporter.

Markera påverkade dokument och kontroller för granskning. Bevara det tidigare beslutet så att driftansvariga kan förklara en äldre release. Skriv inte tyst om historien så att senaste designen verkar oundviklig.

En agent kan hjälpa att hitta referenser och föreslå uppdateringar. Ansvariga måste lösa motstridiga krav och acceptera ändrat beteende. En lista med matchande filer är en startpunkt, inte en fullständig konsekvensbedömning.

Håll dokumentationen liten nog att använda

Dokumentera besluten som påverkar implementation, verifiering och drift. Undvik att upprepa samma krav i många frånkopplade dokument. Föredra länkar till en underhållen källa.

Fråga före acceptans om en granskare kan följa ändringens syfte till faktiskt underlag. Fråga före drift om tjänsteansvarig kan hitta relevant gräns och återställningsbeslut. Det är praktiska tester av användbar spårbarhet.

Gör övningen

Skriv ett krav för en chef som ska exportera aktiva kunder. Ta med tillåtna användare, organisationsgräns, fält, felbeteende och ett mätbart slutvillkor. Koppla det till ett fiktivt test och en release. Ändra sedan kravet till att även omfatta arkiverade kunder och lista påverkade beslut.

Ladda ned övningsblad (Markdown)

Kontrollera din förståelse

Specifikationen ändras efter att arkitektur och tester har förberetts. Vad ska hända?

Källor och vidare läsning

Relaterad läsning från Taiga