top of page

Jak napisać dobre wymaganie - część 1

Zaktualizowano: 18 paź 2022

Tworzenie wymagań jest na pozór łatwym zadaniem, natomiast w praktyce wymaga wiedzy i dyscypliny.


Aby wymaganie było uznane za poprawne musi spełniać zestaw kryteriów jakościowych, które omówię dla Ciebie poniżej. Ten artykuł na publikacji INCOSE pt. "Guide to writting requirements" z 2022 roku.

Tych kryteriów jest dziewięć i wszystkie należy traktować z jednakową wagą.


Niezbędne

Każde wymaganie musi być niezbędne, z punktu widzenia potrzeb, koncepcji lub wymagań nadrzędnych. W celu określenia czy dane wymaganie jest rzeczywiście niezbędne warto zadać sobie następujące pytanie.

“Czy brak tego wymagania może skutkować brakiem we właściwościach lub możliwościach realizowanego systemu?”.

Jeśli odpowiedź jest twierdząca to wymaganie spełnia to kryterium.

Z drugiej strony warto prześledzić pochodzenie danego wymagania. Każde wymaganie powinno być powiązane z konkretną potrzebą, nadrzędnym wymaganiem lub konkretnym zewnętrznym źródłem (np. standard ISO czy świadoma decyzja projektowa). W tym zakresie dobrym punktem kontrolnym jest sprawdzenie czy uzasadnienie wymagania istnieje i czy jest sensowne.


Właściwe (dla danego obiektu)

Treść wymagania musi odnosić się do obiektu, którego dotyczy, na odpowiednim poziomie. Wymaganie powinno stanowić informację wejściową dla projektowania danego obiektu, natomiast nie definiować konkretnych rozwiązań. W efekcie, wymagania na poziomie systemu, definiujące szczegóły jego podsystemu, są niepoprawne.

W praktyce, jednak, często takie wymagania powstają i utrzymują się do momentu stworzenia oddzielnego zestawu wymagań dla tegoż podsystemu. Wtedy takie wymaganie powinno zostać przeniesione na odpowiedni poziom.


Jednoznaczne

Dużym wyzwaniem przy tworzeniu wymagań opartych o język pisany jest zapewnienie jednoznaczności zawartego w nim twierdzenia. Przy zachowaniu tego kryterium najlepszą praktyką jest korzystanie z pomocy osób trzecich, które powinny, bez wcześniejszego wprowadzenia, określić jak rozumieją treść danego wymagania. Tak długo jak wymaganie będzie rozumiane przez różne osoby na różny sposób, jest ono błędne.

Wraz z doświadczeniem, u inżynierów wymagań, kształtuje się wyczucie językowe, a tworzenie kolejnych wymagań staje się łatwiejsze. Niemniej nie należy popadać w zbytnią pewność siebie i zawsze gdy to możliwe, należy korzystać z pomocy zewnętrznego recenzenta, który spojrzy na zestaw wymagań pod kątem ich jednoznaczności.


Kompletne

Wymaganie powinno zawierać wystarczająco informacji, aby opisywać daną właściwość lub zdolność systemu, bez potrzeby sięgania do innych źródeł. Innymi słowy, wyrwane z kontekstu całego zestawu wymagań, wymaganie powinno dostarczyć nam komplet informacji oraz nie powinno prowadzić nas do błędnej konkluzji.

Przede wszystkim wymaganie, w swoim docelowym kształcie, nie powinno zawierać zwrotów takich jak np. “Do zdefiniowania” (ang. To Be Defined - TBD), co jest wygodną i popularną praktyką wśród inżynierów wymagań.

Dobrym testem pozwalającym sprawdzić czy wymaganie zawiera wystarczająco informacji, aby spełnić to kryterium, jest odpowiedź na pytanie czy wymaganie określa następujące rzeczy: “co”, “jak bardzo" lub "jak dobrze” oraz “w jakiej sytuacji”.


Pojedyncze

Jedno wymaganie powinno dotyczyć wyłącznie jednej właściwości lub zdolności systemu.

