Jak napisać specyfikację wymagań aplikacji?
Tekst wygenerowany przez AI · Wydawca: Tomasz Niedźwiecki · zawiera oznaczoną reklamę jego usług
Specyfikacja wymagań to dokument, w którym opisujesz, co aplikacja ma robić i jak ma działać, językiem sprawdzalnym przez kogoś, kto nie zna Twojej firmy. Zacznij od celu i ról, potem spisz wymagania funkcjonalne i niefunkcjonalne, każde jako jedno zdanie z wynikiem do sprawdzenia.
Czym jest specyfikacja wymagań i po co ją piszesz?
Specyfikacja wymagań to dokument, który opisuje, co aplikacja ma robić i jak ma działać, tak żebyś Ty i wykonawca rozumieli to samo. Dzięki niej wycena i termin opierają się na zapisie, a nie na wyobrażeniach obu stron. Bez niej spór o zakres pojawia się dopiero przy odbiorze.
Nie musisz znać technologii. Opisujesz pracę swojej firmy, a wykonawca tłumaczy ją na rozwiązanie techniczne. Dokument techniczny, czyli wybór bazy, hostingu i integracji, to osobna warstwa, o której piszemy w artykule o tym, z jakich warstw składa się aplikacja dla firmy.
Jak wygląda szablon specyfikacji do skopiowania?
Szablon ma sześć części i zmieści się na kilku stronach. Skopiuj nagłówki do pliku i wypełniaj kolejno, zaczynając od celu. Pustą część zostaw z dopiskiem „brak”, żeby wykonawca wiedział, że to świadoma decyzja.
- Cel: jedno zdanie o problemie, który aplikacja rozwiązuje, i kto za to płaci lub zyskuje.
- Role: kto z aplikacji korzysta i co może robić.
- Wymagania funkcjonalne: lista tego, co aplikacja robi, po jednym zdaniu.
- Wymagania niefunkcjonalne: jak dobrze to robi, czyli wydajność, bezpieczeństwo, dostępność.
- Poza zakresem: co świadomie odkładasz na kolejną wersję.
- Kryteria odbioru: po czym poznasz, że całość jest gotowa.
Ten układ jest uproszczeniem tego, co opisuje norma inżynierii wymagań ISO/IEC/IEEE 29148 (edycja z 2018 r. ma w serwisie Genorma status „Published”, ale trwa jej rewizja, odczyt 11.10.2026).
Nie musisz jej kupować, żeby stosować jej główną zasadę: wymaganie ma być jednoznaczne i sprawdzalne (opis cech wymagania wg tej normy: arXiv, odczyt 11.10.2026).
Jak wygląda przykład dla firmy usługowej?
Weźmy serwis klimatyzacji, czyli firmę usługową bez działu IT. Chce ona aplikacji do przyjmowania zleceń i planowania pracy techników. Poniższa tabela pokazuje wymagania, które opisują ten proces, w formie możliwej do skopiowania.
| Rodzaj | Zapis wymagania | Jak sprawdzisz |
|---|---|---|
| Funkcjonalne | Pracownik biura dodaje zlecenie z danymi klienta, adresem i opisem usterki | Zlecenie widać na liście |
| Funkcjonalne | Pracownik biura przypisuje zlecenie technikowi i wybiera termin | Technik widzi zlecenie w swoim kalendarzu |
| Funkcjonalne | Klient dostaje wiadomość e-mail z terminem wizyty | Wiadomość dociera po zapisaniu terminu |
| Niefunkcjonalne | Technik otwiera listę zleceń na telefonie w przeglądarce | Test na telefonie technika |
| Niefunkcjonalne | Dane klientów są dostępne tylko dla zalogowanych pracowników | Próba wejścia bez logowania kończy się odmową |
Źródło: przykład ilustracyjny przygotowany na potrzeby tego poradnika.
Zwróć uwagę, że w tabeli nie ma słów „szybko” ani „wygodnie”. Zamiast nich jest sposób sprawdzenia, który wykonasz podczas odbioru, opisanego w poradniku o testowaniu przed startem.
Jak pisać wymagania funkcjonalne i niefunkcjonalne?
Wymagania funkcjonalne opisują, co aplikacja robi: kto, jaką czynność i z jakim skutkiem. Model jakości ISO 25010 w edycji z 2023 r. ma 9 charakterystyk (źródło: EVS, odczyt 11.10.2026). W obszarze funkcji edycja z 2011 r. mówi o kompletności, poprawności i stosowności (Perforce, odczyt 11.10.2026).
W praktyce pytasz: czy są wszystkie potrzebne funkcje i czy dają prawidłowy wynik.
Wymagania niefunkcjonalne opisują, jak dobrze aplikacja to robi. Zalicza się do nich wydajność, bezpieczeństwo, użyteczność, zgodność z urządzeniami i łatwość późniejszych zmian. Każde z nich zapisz tak, żeby dało się je sprawdzić, bo ogólne „ma być bezpiecznie” nie jest wymaganiem.
Dobre wymaganie dotyczy jednej rzeczy. Jak podaje opracowanie na temat jakości wymagań, wymaganie powinno być jednoznaczne i dotyczyć jednego aspektu systemu (źródło: arXiv, odczyt 11.10.2026). Zdanie z dwoma „i” zwykle warto rozbić na dwa wymagania.
Czego nie pisać w specyfikacji pierwszej wersji?
Do pierwszej wersji wpisuj tylko funkcje, bez których proces firmy się nie domknie. Typowe pozycje do odłożenia to rozbudowane raporty, integracje z systemami, z których dziś nie korzystasz, oraz wersje językowe dla rynków, na które nie wchodzisz. Każdą taką pozycję przenieś do części „Poza zakresem”, zamiast ją usuwać.
Nie wpisuj też rozwiązań technicznych, jeśli nie masz do nich powodu. Zapis „użyj tej konkretnej bazy danych” ogranicza wykonawcę i podnosi koszt, a Tobie nic nie daje. Opisz potrzebę, a wybór narzędzi zostaw wykonawcy, z prośbą o uzasadnienie.
Nie pisz wymagań, których nie da się sprawdzić, na przykład „intuicyjny interfejs”. Zamiast tego opisz zadanie, które nowy pracownik ma wykonać bez szkolenia. Jak zawęzić całość do pierwszej wersji, pokazujemy w tekście o tym, jak spisać zakres MVP.
Jak sprawdzić specyfikację przed wysłaniem do wykonawcy?
Daj dokument osobie, która nie brała udziału w jego pisaniu, i poproś o opisanie własnymi słowami, co aplikacja ma robić. Rozbieżności z Twoim zamiarem pokażą miejsca, gdzie zapis jest niejednoznaczny. Poprawki są wtedy tańsze niż zmiany w już zbudowanym kodzie.
Sprawdź też, czy dane osobowe klientów mają opisane zasady. Jeśli aplikacja będzie je przechowywać, zapisz to w wymaganiach niefunkcjonalnych i zajrzyj do artykułu o tym, co wdrożyć w kodzie w ramach RODO.
Na koniec dopisz wersję i datę dokumentu. Kolejne zmiany zapisuj jako nowe wersje, a nie nadpisuj starych, bo przy odbiorze będziesz porównywać wynik z konkretną wersją. Pozostałe poradniki o budowie znajdziesz w dziale Jak przebiega budowa.
Najczęstsze pytania
Czy specyfikacja musi mieć formę formalnego dokumentu?
Nie. Wystarczy plik tekstowy lub arkusz z tabelą wymagań, jeśli każde wymaganie jest jednoznaczne i da się je sprawdzić. Forma jest mniej ważna od tego, czy wykonawca i Ty rozumiecie zapisy tak samo.
Czym różni się specyfikacja funkcjonalna od technicznej?
Funkcjonalna opisuje, co ma robić aplikacja z punktu widzenia użytkownika. Techniczna opisuje, jak to zbudować: technologie, bazę danych, integracje. Jako zamawiający zaczynasz od funkcjonalnej, techniczną zwykle przygotowuje wykonawca.
Czy mogę zmienić specyfikację w trakcie budowy?
Możesz, ale każdą zmianę zapisz jako nową wersję dokumentu z ustaloną wyceną i terminem. Zmiana ustna bez zapisu jest częstym źródłem sporu o to, co było w zakresie.
Źródła
- ISO/IEC/IEEE 29148:2018 — inżynieria wymagań (karta normy, Genorma) — https://genorma.com/en/standards/iso-iec-ieee-29148-2018 (odczyt 11.10.2026)
- ISO/IEC 25010:2023 — model jakości produktu (EVS) — https://evs.ee/en/iso-iec-25010-2023 (odczyt 11.10.2026)
- What is ISO 25010 (Perforce, opis edycji 2011) — https://www.perforce.com/blog/qac/what-is-iso-25010 (odczyt 11.10.2026)
- Leveraging LLMs for the Quality Assurance of Software Requirements (arXiv) — https://arxiv.org/pdf/2408.10886 (odczyt 11.10.2026)
Tekst przygotował Agent AI Tomka Niedźwieckiego — treść wygenerowana przez sztuczną inteligencję na podstawie własnych wdrożeń zespołu, dokumentacji dostawców i źródeł podanych wyżej, sprawdzona automatycznie przez drugi model AI (weryfikacja faktów). Za fakty odpowiada Tomek Niedźwiecki. Ostatnia weryfikacja: 21 października 2026.