.

Specyfikacja projektu. Czym jest i co powinna zawierać?

Masz pomysł na aplikację lub serwis internetowy? Chcesz go zrealizować, ale zastanawiasz się, jak zacząć tworzyć go z zespołem projektantów i deweloperów? Istotną rolę w tym procesie odgrywa specyfikacja, czyli w skrócie zakres projektu. W tym wpisie pomożemy Ci zrozumieć, jakie znaczenie dla zespołu ma zbudowanie specyfikacji i jak dobrze przemyślany dokument tego typu ułatwia rozpoczęcie prac nad projektem.

Co to jest specyfikacja projektu?

Jak wygląda tworzenie projektu od zera? Na początku zwykle jest idea. Jednak jest ona tylko ogólnym zarysem zakresu prac nad projektem. Aby przekazać projekt do realizacji designerom i deweloperom, niezbędne jest określenie tego, co ma być zrobione. Dokument z taką zawartością nazywamy specyfikacją projektu.

Specyfikacja to najczęściej tekstowy plik, w którym są wymienione wszystkie oczekiwane elementy projektu: podstrony lub widoki, funkcjonalności, wymagania formalne oraz czas realizacji. W dobrej specyfikacji powinniśmy skrupulatnie wypisać wszystko, czego oczekuje klient zlecając wykonanie projektu.

Specyfikacja designu produktu

Specyfikację projektu możemy podzielić na części. Pierwszą z nich jest specyfikacja designu (UI) i user experience (UX). Jest to część całej specyfikacji odnosząca się przykładowo do:

  • wyglądu projektowanego produktu,
  • ilości i typu podstron (widoków),
  • informacji na temat użytkowników lub person,
  • dokładności makiet (wireframes) i prototypów,
  • architektury informacji,
  • oczekiwań wizualnych,
  • preferencji kolorystycznych,
  • preferencji dotyczących zdjęć, ikon oraz ilustracji,
  • oczekiwań wynikających z identyfikacji wizualnej klienta,
  • poszczególnych wersji responsywnych.

Mogą się tutaj znaleźć również inne zagadnienia związane z wyglądem strony internetowej.

Specyfikacja techniczna

Drugą częścią specyfikacji projektu jest ta dotycząca kwestii związanych z technicznym aspektem projektu. Uwzględnia zatem zagadnienia z zakresu prac programistycznych, wdrożeniowych i supportowych. Upraszczając, można określić, że są to rzeczy, jakich klient oczekuje od programistów i osób związanych z wdrażaniem zaprojektowanego projektu. W tego typu specyfikacji mogą się znaleźć informacje, takie jak:

  • oczekiwane funkcje systemu (np. CMS),
  • parametry SEO,
  • czas ładowania strony,
  • harmonogram budowy i wdrażania projektu,
  • potrzeby wersji responsywnych,
  • kwestie związane ze stałym utrzymywaniem technicznym serwisu w odpowiednim standardzie.

Specyfikacja a wymagania

Jaka jest różnica? Wymaganie jest czymś, co jest potrzebne do zrobienia, a specyfikacja jest dokładnym opisem jak to spełnić czyli, inaczej ujmując, jest rozbudowaną informacją na temat wymagań. Specyfikacja zawiera w sobie wiele czynników, które musi realizować wymaganie, aby zostało spełnione.

Przykład

Wymaganie: Strona powinna zawierać formularz zapisu do newslettera.

Specyfikacja designu:

  • Formularz powinien być widoczny w okolicach menu.
  • Powinien zawierać pola imię i e-mail oraz pola wyboru potwierdzające zgody marketingowe.
  • Po zarejestrowaniu e-maila powinien pojawić się potwierdzający komunikat w formie okna popup.
  • Formularz powinien opierać się o kolorystykę z brandbooka marki.

Specyfikacja techniczna:

  • Formularz powinien być zsynchronizowany z systemem do obsługi newsletterów (np. Mailchimp).
  • Ilość subskrybentów powinna być widoczna w panelu CMS-a.
  • E-maile związane z newsletterem nie powinny wpadać do spamu.

Co nam daje posiadanie specyfikacji?

