Rozpoczynając pracę nad aplikacją mobilną lub aplikacją webową, chcemy aby ostatecznie cechowała ją wysoka użyteczność, skuteczność biznesowa oraz pozytywny odbiór przez użytkowników. Niestety, często w trakcie zachwytu nad nowym pomysłem i chęcią wdrożenia go w życie, zapominamy o najistotniejszym elemencie, a więc planowaniu. W teorii, lecz także praktyce zarządzania, planowanie powinno odpowiadać za 70% czasu poświęconego na projekt. W myśl zasady Pareto, 20% czynności odpowiada za 80% sukcesu, warto więc w tych 20% znaleźć pokaźne miejsce na fazę planowania. Zanim jednak zespół projektowy przystąpi do planowania projektu, powinien poznać zamysł stojący za pomysłem, który wiedzie ku tworzonej aplikacji mobilnej lub webowej.
Etap I – poznaj i zrozum pomysł, który stoi za aplikacją
Członkowie zespołu przydzieleni do projektu powinni dokładnie zapoznać się z pomysłem, który stoi za nowo tworzoną aplikacja mobilną lub aplikacją webową. Zarówno projektanci, programiści, jak również managerowie powinni dokładnie zapoznać się z intencjami właściciela projektu, będącego jednocześnie ich klientem i pomysłodawcą lub inwestorem aplikacji. Dogłębne poznanie motywów, podstawowych funkcjonalności i oferowanej propozycji wartości wprowadzanego na rynek nowego rozwiązania to „must have” przed rozpoczęciem prac związanych z faktycznym planowaniem tworzenia aplikacji. Dobrym działaniem na tym etapie mogą okazać się warsztaty Design Thinking w metodyce Design Sprint, które w łatwy i szybki sposób umożliwiają szczegółowe rozpoznanie potrzeb grupy docelowej oraz możliwości jakie zaoferuje nowo tworzona aplikacja. Posiadając wyżej opisane informacje zespół projektowy może w danej sytuacji przystąpić do faktycznego procesu planowania.

Etap II – wybór platformy, na której powstanie docelowa aplikacja mobilna lub webowa
Kolejnym krokiem jest określenie na jakiej / jakich platformach będzie działała aplikacja. Wybór platformy / platform zależy w dużej mierze od decyzji strategicznych klienta i zespołu projektowego, często związanych z potrzebami grupy docelowych użytkowników aplikacji. W sytuacji, w której określony we wcześniejszym etapie model biznesowy zakłada, że grupa docelowych klientów aplikacji to w większości użytkownicy urządzeń mobilnych, na których aplikacja będzie działała, może się okazać, iż najlepszym wyjściem będzie stworzenie aplikacji natywnej dedykowanej na jeden lub kilka systemów operacyjnych. W przypadku jednak podjęcia głębszej analizy może okazać się, że np. użytkownicy wykorzystują w 90% urządzenia mobilne z systemem Android, co sugeruje, iż ostateczna aplikacja powinna zostać zadedykowana wyłącznie danej platformie. Taka droga wyboru aplikacji natywnej na platformę Android może stanowić przykład odpowiednio dobranego planu zakładającego cele biznesowe, które spełniać ma ostateczny produkt cyfrowy.
Etap III – wybór technologii zastosowanej w aplikacji
Aplikacja hybrydowa, czy aplikacja natywna, coraz więcej firm zadaje sobie to pytanie. Wiele przedsiębiorstw czuje się całkiem dobrze mając po prostu aplikację webową, która dzięki RWD dostosowuje się do ekranu każdego możliwego urządzenia. Z drugiej strony istnieje spora grupa klientów, którym zależy, aby tworzone w ramach procesu rozwiązanie było dedykowane platformie, na której w danej chwili jest wykorzystywane. Aplikacje hybrydowe oraz aplikacje natywne mają zarówno swoich przeciwników, jak i zwolenników. W praktyce jednak sprawa jest dość prosta. Wybór technologii zależy w głównej mierze od założeń strategii biznesowej. W przytoczonym wcześniej przypadku, w którym zdecydowana większość użytkowników będzie korzystała z tworzonej aplikacji na urządzeniach mobilnych pracujących na systemie Android, najbardziej logicznym rozwiązaniem będzie wykorzystanie technologii JAVA lub Kotlin w celu zaprogramowania aplikacji natywnej, która będzie dedykowana pod ten system operacyjny.
Etap IV – wybór narzędzi i frameworków wykorzystywanych w tworzonej aplikacji
Możliwość podjęcia decyzji i wiedza, jakie technologie, biblioteki, narzędzia i zasoby będą potrzebne, sprawiają, że programista będzie czuł się pewnie i dokona odpowiedniego wyboru. Decyzja dotycząca wyboru danych narzędzi i frameworków powinna zostać podjęta w oparciu o wcześniejsze kroki, a przede wszystkim z uwzględnieniem wszystkich znanych na dany moment funkcjonalności, które powinna posiadać dana aplikacja mobilna lub webowa. Same docelowe funkcjonalności mogą powstać w trakcie kolejnych iteracji związanych z rozwojem produktu, jednak wiedza dotycząca znanych aspektów funkcjonowania aplikacji w momencie planowania procesu jej tworzenia może okazać się kluczowa.
W wyborze narzędzi oraz frameworków może pomóc także kilka następujących pytań:
- Czy potrzebujesz utrzymywać bazę danych?
- Jaki jest wyższy priorytet: wygląd i działanie aplikacji, czy płynność i funkcjonalność?
- Jakie są zasady bezpieczeństwa, których należy przestrzegać w aplikacji?

Etap V – dokładne określenie modułów i przedziału czasowego
Cały projekt powinien zostać przeanalizowany i rozłożony na dokładne zadania i podzadania dotyczące modułów poszczególnych części ostatecznej aplikacji. Czas projektowania, programowania, wdrażania oraz testowania tworzonej aplikacji powinien być dokładnie zaplanowany z uwzględnieniem odpowiedniego marginesu możliwych błędów dla każdego z rozwijanych w procesie budowy aplikacji modułów. Wszystkie działania powinny zostać możliwie dokładnie określone czasowo, a następnie przekazane do realizacji w ramach projektu zarządzanego w modelu zwinnego zarządzania, co pomoże wprowadzań niezbędne modyfikacje na każdym etapie iteracji procesu tworzenia aplikacji. W celu dokładnego określenia modułów i funkcjonalności aplikacji, niezbędne jest przygotowanie dokładnej specyfikacji i stworzenie architektury informacji, będących podstawą i wzorem tworzonej aplikacji mobilnej lub aplikacji webowej.
Tworzenie aplikacji to coś więcej niż kodowanie
Jak łatwo zauważyć z analizy powyższych etapów, proces tworzenia aplikacji mobilnej lub aplikacji webowej w software house to zdecydowanie więcej aniżeli zamówienie kilku developerów, którzy od razu przystąpią do kodowania ostatecznego rozwiązania. Jak zostało zaprezentowane, sam proces planowania odgrywa bardzo istotną rolę w przygotowaniu gruntu pod faktyczną produkcje docelowego rozwiązania. Dzięki odpowiedniemu procesowi planowania i przygotowania do wdrożenia rozwiązania, sam proces projektowania, programowania i testowania ostatecznej aplikacji zostanie przeprowadzony szybciej oraz pozwoli na redukcję błędów i niedociągnięć na każdym etapie prac projektowych.