„To aplikacja nie będzie działała na smartfonach?”, „Przecież to oczywiste, że powinna być możliwość rozbudowania systemu o pluginy!” – jak często zdarza Wam się usłyszeć tego typu słowa na prezentacji projektu przed klientem?
Ukryte wymagania, które wychodzą dopiero podczas realizacji projektu. Jak im zapobiec? Oczywiście, nie da się wcześniej zebrać i przeanalizować wszystkich wymagań. Takie przypadki zawsze będę się zdarzały. Można jednak sobie pomóc. Jednym z pomocnych narzędzi jest model FURPS – checklista obszarów, o których warto pomyśleć przed każdym projektem IT.
FURPS
FURPS to akronim reprezentujący model klasyfikowania funkcjonalnych i niefunkcjonalnych wymagań. Został on wymyślony przez Roberta Gready’ego z firmy Hewlett Packard. Robert stanął przed standardowym problemem – często uciekały mu pewne wymagania. Zauważył jednak, że wszystkie można sklasyfikować w pewną skończoną listę kategorii. Stworzył taką listę i każdy następny projekt starał się przeanalizować pod względem każdego z tych obszarów. Dzięki checkliście o żadnym nie zapomniał – zadziałało!
FURPS to skrót od:
- Functionality (Funkcjonalność)
- Usability (Używalność)
- Reliability (Niezawodność)
- Performance (Wydajność)
- Supportability (Wsparcie)
Każdy z elementów oznacza pewien obszar wymagań, które mogą pojawić się w projekcie. Każdy z nich składa się też z bardziej szczegółowych obszarów. Takie drzewko kategorii wymagań można potraktować jako świetną checklistę, która pozwala zastanowić się nad wszystkimi najważniejszymi elementami projektu.
Poniżej cała klasyfikacja FURPS z autorskim tłumaczeniem oraz moimi małymi zmianami. Z góry przepraszam za niektóre neologizmy, ale ciężko mi było znaleźć polskie odpowiedniki 😉
Funkcjonalność (Functionality)
- Czego system potrzebuje? – wszystkie wymagania funkcjonalne klienta
- Administracja – panel do zarządzania
- Audyt – zapis i odczytywanie zapisów czynności wykonanych w systemie (logi)
- Połączenia – połączenia i synchronizacja, protokoły
- Reużywalność – zależność od języka programowania, frameworka, środowiska itp.
- Rozszerzalność – o dodatkowe pluginy
- Licencjonowanie – sposób licencjonowania systemu
Używalność (Usability)
- Ergonomia – łatwość używania
- Look and Feel – estetyczne właściwości systemu
- Spójność – jakie elementy systemu powinny działać tak samo?
- Dostępność – dostępność dla użytkowników mających specjalne wymagania np. niepełnosprawnych, niewidomych
- Lokalizacja – wersje językowe systemu
- Pomoc – pomoc dla użytkowników
Niezawodność (Reliability)
- Dokładność – poprawność wyników (jaki stopień)
- Dostępność – czas pomiędzy awariami
- Odzyskiwalność – jak długo ma zająć czas do ponownego postawienia systemu po błędzie
- Sprawdzalność – raportowanie o poprawności działania systemu
- Mechanizmy naprawcze – Z jakimi błędami system powinien sobie sam poradzić
Wydajność (Performance)
- Przepustowość – jak duże obciążenia system jest w stanie przetrwać
- Responsywność – czas systemu na odpowiedź
- Skalowalność – jak można skalować system
- Prędkość – prędkość działania
Wsparcie (Supportability)
- Adaptowalność – w jaki sposób system może być zaadoptowany do innych warunków
- Audytowalność – dostęp do zapisu operacji
- Kompatybilność – zgodność z poprzednimi wersjami systemu
- Konfigurowalność – łatwość i sposób konfiguracji
- Instalowalność – łatwość i sposób instalacji
- Szybkość napraw – szybkość naprawy systemu
- Testowalność – poziomy testowania systemu (funkcjonalne, unit, integracyjne itp.)
Czy czegoś Wam na tej liście brakuje? Zostawcie w komentarzu, uzupełnimy.
0 komentarze “Metoda FURPS, czyli 29 rzeczy do przemyślenia w każdym projekcie IT”
Brakuje bezpieczeństwa, np. kontrola dostępu (funkcjonalność?), przywileje….
Dzięki!
Z mojej perspektywy – brakuje:
1. Roll-out – sposób upowszechnienia rozwiązania
2. Migration – jeśli rozwiązanie ma zastąpić już istniejące, to w jaki sposób ma wygądać przejście ze starej wersji.
W praktyce powyższe dwa punkty, w zależności od wymagań odbiorców, mogą mieć bardzo duży wpływ na zakres/zasoby/koszt/jakość projektu.
Użyteczność to zdecydowanie lepsze słowo, aniżeli „uzywalność” :).
A jak to się przekłada na praktykę. Czyli, czy analityk IT dosłownie idąc na spotkanie z klientem rozpisuje sobie taką listę w FURPS?