Wymagania jakościowe (niefunkcjonalne, pozafunkcjonalne, NFR) – czym są, jak je znaleźć, z kim uzgodnić? Zobacz analizę w 3 minuty.
Wymagania na rozwiązanie
Wymagania na rozwiązanie, czyli warunki, jakie to rozwiązanie ma spełniać dzielimy na:
- funkcjonalne – Co to rozwiązanie ma robić? Jakie ma mieć funkcje?
- niefunkcjonalne (pozafunkcjonalne, jakościowe, NFR – non-functional requirements) – Jakie to rozwiązanie ma być? Jak ma działać? Te wymagania znajdujemy czasem w kryteriach akceptacji, a czasem wcale.
Czemu takie ważne?
Pamiętamy, że rozwiązanie ma spełniać jakieś wymagania funkcjonalne (coś ma robić), ale często zapominamy, że to nie wszystko. Mimo tego, że zrobiliśmy system dokładnie taki, jakiego chciał klient, to on nie chcę go odebrać. Dlaczego?
System robi wszystko, co miał robić, ale nie o 2 w nocy (dostępność), a klient tego potrzebuje. Albo działa, ale nie na przeglądarce klienta (przenośność), nie dla 5+ jednoczesnych użytkowników (wydajność), niezgodnie z prawem (zgodność).
Jak znaleźć wymagania jakościowe?
Z pomocą przychodzą listy kontrolne (checklisty). Wymieniają one kategorie wymagań jakościowych do sprawdzenia. Powstało ich wiele. Np. FURPS, FURPS+, ISO 9126-1, lista Boehma, Gilba, Millera, Sommesville’a, itp. Przechodząc po liście odpowiadamy na pytanie – czy ta kategoria jest istotna dla mojego systemu? Nie jest to zadanie samotne, ani na jedno posiedzenie. Będziesz potrzebować informacji prawnych, biznesowych, dziedzinowych i technicznych. Porozmawiaj z biznesem, ekspertami dziedzinowymi, prawnikami, architektami, developerami, testerami, operations, itd. Dobrze zebrać choć najważniejsze wymagania. Kolejne jednak możesz odkrywać z czasem. Zadbaj o to, by ludzie w projekcie i firmie wiedzieli czym są te wymagania i dawali znać za każdym razem, kiedy napotkają na coś takiego.
Na różnych poziomach
Wymagania jakościowe mogą dotyczyć całego systemu (np. na jakim systemie operacyjnym, na jakiej przeglądarce ma być dostępny), kilku komponentów (np. przechodzący przez klika modułów proces liczenia czegoś) albo jednego komponentu, zespołu, funckji.
Zapisz w formie testowalnej
Kiedy zapiszesz wymaganie, sprawdź, czy wiadomo jak je sprawdzić? „Ma działać na różnych przeglądarkach” może zaraz stworzyć pytania: ale na ilu? Na 2? Jakich? Firefox i Chrome czy Safari też? Na jakich wersjach? Aktualnej? Czy poprzedniej też? Czy może 3 poprzednich?
Najlepiej pokaż wymaganie testerom, developerom, architektom i poproś o weryfikację.
Skąd się biorą wymagania jakościowe?
Mogą powstać z różnych powodów, w różnych miejscach:
- strategia firmy
- prawo
- potrzeby biznesowe
- dziedzina, branża
- architektura
- technologia
- …
Trzeba szeroko patrzeć na temat, szerzyć świadomość ludzi i prosić o informacje.
Jak testować wymagania jakościowe?
Wymagania jakościowe testuje się na różne sposoby (w zależności od tego, czego dotyczą). Mogą to być testy użyteczności, obciążeniowe, wydajnościowe, bezpieczeństwa, akceptacyjne. itp.
Masz wrażenie, że to mnóstwo roboty? Ja też 😉 Dlatego warto o nich pamiętać, zanim zakoczy nas wkurzony klient.