Jak napisać specyfikację wymagań aplikacji?

Tekst wygenerowany przez AI · Wydawca: Tomasz Niedźwiecki · zawiera oznaczoną reklamę jego usług

stan: październik 2026 odpowiada: Tomek Niedźwiecki
Krótka odpowiedź

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.

Opublikowana edycja normy wymagań ISO/IEC/IEEE 29148 2018rok Genorma, stan: odczyt 11.10.2026
Charakterystyki jakości produktu w ISO 25010 9charakterystyk EVS, stan: odczyt 11.10.2026

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.

  1. Cel: jedno zdanie o problemie, który aplikacja rozwiązuje, i kto za to płaci lub zyskuje.
  2. Role: kto z aplikacji korzysta i co może robić.
  3. Wymagania funkcjonalne: lista tego, co aplikacja robi, po jednym zdaniu.
  4. Wymagania niefunkcjonalne: jak dobrze to robi, czyli wydajność, bezpieczeństwo, dostępność.
  5. Poza zakresem: co świadomie odkładasz na kolejną wersję.
  6. 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.

RodzajZapis wymaganiaJak sprawdzisz
FunkcjonalnePracownik biura dodaje zlecenie z danymi klienta, adresem i opisem usterkiZlecenie widać na liście
FunkcjonalnePracownik biura przypisuje zlecenie technikowi i wybiera terminTechnik widzi zlecenie w swoim kalendarzu
FunkcjonalneKlient dostaje wiadomość e-mail z terminem wizytyWiadomość dociera po zapisaniu terminu
NiefunkcjonalneTechnik otwiera listę zleceń na telefonie w przeglądarceTest na telefonie technika
NiefunkcjonalneDane klientów są dostępne tylko dla zalogowanych pracownikówPró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

  1. 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)
  2. ISO/IEC 25010:2023 — model jakości produktu (EVS) — https://evs.ee/en/iso-iec-25010-2023 (odczyt 11.10.2026)
  3. What is ISO 25010 (Perforce, opis edycji 2011) — https://www.perforce.com/blog/qac/what-is-iso-25010 (odczyt 11.10.2026)
  4. Leveraging LLMs for the Quality Assurance of Software Requirements (arXiv) — https://arxiv.org/pdf/2408.10886 (odczyt 11.10.2026)
Kto to napisał

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.