Posiadając specyfikację, zespół tworzący oprogramowanie jest w stanie zrozumieć ideę klienta i poznać zakres oczekiwanych prac. Dokument ze specyfikacją projektu ułatwia wykonanie dokładnej wyceny i oszacowania czasu potrzebnego do realizacji projektu. Dysponując gotową specyfikacją, zespół może “z marszu” przystąpić do merytorycznej rozmowy nad pracami, a często nawet do wstępnych prac.

Specyfikacja na etapie wyceny projektu pozwala klientowi poznać koszty poszczególnych elementów projektu, bo wykonawca jest w stanie podzielić swoją wycenę na poszczególne elementy z zakresu prac. Takie podejście ułatwia planowanie budżetu oraz planowanie projektu w czasie.

Specyfikacja projektu umożliwia planowanie i rozdzielanie zadań w zespole. Ważną rolą specyfikacji jest również to, że staje się ona elementem umowy między klientem a firmą. Im dokładniejsza i precyzyjniejsza specyfikacja, tym mniejsze jest ryzyko niedopowiedzeń lub złej interpretacji oczekiwań klienta odnośnie zakresu prac do wykonania.

Co zrobić, gdy klient nie ma gotowej specyfikacji projektu?

Wykonanie specyfikacji powinno być zadaniem po stronie klientów, ponieważ najlepiej rozumieją swoje potrzeby i wiedzą, czego oczekują. Jednak nie zawsze przychodzą z gotową specyfikacją projektu. W wielu przypadkach klienci mają jedynie ideę lub ogólny zarys. Nie wszyscy klienci mieli w przeszłości doświadczenia z firmami informatycznymi, więc nie wiedzą, że warto przygotować taką specyfikację. Często klienci nie zdają sobie także sprawy z tego że coś, co jest dla nich oczywiste, dla deweloperów i designerów już może takie nie być.

To nie jest problem! Razem z zespołem, zajmującym się tworzeniem dedykowanego oprogramowania, pomagamy klientom zbudować specyfikację tak, żeby projekt był możliwy do realizacji. W zależności od wielkości projektu spotykamy się z klientem na kilku spotkaniach lub na dłuższych (kilkudniowych) warsztatach i rozmawiamy o tym, co powinno znaleźć się w specyfikacji. Nasze doświadczenie i wiedza pozwalają klientom wypracować kompleksowy dokument ze specyfikacją projektu.

Specyfikacja a idea MVP

Zbudowanie specyfikacji pozwala wybrać z niej najistotniejsze elementy, które mogą być zawarte w MVP (Minimum Viable Product), czyli wersji produktu, zawierającej jedynie kluczowe funkcjonalności. Nie zawsze uruchomienie projektu jest uzależnione od zrealizowania całego zakresu specyfikacji. Wersja MVP z założenia jest okrojoną zawartością pełnego projektu, która przynosi klientom wartość już po uruchomieniu. Często wnioski z działającej wersji MVP wpływają na korekty lub zmiany w specyfikacji, pozwalając dostosować jej zakres do zaktualizowanych oczekiwań i potrzeb.

Specyfikacja może ewaluować

Zatwierdzona specyfikacja nie jest “wyrokiem”. Nie ma nic złego w zmianie specyfikacji w trakcie trwania projektu. Realizacja projektów często trwa wiele miesięcy, więc przez ten czas oczekiwania klienta mogą się zmienić.

Zmienna specyfikacja dobrze sprawdza się w pracy na projektach w systemie Scrum, gdzie prace planowane są w oparciu o sprinty (tygodniowe lub dwutygodniowe). Scrum w połączeniu z Time & Material (metoda, w której klient płaci za faktycznie wykonane prace) przynosi najlepsze rezultaty. W takim podejściu wstępna specyfikacja jest dobrym punktem wyjścia i drogowskazem dla dalszych prac, ale klient i zespół nie są do niej przywiązani i zakładają jej zmienność

Specyfikacja projektu - podsumowanie

Przygotowana specyfikacja niesie ze sobą wiele zalet. Ułatwia wycenę pracy i oszacowanie czasu, dzięki czemu klient może szybko poznać koszt projektu i zacząć merytoryczną dyskusję z wykonawcami. Dokładnie przygotowana specyfikacja projektu jest dobrym startem do poznania ofert wielu specjalistów, bo większość z nich o będzie pytać o ten dokument. Tworzenie specyfikacji pozwala klientowi na zastanowienie się nad swoim projektem oraz stworzenie jego konkretnej wizji.

2. SEO dla strony internetowej na Drupalu