Praktyczna rada jest taka, że obecność spójnika “i” w treści wymagania powinna być dla inżyniera wymagań powodem do zastanowienia się nad poprawnością wymagania.


Wykonalne

Wymaganie musi być możliwe do zrealizowania, w kontekście realizowanego projektu. To zazwyczaj dotyczy aspektów finansowych, harmonogramu, technicznych, prawnych, etycznych oraz bezpieczeństwa. Przykładem niepoprawnego wymagania, ze względu na to kryterium jest np.

“System powinien zapewniać niezawodność na poziomie co najmniej 100%”.

W większości przypadków wykonalność wymagania jest kwestią subiektywną, co do której musi się wypowiedzieć zespół projektowy. W tym przypadku ponownie przydatna jest konsultacja z osobami trzecimi, np. kierownikiem projektu. Z drugiej strony, w przypadku ambitnych projektów, ocierających się o “niemożliwe” powinniśmy być ostrożni przy odrzucaniu takich wymagań, bez dogłębnej analizy.


Weryfikowalne (nadające się do weryfikacji)

Wymaganie powinno być sformułowane, w taki sposób, aby jego spełnienie mogło zostać udowodnione (zweryfikowane).

Dwa aspekty potwierdzają spełnienie tego kryterium:

  • sposób i forma weryfikacji może zostać określona na podstawie treści wymagania;

  • oczekiwana właściwość lub zdolność systemu powinna wynikać z treści wymagania, wraz z tzw. kryterium sukcesu, pozwalającym potwierdzić czy weryfikacja przebiegła pomyślnie.

Aby sprawdzić czy napisane przez Ciebie wymaganie spełnia to kryterium warto skorzystać z następujących pytań kontrolnych: “Skąd dowiem się, że wymaganie zostało spełnione?”, “Jakich wartości zdolności systemu się spodziewam?”, “Czy to co określa to wymaganie jest dla mnie interesujące z punktu widzenia weryfikacji systemu?”

Jeśli odpowiedź na te pytania jest twierdząca to jest duża szansa, że wymaganie jest weryfikowalne.


Poprawne

Wymaganie musi zawierać wyłącznie poprawne informacje dotyczące obiektu, którego dotyczy. Niespełnienie tego kryterium zazwyczaj wynika, z ludzkiego błędu lub z braku zrozumienia założeń projektu przez samego inżyniera wymagań. Tak w pierwszym, jak i drugim przypadku przydatne jest, aby zestaw wymagań został zrecenzowany przez innego członka zespołu, np. kierownika projektu lub innego inżyniera wymagań.


Zgodne z przyjętym standardem

W ramach firmy lub projektu, styl i forma wymagań powinny być spójne. W idealnym przypadku każde wymaganie powinno bazować na ustandaryzowanym schemacie. Dzięki temu zrozumienie wymagań będzie łatwiejsze dla osób trzecich. Również weryfikacja jakości wymagań jest ułatwiona, gdy każde kolejne wymaganie bazuje na tej samej konstrukcji.

Dobrą praktyką dla organizacji jest stworzenie bazowych schematów dla pisania wymagań.

Na temat przykładowych wzorów opowiem więcej w następnym artykule.


Podsumowanie

Jak widzisz, istnieje wiele konkretnych wymagań, które tworzone przez Ciebie wymaganie musi spełnić. Warto mieć to z tyłu głowy, ponieważ od wymagań zależy sukces projektu.

Nie przyspieszaj procesu tworzenia wymagań. Poświęć mu tyle uwagi ile to potrzebne, aby ich forma i treść spełniała wszystkie powyższe kryteria.
DSC_4515_edited_edited_edited_edited_edited.jpg

Cześć,
mam na imię Krzysztof

Inżynier systemów w wiodącej Polskiej firmie z branży kosmicznej Creotech Instruments.

Wiceprezes polskiego oddziału Międzynarodowej Rady Inżynierów Systemów (INCOSE).

Archiwum postów

Tagi

Nie ma jeszcze tagów.
bottom of page