Zachovejte dohledatelnost požadavků při změnách softwaru
DokončenoPropojte výsledek pro uživatele s rozhodnutími, akceptačními kritérii, implementací a důkazy. Při změně předpokladů aktualizujte vazby.
Vydává TaigaJak píšeme
Ověřte si porozuměníSpecifikace se změní po přípravě architektury a testů. Co má následovat?Vypracovat cvičení
Co se naučíte
- Napsat pozorovatelný požadavek s výslovnými hranicemi.
- Dohledat požadavek přes změnu až k jejím kontrolám.
- Určit navazující dokumenty dotčené změnou předpokladu.
Popište chování, které lze ověřit
„Vytvoř moderní export zákazníků“ ponechává důležitá rozhodnutí otevřená. Nedefinuje uživatele, záznamy, pole ani chování při selhání. Agent se musí zeptat nebo předpokládat. Nezaznamenané předpoklady se později obtížně kontrolují.
Použijte fiktivní požadavek s jasnou hranicí: autentizovaný manažer může exportovat aktivní zákazníky své organizace. Export obsahuje ID zákazníka a zobrazované jméno. Vynechává kontaktní údaje a archivované záznamy. Uživatel bez role manažera nedostane žádný export.
Stále jsou nutná rozhodnutí o formátu, objemu, době odezvy a zpracování selhání. Neznámé skutečnosti výslovně označte. Užitečná specifikace nejistotu odhaluje, místo aby ji skrývala v sebejistém textu.
Oddělte požadavky od implementačních voleb
Uživatel potřebuje povolenou sadu záznamů v použitelném formátu. Databázový dotaz, knihovna a struktura endpointu jsou implementační volby. Propojte je s požadavkem, aniž byste každou současnou volbu považovali za trvalou obchodní potřebu.
Důležité rozhodnutí zaznamenejte s kontextem, alternativami a důvodem. Synchronní export může například vyhovovat malým objemům. Větší objem může vyžadovat úlohu na pozadí a samostatnou autorizační kontrolu stažení.
Kde je to možné, zachovejte požadavek a verzujte změněné rozhodnutí. Kontrolující tak snáze odliší jinou implementaci od jiného příslibu uživatelům.
Vytvořte krátký řetězec důkazů
Používejte identifikátory, které zůstávají srozumitelné při kontrole. V tomto příkladu může EXPORT-01 označovat hranici organizace. Název je ilustrativní, nejde o povinný systém číslování.
| Vazba | Příklad |
|---|---|
| Požadavek | EXPORT-01: pouze záznamy organizace manažera |
| Návrhové rozhodnutí | Vynucovat členství na serveru, nikoli v prohlížeči |
| Implementace | PR mění dotaz a autorizační postup |
| Ověření | Požadavek na záznamy jiné organizace je zamítnut |
| Důkazy vydání | Výsledek kontroly identifikuje přijatý commit a artefakt |
Řetězec musí odkazovat na skutečné důkazy. Název testu obsahující ID požadavku neprokazuje, že jej testovaná podmínka ověřuje. Prozkoumejte test a cestu produkčního kódu, kterou provádí.
NIST SSDF poskytuje kontext pro požadavky a ověřování v bezpečném vývoji. Dohledatelnost používejte ke zpřístupnění těchto činností kontrole, nikoli k tvorbě dokumentace pro ni samotnou. Přečtěte si rámec.
Posuďte dopad změněného předpokladu
Předpokládejme, že firma nyní potřebuje archivované zákazníky. Tato změna zasahuje více než příznak dotazu. Ověřte pravidla uchování, autorizaci, očekávaný objem, vysvětlení uživatelům a význam existujících sestav.
Označte dotčené dokumenty a kontroly k novému posouzení. Zachovejte předchozí rozhodnutí, aby provozní tým dokázal vysvětlit starší vydání. Nepřepisujte mlčky historii tak, aby poslední návrh vypadal jako jediná možná cesta.
Agent může pomoci najít odkazy a navrhnout aktualizace. Odpovědné osoby musí vyřešit rozporné požadavky a přijmout změněné chování. Seznam odpovídajících souborů je začátek, nikoli úplné posouzení dopadů.
Udržujte záznam dost malý pro používání
Zaznamenávejte rozhodnutí, která ovlivňují implementaci, ověření a provoz. Neopakujte stejný požadavek v mnoha nepropojených dokumentech. Upřednostněte odkazy na jeden udržovaný zdroj.
Před přijetím změny se ptejte, zda kontrolující dokáže sledovat její účel až ke skutečným důkazům. Před provozem se ptejte, zda osoba odpovědná za službu najde příslušnou hranici a rozhodnutí o obnově. To jsou praktické zkoušky užitečné dohledatelnosti.
Vypracovat cvičení
Napište požadavek na export aktivních zákazníků manažerem. Zahrňte povolené uživatele, hranici organizace, pole, chování při selhání a měřitelnou podmínku dokončení. Propojte jej s fiktivním testem a vydáním. Pak požadavek rozšiřte o archivované zákazníky a vypište dotčená rozhodnutí.
Stáhnout pracovní list (Markdown)Zrušení této volby smaže veškerý postup uložený v tomto prohlížeči.
Postup zůstává v tomto prohlížeči. Bez účtu a sledování.
Zdroje a další čtení
- NIST: Secure Software Development Framework ↗
- Google Engineering Practices: What to look for in a code review ↗