Definicja
Wymaganie funkcjonalne (ang. Functional Requirement) opisuje konkretne zachowanie systemu — co system ma ROBIĆ w odpowiedzi na dane wejściowe lub w określonych warunkach.
Format zapisu
Dobre wymaganie funkcjonalne zawiera: Aktor + Akcja + Wynik
| Element | Przykład |
|---|---|
| Aktor | Zalogowany użytkownik |
| Akcja | klika przycisk "Eksportuj" |
| Wynik | system generuje raport PDF i pobiera go na urządzenie |
Przykłady
- "Po kliknięciu Wyślij system wysyła e-mail z potwierdzeniem zamówienia"
- "Użytkownik może filtrować listę zamówień po dacie, statusie i kwocie"
- "System automatycznie blokuje konto po 5 nieudanych próbach logowania"
- "Administrator może eksportować listę użytkowników do CSV"
Cechy dobrego wymagania (SMART)
| Cecha | Opis | Zły przykład | Dobry przykład |
|---|---|---|---|
| Specific | Jednoznaczne | "System jest szybki" | "Strona ładuje się w < 2s" |
| Measurable | Mierzalne | "Dużo użytkowników" | "1000 jednoczesnych sesji" |
| Achievable | Realistyczne | "Tłumaczenie na 200 języków" | "PL, EN, DE do MVP" |
| Relevant | Istotne | "Animacja logo" | "Wyszukiwarka produktów" |
| Testable | Testowalne | "Dobrze działa" | "Zwraca HTTP 200 w < 500ms" |
Dlaczego to ważne?
Wymagania funkcjonalne to kontrakt między BA a zespołem deweloperskim. Źle napisane wymagania prowadzą do: - wielokrotnych poprawek w sprincie, - "to nie to, co miałem na myśli" przy demo, - ukrytych założeń, które wychodzą na produkcji.