Bardzo często pojawiają się w ofertach i na szkoleniach dotyczących wymagań dwa akronimy: [[FURPS]] i [[SMART]]. Cóż to jest? To zalecenia dotyczące oceny specyfikacji wymagań na oprogramowanie. Jednak czym innym jest ocenić czy zalecenia te spełnia dokument wymagań (jego treść) a czym innym jest to jak je spełnić.
Cóż to jest FURPS? Angielski akronim rozszyfrowujemy następująco:
- Functionality- funkcjonalność w rozumieniu zestawu funkcji uwzględniająca również bezpieczeństwo (ang. security)
- Usability – użyteczność jako zestaw wizualnych aspektów oprogramowania
- Reliability – niezawodność, będąca mierzona np. częstością występowania błędów
- Performance – wydajność aplikacji określana również jako czas odpowiedzi lub użycie zasobów
- Supportability – podatność na serwisowanie („serwisowalność”), dająca się łatwo testować, naprawiać i rozwijać.
SMART to akronim od słów: Sprecyzowane, Mierzalne, Akceptowane, Realistyczne, Terminowe.
Jak widać maję one pewną wspólną cechę: to są oczekiwania w stosunku do specyfikacji wymagań. Dlaczego piszę o tym? Po pierwsze w FURPS są przemieszane wymagania funkcjonalne i poza-funkcjonalne: funkcjonalność vs. wydajność, niezawodność i podatność na serwisowanie. Do tego są one dość subiektywne bo np. jak sprawdzić czy wymagania są użyteczne?
W kwestii SMART jest jeszcze gorzej: wszystkie pięć pojęć to subiektywne życzenia bez możliwości weryfikacji ich spełnienia.
Widły Hume’a
W filozofii funckjonuje pojęcie „[[widły Hume’a]]”, w dużym uproszczeniu Hume ([[David Hume]]) twierdzi, że wiele treści, ksiąg i wypowiedzi to treści ułomne, niezrozumiałe, bezzasadne lub banalne. Czym są owe Widły Hume’a? Każdą wypowiedź należy sprawdzić dwoma pytaniami:
- Co to znaczy?
- Skąd to wiesz?
Tak wiec jak ktoś powie, że jego wymagania są SMART to zadaj np. pytanie: Co to znaczy Sprecyzowane? Skąd wiemy, że one są sprecyzowane? I tak po każdym z tych magicznych słów.
Zresztą każdy ważny dokument, tu dokument wymagań, warto tak przetestować, szczególnie jeśli opisuje coś wartego potencjalnie dziesiątki tysięcy złotych. Jak na te, widły, zareagują dokumenty opracowane metodami formalnymi? W prosty sposób:
Co to znaczy, że wymagania są zweryfikowane? To znaczy, że z powodzeniem przeprowadzono test polegający na wykonaniu wszystkich czynności modelu procesu biznesowego. Skąd to wiemy? Bo na wejściu modelu procesu „podano” prawdziwe dokumenty, udało się na modelu wskazać wszystkie czynności wymagane do obsłużenia tego dokumentu i nie było innych zbędnych, otrzymaliśmy taki sam rezultat (wynikowy dokument i jego stan) jak w naturze oraz na liście przypadków użycia są wszystkie te i tylko te, które były potrzebne by ten proces bez błędu przeszedł do końca. Jak to się robi? Przeczytaj o tym tu.
Jeżeli dokument wymagań nie spełnia tych kryteriów, nie mieści się w tych widłach, to jak sam Hume twierdzi, jest on bezwartościowy, nie niesie żadnej wiedzy gdyż poszczególne wymagania są: albo niezrozumiałe, albo zrozumiałe lecz nie uzasadnione, albo zrozumiałe i zasadne lecz banalne (np. mają być Sprecyzowane). Tak więc wiemy co to znaczy FURPS i SMART (powyższe skróty). Odbierając dokumenty analiz zadawajcie pytanie: a skąd wiemy, że te wymagania (które ktoś spisał) są FURPS i SMART i co to oznacza?
Polecam: Grzegorz Trela, metafory filozoficzne