Atrybuty wymagań według ISO 29148

Atrybuty wymagań to dodatkowe informacje o wymaganiach (metadane), ułatwiające zarządzanie wymaganiami. Zazwyczaj definiowany jest tzw. schemat atrybutów, czyli lista informacji o wymaganiach, które zostały uznane za użyteczne i potrzebne w kontekście danego projektu. Informacje te są następnie definiowane dla każdego z poszczególnych wymagań oraz są odpowiednio aktualizowane w razie, gdy zaistnieje taka potrzeba.

Schemat atrybutów jest narzędziem, które zawsze warto dopasować do kontekstu danego projektu. To znaczy, że w ramach różnych projektów przydatne mogą być różne atrybuty. Lista przykładowych i popularnych atrybutów zawarta jest w normie ISO 29148. Oczywiście, w razie potrzeby, możliwe jest definiowanie własnych atrybutów, nie znajdujących się na wspomnianej liście.

Przykładowe atrybuty wymagań według ISO 29148

  • Identyfikator (ang. Identification)

Każde wymaganie powinno być jednoznacznie identyfikowalne. Identyfikacja umożliwia tworzenie powiązań i relacji. Unikalne identyfikatory pomagają w śledzeniu wymagań. Identyfikator jest unikalny — nigdy nie jest zmieniany (nawet jeśli zmieni się wymaganie) ani nie jest ponownie używany (nawet jeśli usunięto wymaganie).

  • Numer wersji (ang. Version Number)

Ma na celu upewnienie się, że wdrażana jest poprawna wersja wymagania, a także śledzenie tego jak często wymaganie się zmienia. Wymaganie, które było wielokrotnie zmieniane, może wskazywać na problem lub ryzyko dla projektu.

  • Właściciel (ang. Owner)

Osoba lub część organizacji, która odpowiada za wymaganie, ma prawo podejmowania decyzji dotyczących tego wymagania, zatwierdza zmiany w wymaganiu oraz raportuje jego stan.

  • Priorytet (ang. Stakeholder Priority)

Należy określić priorytet każdego wymagania. Może on być wskazany poprzez osiągnięcie konsensusu wśród interesariuszy. Priorytet może być wyrażony w różnej formie (np. Skala 1-5 lub prosty schemat, np. Wysoki, Średni lub Niski). Priorytet nie ma sugerować, że niektóre wymagania nie są konieczne, ale może wskazywać, jakie wymagania stanowią przestrzeń do negocjacji.

  • Ryzyko (ang. Risk)

Wartość przypisywana do każdego wymagania na podstawie powiązanych czynników ryzyka. Ryzykowne wymagania to wymagania pozbawione zestawu charakterystyk oczekiwanych od poprawnie sformułowanych wymagań. Brak tychże charakterystyk może spowodować, że wymaganie nie zostanie zaimplementowane (nie przejdzie weryfikacji lub walidacji). 

Ryzyko może dotyczyć też wykonalności wymagania pod względem technologii, harmonogramu, kosztów etc. 

  • Uzasadnienie (ang. Rationale)

Powód, dla którego wymaganie jest potrzebne. Wskazuje na wszelkie analizy, badania, modele, symulacje lub inne istotne i obiektywne dowody.

  • Trudność (ang. Difficulty)

Zakładana trudność realizacji wymagania (np. Łatwy/Normalny/Trudny). Zapewnia to dodatkowy kontekst pod względem zakresu wymagania. Pomaga również w szacowaniu kosztów.

  • Typ (ang. Type)

Pomaga w identyfikacji odpowiednich wymagań i kategoryzowaniu ich w grupy w celu analizy i alokacji.

Inne popularne atrybuty wymagań

Innymi, często spotykanymi atrybutami wymagań są na przykład:

  • Estymacja

Określa wysiłek niezbędny do zrealizowania danego wymagania. Może być określona w relatywnych jednostkach (np. Story Point) lub jednostkach wymiernych (np. liczba dni pracy).

  • Status

Wskazuje aktualny stan wymagania, czyli jego aktualne miejsce w ramach zdefiniowanego cyklu życia. Status wskazuje czy wymaganie jest dopiero pozyskane, zaakceptowane, zwalidowane, wdrożone, wycofane etc.

  • Powiązane wymagania

Powiązania pomiędzy wymaganiami opisane w jednym z poprzednich wpisów można wskazywać za pomocą atrybutów. Należy wtedy wskazać powiązane wymaganie (lub wymagania) w każdorazowo typ danego powiązania.

  • Autor

Wskazuje osobę, która udokumentowała dane wymaganie. Atrybut ten jest przydatny np. w sytuacji gdy konieczne jest doprecyzowanie tego wymagania.

  • Pilność

Atrybut opisuje to jak szybko wymaganie musi być zrealizowane aby dostarczyło wartości biznesowej. Zwykle pilność jest związana z określonym, konkretnym terminem wdrożenia (ang. deadline).

  • Stabilność

Atrybut wskazuje jak duża jest szansa na poważną zmianę wymagania. Jeśli wymaganie jest już dopracowane, uzgodnione i gotowe do implementacji, a w związku z tym prawdopodobnie nie będzie już zmieniane, to oznacza, że jego stabilność jest wysoka.

Moje rekomendacje

  • Przemyśl jakich informacji o wymaganiach potrzebujesz w projekcie. Przeanalizuj jakie informacje o wymaganiach pomogą Ci nimi efektywnie zarządzać. Następnie opracuj schemat atrybutów zawierający zidentyfikowane informacje.
  • Pamiętaj, że wartości atrybutów mogą się zmieniać i w razie potrzeby należy je aktualizować. Zdarza się, że wartości poszczególnych atrybutów zmieniają się częściej niż sama treść wymagań.
  • Pamiętaj, że efektywne zarządzanie atrybutami wymaga zaangażowania odpowiednich, dedykowanych narzędzi.

Źródła:

  • ISO/IEC/IEEE 29148: Systems and Software Engineering – Life Cycle Processes – Requirements Engineering, International Organization for Standardization, 2018
  • A Guide to the Business Analysis Body of Knowledge® (BABOK® Guide). Version 3. 2015.