Houd eisen traceerbaar terwijl software verandert
Koppel een gebruikersresultaat aan besluiten, acceptatiecriteria, implementatie en bewijs. Werk de koppelingen bij als aannames veranderen.
Gepubliceerd door TaigaHoe we schrijven
Wat u leert
- Schrijf een waarneembare eis met expliciete grenzen.
- Volg een eis door een wijziging en de controles.
- Identificeer vervolgdocumenten die een gewijzigde aanname raakt.
Beschrijf gedrag dat iemand kan verifiëren
‘Maak een moderne klantexport’ laat belangrijke besluiten open. Gebruikers, records, velden en foutgedrag zijn niet gedefinieerd. Een agent moet vragen stellen of aannames doen. Niet-vastgelegde aannames zijn later moeilijk te reviewen.
Gebruik een fictieve eis met een duidelijke grens: een geauthenticeerde manager mag actieve klanten uit de eigen organisatie exporteren. De export bevat klant-ID en weergavenaam. Contactgegevens en gearchiveerde records zijn uitgesloten. Een gebruiker zonder managerrol krijgt geen export.
Dit vraagt nog besluiten over formaat, volume, responstijd en foutafhandeling. Markeer onbekende punten expliciet. Een bruikbare specificatie maakt onzekerheid zichtbaar in plaats van haar in zelfverzekerde tekst te verbergen.
Scheid eisen van implementatiekeuzes
De gebruiker heeft een toegestane set records in een bruikbaar formaat nodig. Databasequery, library en endpointstructuur zijn implementatiekeuzes. Koppel ze aan de eis zonder elke huidige keuze als blijvende bedrijfsbehoefte te behandelen.
Leg een besluit met belangrijke gevolgen vast met context, alternatieven en reden. Synchrone export kan bijvoorbeeld bij kleine volumes passen. Een groter volume kan een achtergrondtaak en een aparte autorisatiecontrole voor downloaden vereisen.
Houd de eis waar mogelijk stabiel en versioneer het gewijzigde besluit. Zo kunnen reviewers een andere implementatie onderscheiden van een andere belofte aan gebruikers.
Maak een korte bewijsketen
Gebruik identificatoren die in reviews begrijpelijk blijven. In dit voorbeeld kan EXPORT-01 de organisatiegrens aanduiden. De naam is illustratief, geen verplicht nummersysteem.
| Koppeling | Voorbeeld |
|---|---|
| Eis | EXPORT-01: alleen records uit de organisatie van de manager |
| Ontwerpbesluit | Dwing lidmaatschap af op de server, niet in de browser |
| Implementatie | PR wijzigt de query en het autorisatiepad |
| Verificatie | Een verzoek om records van een andere organisatie wordt geweigerd |
| Releasebewijs | Controleresultaat identificeert de geaccepteerde commit en het artefact |
De keten moet naar werkelijk bewijs wijzen. Een testnaam met het eis-ID bewijst niet dat de assertion die eis controleert. Inspecteer de test en het productiepad dat deze doorloopt.
NIST’s SSDF geeft context voor eisen en verificatie binnen veilige ontwikkeling. Gebruik traceerbaarheid om die activiteiten inspecteerbaar te maken, niet om alleen documentatie te produceren. Lees het framework.
Beoordeel de impact van een gewijzigde aanname
Stel dat de bedrijfsvoering nu gearchiveerde klanten nodig heeft. Die wijziging raakt meer dan een queryoptie. Controleer bewaartermijnen, autorisatie, verwacht volume, gebruikersuitleg en de betekenis van bestaande rapporten.
Markeer betrokken documenten en controles voor review. Bewaar het vorige besluit zodat een beheerder een oudere release kan verklaren. Herschrijf de geschiedenis niet ongemerkt om het nieuwste ontwerp onvermijdelijk te laten lijken.
Een agent kan referenties helpen vinden en updates voorstellen. De verantwoordelijken moeten tegenstrijdige eisen oplossen en het gewijzigde gedrag accepteren. Een lijst met gevonden bestanden is een startpunt, geen volledige impactbeoordeling.
Houd de documentatie bruikbaar van omvang
Leg besluiten vast die implementatie, verificatie en beheer beïnvloeden. Herhaal dezelfde eis niet in veel losstaande documenten. Link liever naar één onderhouden bron.
Vraag vóór acceptatie van een wijziging of een reviewer het doel tot het werkelijke bewijs kan volgen. Vraag vóór beheer of de dienstverantwoordelijke de relevante grens en het herstelbesluit kan vinden. Dat zijn praktische toetsen voor bruikbare traceerbaarheid.
Maak de oefening
Schrijf een eis voor een manager die actieve klanten exporteert. Neem toegestane gebruikers, organisatiegrens, velden, foutgedrag en een meetbare afrondingsvoorwaarde op. Koppel die aan een fictieve test en release. Wijzig daarna de eis zodat gearchiveerde klanten meetellen en noteer de betrokken besluiten.
Werkblad downloaden (Markdown)Controleer uw begrip
Bronnen en verder lezen
- NIST: Secure Software Development Framework ↗
- Google Engineering Practices: What to look for in a code review ↗
Gerelateerd leesmateriaal van Taiga
Als u deze selectie wist, verwijdert u alle voortgang die in deze browser is opgeslagen.
Voortgang blijft in deze browser. Geen account, geen tracking.