fbpx

Blog o IT oraz procesie wytwarzania oprogramowania

Na naszym blogu przeczytaj o najczęściej spotykanych problemach i wyzwaniach podczas wytwarzania decykowanego oprogramowania i nie tylko.

Specyfikacja Aplikacji, Projekt, Analiza – w kilku ważnych słowach

Tworzenie aplikacji to bardzo złożony proces. Niezwykle ważne w nim jest spełnienie wymagań klienta. W końcu to jemu ma służyć oprogramowanie. To on ma być zadowolony z efektu i działań, jakie za pomocą stworzonej aplikacji będzie mógł wykonać.  Proces tworzenia aplikacji to nie tylko napisanie kodu. Wszystko zaczyna się już znacznie wcześniej. Na początku musi powstać odpowiednia specyfikacja aplikacji. Bez niej stworzenie dobrego oprogramowania jest po prostu niemożliwe.

Każdy projekt IT to także liczna dokumentacja. Można ją podzielić zasadniczo na dwa typy:

Dokumentacja projektowa

Jest to całość treści, która opisuje planowaną aplikację. Może mówić między innymi o tym, jak ją stworzyć i jak działa. Wyjaśnia też do czego służy i jak jej używać. Taką dokumentację można podzielić na dokumentację projektową i dokumentację użytkownika. Ta pierwsza to wszystko to, co opisuje sam produkt. Czyli aplikację, jej wymagania, design, rozwiązania technologiczne itp. Dokumentacja użytkownika to wszystkie instrukcje, manuale, tutoriale, FAQ i inne treści tworzone dla użytkownika końcowego. Mają one ułatwić mu pracę i korzystanie z aplikacji.

Dokumentacja procesowa

Jest to natomiast wszystko to, co powstaje w czasie tworzenia aplikacji. Czyli wszystkie raporty, notatki, a nawet korespondencja pomiędzy członkami zespołu. 

Dokumentacja procesowa

Sama specyfikacja aplikacji to kompleksowy dokument, który pozwala poznać i spełnić wymagania klienta co do projektu. Samo jej stworzenie wymaga kilku etapów prac. Jednak, jeśli zostaną one wykonane prawidłowo, znacznie ułatwią pisanie aplikacji i zaoszczędzą dalszych nieporozumień w momencie odbioru projektu. 

To oczym warto pamiętać to również fakt, że nawet drastyczne zmiany wprowadze na “papierze” nie kosztują nic. Natomiast zmiany wprowadzene już w napisanej aplikacji mogą czasem doprowadzić do niezrealizowania projektu, poprzez znaczne przekroczenie budżetu.

Poznanie wymagań i ich analiza

Pierwszym etapem przy tworzeniu specyfikacji wymagań powinno być poznanie wymagań klienta odnośnie aplikacji. Zleceniodawca sam nie musi i w większości przypadków się nie zna na pisaniu aplikacji. Nie zawsze też łatwo umie określić czego oczekuje od aplikacji. Dlatego tak ważne jest przeprowadzenie swoistej analizy biznesowej. Pozwoli ona na poznanie celów jakie ma pomóc osiągać gotowy produkt. Podczas tworzenia takiej analizy warto odpowiedzieć na kilka pytań.

Jakie problemy ma rozwiązywać?

To kluczowe pytanie, które pozwala poznać główny cel, jaki stoi za pomysłem stworzenia aplikacji. Ważny jest też ogólny biznesowy klimat, w jakim będzie pracować aplikacja. Warto poznać i dowiedzieć się przynajmniej podstawowych rzeczy o firmie, dla której jest tworzona. W jakiej branży działa, czy konkurencja ma podobne aplikacje. Jeśli ma, to warto, o ile to możliwe, poznać ich minusy. Również wszelkie braki, aby nie popełnić tych samych błędów podczas pisania kodu.  

Kto będzie użytkownikiem końcowym aplikacji?

To, że aplikacja jest tworzona dla jakiejś konkretnej firmy, nie znaczy przecież, że to jej pracownicy będą jej używać. Dlatego koniecznie trzeba poznać grupę docelową, dla której jest tworzona aplikacja. Jest to niezwykle ważne, jeśli ma ona spełniać stawiane przed nią wymagania. Inaczej będzie musiała wyglądać aplikacja tworzona dla specjalistów w jakiejś dziedzinie, a inaczej dla zwykłych użytkowników. 

Projekt UX/UI

Projekt UX/UI w specyfikacji aplikacji

