Dokument techniczny zawierający szczegółowy opis funkcjonalności systemu informatycznego z perspektywy użytkownika końcowego. Określa, co system powinien robić, jakie zadania realizować oraz w jaki sposób użytkownicy będą z nim współpracować, bez wchodzenia w szczegóły techniczne implementacji.
Specyfikacja funkcjonalna stanowi pomost między wymaganiami biznesowymi a dokumentacją techniczną. Zawiera opisy przypadków użycia, scenariusze interakcji, makiety interfejsów oraz reguły biznesowe. Jest kluczowym dokumentem w procesie wytwarzania oprogramowania, służącym jako kontrakt między zamawiającym a zespołem deweloperskim.
Typowe elementy specyfikacji funkcjonalnej obejmują:
- Cele biznesowe i kontekst projektu
- Role użytkowników i ich uprawnienia
- Szczegółowe opisy funkcjonalności
- Przepływy procesów i diagramy
- Wymagania dotyczące interfejsu użytkownika
- Kryteria akceptacji dla poszczególnych funkcji
Dokument ten jest tworzony przez analityka biznesowego we współpracy z interesariuszami projektu. W metodykach zwinnych, takich jak Scrum, tradycyjna obszerna specyfikacja często zastępowana jest przez User Story i dokumentację tworzoną iteracyjnie.
