Zachowuj powiązania wymagań podczas zmian oprogramowania
Powiąż wynik dla użytkownika z decyzjami, kryteriami akceptacji, implementacją i dowodami. Aktualizuj powiązania po zmianie założeń.
Wydawca TaigaJak piszemy
Czego się nauczysz
- Napisz obserwowalne wymaganie z jawnymi granicami.
- Prześledź wymaganie przez zmianę i jej kontrole.
- Wskaż dokumenty zależne od zmienionego założenia.
Opisz zachowanie możliwe do sprawdzenia
„Utwórz nowoczesny eksport klientów” pozostawia ważne decyzje otwarte. Nie określa użytkowników, rekordów, pól ani zachowania przy błędzie. Agent musi zapytać lub przyjąć założenia. Niezapisane założenia trudno później przejrzeć.
Użyj fikcyjnego wymagania z jasną granicą: uwierzytelniony menedżer może eksportować aktywnych klientów swojej organizacji. Eksport zawiera identyfikator klienta i nazwę wyświetlaną. Pomija dane kontaktowe i rekordy archiwalne. Użytkownik bez roli menedżera nie otrzymuje eksportu.
Nadal potrzebne są decyzje o formacie, objętości, czasie odpowiedzi i obsłudze błędów. Jawnie zaznacz niewiadome. Przydatna specyfikacja ujawnia niepewność zamiast ukrywać ją w pewnie brzmiącym tekście.
Oddziel wymagania od wyborów implementacji
Użytkownik potrzebuje dozwolonego zestawu rekordów w użytecznym formacie. Zapytanie do bazy, biblioteka i struktura endpointu są wyborami implementacji. Powiąż je z wymaganiem, ale nie traktuj każdego obecnego wyboru jak trwałej potrzeby biznesowej.
Zapisz istotną decyzję wraz z kontekstem, alternatywami i uzasadnieniem. Na przykład eksport synchroniczny może wystarczyć dla małych zbiorów. Większy zbiór może wymagać zadania w tle i osobnej kontroli autoryzacji pobrania.
Tam, gdzie to możliwe, zachowaj wymaganie i wersjonuj zmienioną decyzję. Ułatwia to odróżnienie innej implementacji od innej obietnicy dla użytkowników.
Utwórz krótki łańcuch dowodów
Używaj identyfikatorów zrozumiałych w przeglądach. W tym przykładzie EXPORT-01 może oznaczać granicę organizacji. Nazwa jest ilustracją, nie wymaganym systemem numeracji.
| Powiązanie | Przykład |
|---|---|
| Wymaganie | EXPORT-01: tylko rekordy organizacji menedżera |
| Decyzja projektowa | Egzekwuj członkostwo na serwerze, nie w przeglądarce |
| Implementacja | PR zmienia zapytanie i ścieżkę autoryzacji |
| Weryfikacja | Żądanie rekordów innej organizacji jest odrzucane |
| Dowód wydania | Wynik kontroli identyfikuje zaakceptowany commit i artefakt |
Łańcuch musi wskazywać rzeczywiste dowody. Nazwa testu zawierająca identyfikator wymagania nie dowodzi, że asercja je sprawdza. Przejrzyj test i produkcyjną ścieżkę, którą bada.
NIST SSDF daje kontekst dla wymagań i weryfikacji w bezpiecznym wytwarzaniu. Używaj powiązań, aby działania dało się sprawdzić, zamiast tworzyć dokumentację dla niej samej. Przeczytaj framework.
Sprawdź wpływ zmienionego założenia
Załóżmy, że biznes potrzebuje teraz klientów archiwalnych. Ta zmiana wpływa na więcej niż flagę w zapytaniu. Sprawdź reguły przechowywania, autoryzację, oczekiwaną objętość, wyjaśnienia dla użytkowników i znaczenie istniejących raportów.
Oznacz odpowiednie dokumenty i kontrole do przeglądu. Zachowaj poprzednią decyzję, aby operator mógł wyjaśnić starsze wydanie. Nie przepisuj po cichu historii tak, jakby najnowszy projekt był nieunikniony.
Agent może znajdować odwołania i proponować aktualizacje. Odpowiedzialni właściciele muszą rozstrzygać konflikty wymagań i akceptować zmienione zachowanie. Lista pasujących plików to punkt wyjścia, nie pełna analiza wpływu.
Zachowaj zapis możliwy do użycia
Dokumentuj decyzje wpływające na implementację, weryfikację i eksploatację. Unikaj powtarzania tego samego wymagania w wielu niepowiązanych dokumentach. Wybieraj linki do jednego utrzymywanego źródła.
Przed zaakceptowaniem zmiany sprawdź, czy recenzent może przejść od jej celu do rzeczywistych dowodów. Przed eksploatacją sprawdź, czy właściciel usługi znajdzie właściwą granicę i decyzję o odtwarzaniu. To praktyczne testy przydatności powiązań.
Wykonaj ćwiczenie
Zapisz wymaganie eksportu aktywnych klientów przez menedżera. Uwzględnij dozwolonych użytkowników, granicę organizacji, pola, zachowanie przy błędzie i mierzalny warunek ukończenia. Powiąż je z fikcyjnym testem i wydaniem. Następnie dodaj klientów archiwalnych i wypisz decyzje wymagające ponownej oceny.
Pobierz arkusz (Markdown)Sprawdź zrozumienie
Źródła i dalsza lektura
- NIST: Secure Software Development Framework ↗
- Google Engineering Practices: What to look for in a code review ↗
Powiązana lektura od Taiga
Odznaczenie tej opcji usuwa wszystkie postępy zapisane w tej przeglądarce.
Postępy pozostają w tej przeglądarce. Bez konta i śledzenia.