Kiedyś niedoceniany. Teraz niemal każdy wie, że bez dobrego projektu UI/UX stworzenie aplikacji, która będzie dobrze odebrana przez użytkowników, jest praktycznie nie możliwe.

Dokumentacja opisuje design projektu. Czyli, to jak będzie ona wyglądać, gdzie znajdą się określone jej elementy, jakie będą użyte kolory, czcionki i wiele więcej.

To właśnie na etapie tworzenia projektu UX/UI niezwykle ważne jest, aby poznać użytkowników końcowych, którzy będą korzystali z aplikacji. Pomocne w tym są takie aplikacje jak np. https://balsamiq.com/ , w których możemy stworzyć pełne klikalne makiety naszej przyszłej aplikacji. Inaczej będzie wyglądał interfejs tworzony dla wyspecjalizowanego pracownika z jakiejś konkretnej dziedziny. A inaczej, jeśli z aplikacji ma korzystać szerokie grono odbiorców.

Podczas tworzenia projektu UX/UI ważne jest, aby jego twórca umiał poniekąd wejść w rolę użytkownika końcowego. Obecnie ceni się, aby interfejs był możliwie prosty i intuicyjny. Użytkownicy chcą poświęcać jak najmniej czasu na wyszukiwanie odpowiednich elementów i informacji. Dlatego projekt UX/UI musi pogodzić funkcjonalność z łatwością użytkowania.

Dokumentacja techniczna 

Dokumentacja techniczna to nie to samo co specyfikacja aplikacji. Projekt ma pomóc poznać koszt, czas potrzebny na stworzenie oprogramowania, a także jego cele.

Natomiast dokumentacja techniczna ma pozwolić na zrozumienie, jak działa dana aplikacja. Jest to kompleksowy dokument opisujący wszystko od sposobu instalacji, poprzez konkretne funkcjonalności po informacje o rozwiązaniu problemów, jakie mogą wystąpić podczas korzystania z aplikacji.

Dokumentacja Techniczna

Dokumentacja techniczna to zewnętrzny dokument, który trafi do użytkowników aplikacji. Dlatego nie powinno w niej się używać żargonu lub zbyt potocznego języka. Podstawowymi informacjami, jakie powinny znaleźć się w dokumentacji technicznej, są:

  • metoda instalacji aplikacji,
  • sposób działania aplikacji i wszystkich jej funkcjonalności,
  • zastosowane algorytmy,
  • rozmieszczenie i sposoby działania poszczególnych komponentów.

Musi być napisana zrozumiale i wyjaśniać wszystkie działania krok po kroku, tak aby nie pozostawiała wątpliwości. W projekcie można pozwolić sobie na pewne skróty myślowe, o ile zrozumie je cały zespół.

W dokumentacji technicznej nie ma na nie miejsca, wszystko musi być objaśnione szczegółowo. Najlepsza dokumentacja techniczna to taka, która powstaje podczas pisania programu. Na bieżąco najłatwiej opisywać coś szczegółowo i rzetelnie.

Po kilku miesiącach od napisania kodu niektóre rzeczy mogą po prostu umykać. Ważne jest również aby nie przekroczyć granicy zdrowego rozsądku w kwesti ilości przygotowanych materiałów.

Czy specyfikacja aplikacji jest ważna?

Specyfikacja Projektu jest bardzo wazna

Oczywiście, że tak. Zarówno dokumentacja projektowa, jak i techniczna. Ta pierwsza znaczenie ułatwia napisanie aplikacji. Trudno też wyobrazić sobie stworzenie aplikacji w oparciu o model Fixed Price bez rzetelnego projektu.

Czasem inaczej to wygląda podczas pracy w modelu Time&Materials, gdzie tworzymy wymagania na najbliższe 2 tygodnie prac. Ale i w takim wypadku jakość określenia specyfikacji aplikacji lub zmian w niej jest bardzo ważna. Napisaliśmy ostatnio również ciekawy artykuł o różnych modelach współpracy, jakie możesz wybrać KLIK.

Jeśli klient ma być zadowolony, specyfikacja aplikacji musi być jak najbardziej szczegółowo opisana. Tak, żeby już na samym początku współpracy nie było żadnych wątpliwości, jak ma wyglądać.

Rzetelny i napisany we współpracy z klientem projekt aplikacji gwarantuje zadowolenie obu stron. Także w przypadku pracy z metodą fixed price.

Jeśli chcesz poznać nasze pomysły i sprawdzić, jak tworzy się projekt we współpracy z nami, pisz śmiało pawel.sydorow@dev4you.pl 🙂