Tworzenie aplikacji – fizyka kwantowa czy bułka z masłem?

Jacek Knaflewski

17 listopada, 2020 10 min czytania

Rate this post

Jeszcze kilka lat temu dobry pomysł na rozwijającym się rynku mógł postawić Cię w pozycji zwycięzcy. Jednak dziś, każdy startup wie, że to wdrożenie jest najważniejsze, żeby osiągnąć sukces w biznesowej rzeczywistości. To samo tyczy się tworzenia aplikacji mobilnych. Sam pomysł to wierzchołek góry lodowej, w związku z czym, powinieneś być świadomy, jak wygląda cały proces. Tworzenie aplikacji jest łatwe. Jednakże, tworzenie aplikacji mobilnej, która osiągnie sukces to proces, który wymaga odpowiedniej dawki wiedzy i przygotowania.

Po pierwsze, powinieneś zdefiniować jakie są Twoje cele w procesie tworzenia aplikacji. Niczym odkrywczym, nie będzie stwierdzenie, że celem jest tworzenie aplikacji mobilnej, która odniesie sukces na rynku.  

Tak! To prawda!

… ale jest coś jeszcze.

Tworzenie aplikacji mobilnej powinnno być zrozumiałe i nieskomplikowane z punktu widzenia klienta. Czasem ta kwestia jest pomijana przez różne software house’y, które w dobrej wierze promują swój złożony proces, zawierający 8, a nawet 10 etapów projektu. Ok, możesz więc z ilu kroków powinien składać się idealny proces tworzenia aplikacji? 10 kroków może przeciążyć nasze możliwości poznawcze i być trudne do przetworzenia. Jako przykład, na tapet możemy wziąć jeden ze sprawdzonych procesów, który większość z nas nie raz ukończyła. W świecie e-commerce, proces sprzedaży podzielony jest na 5 następujących kroków: 

  1. Logowanie/rejestracja
  2. Adres dostawy
  3. Płatność
  4. Weryfikacja
  5. Adres dostawy

Możemy nazywać się istotami idealnie przystosowanymi do zakupów online, a powodem jest nieskomplikowany proces, który łatwo przyswoić. Dodając jeden krok możemy przyczynić się do załamania konwersji na etapie checkout’u, a co za tym idzie, całej wydajności zakupów online. Prawdopodobnie nie chcemy, aby taka sytuacja miała miejsce, podobnie jak właściciele sklepów internetowych.

Pomimo, że każda aplikacja jest inna i wykorzystywana metodologia stale się zmienia, istnieje dość standardowy proces tworzenia aplikacji mobilnych.

W ITgenerator, po 10-stoletnim doświadczeniu w branży tworzenia aplikacji niektórych, z członków zespołu; prowadzeniu ponad 100 projektów, uprościliśmy proces tworzenia aplikacji do 5 prostych kroków, pokazanych na poniższym obrazku: 

W tym artykule, przyjrzymy się wszystkim/poszczególnym etapom procesu tworzenia aplikacji mobilnych. Dodatkowo, zdradzę Wam parę sekretów, np. która część procesu jest decydująca, jaka najbardziej interesująca itd. Mam nadzieję, że będzie to przydatna wiedza 🙂

1. Koncepcja i strategia 

Ta część projektu to tzw. inicjacja, często łączona/kojarzona z analizami i odkrywaniem. Jej celem jest budowanie zrozumienia Twoich celów biznesowych i to, w jaki sposób zaimplementowane/wdrożone będą do twojego softwarowego produktu w przyszłości. Bez względu na to, jaki rodzaj produktu tworzymy, zależy zdefiniować dokładnie kluczowe czynniki, takie jak na przykład:

  • zupełnie nowy pomysł: w jaki sposób użytkownik zostanie zaangażowany w nasz model monetyzacji (często w przypadku startupów);
  • optymalizacja niektórych procesów w firmie za pomocą aplikacji mobilnej: jak skrócić czas spędzany na rutynowych operacjach (często w przypadku przedsiębiorstw).

Najprawdopodobniej, wchodząc w ten etap, masz pomysł na tworzenie aplikacji mobilnej. To dobrze, ale powinieneś skupić się na problemie Twojej grupy docelowej, niż na samym pomyśle. Zazwyczaj istnieje wiele sposobów na osiągnięcie celu klienta, za pomocą aplikacji. Dzięki sprawnej i regularnej komunikacji z zespołem programistów możesz bez trudu określić najlepsze możliwe podejście, aby finalnie dostarczyć świetną aplikację. W trakcie tej fazy:

  • zidentyfikujesz użytkowników aplikacji;
  • wybierzesz mobilną platformę dla Twojej aplikacji;
  • zdefiniujesz zakres projektu, główne funkcje oprogramowania i cele biznesowe;
  • przeprowadzisz badania rynkowe i analizę konkurencji;
  • wydzielisz najbardziej podstawowe funkcje (Minimal Viable Product) i te do przyszłego wdrożenia; 
  • określisz potrzebne do realizacji projektu umiejętności i kompetencje członków teamu;
  • wykryjesz i zapobiegniesz ryzykom.
  • przygotujesz analizę SWOT i strategię monetyzacji (dla projektów komercyjnych)

Ta faza jest kluczowa, ponieważ jest jak silny fundament do tego, co ma nastąpić dalej. Wykrycie błędów na tym etapie jest dużo tańsze, a ich korekty zajmą zdecydowanie mniej czasu w porównaniu do kolejnych etapów procesu tworzenia aplikacji mobilnej. Typowa faza budowania koncepcji i strategii trwa 1-2 dni dla mniejszych projektów, tydzień dla średnich i około dwóch tygodni dla dużych, bardziej złożonych projektów.

Podsumowanie etapu:

Wyniki: SRS – specyfikacja wymagań oprogramowania składa się z mapy cech z przypadkami użycia dla MVP i stosu technologicznego, większe projekty zwykle otrzymują weryfikację koncepcji

Rezultaty: wymagania projektowe i ryzyko

Największe błędy, których należy unikać: przyjmowanie swojego pomysłu na aplikację za pewnik, a także zgadywanie, które funkcje są kluczowe dla docelowej grupy użytkowników. W najgorszym wypadku możesz ominąć tę fazę, nie identyfikując zagrożeń i pełnego zakresu projektu i przechodząc do następnej fazy.

Celem tego etapu jest zebranie wiarygodnych danych do wdrożenia. Moim zdaniem jest to najważniejsza i najciekawsza część każdego procesu tworzenia oprogramowania. Jednak to od Ciebie zależy, jak wykorzystasz możliwości na tym etapie. Możesz całkowicie zanurzyć się w empatyczną podróż przez umysły użytkowników, odkrywając ich ukryte pragnienia i potrzeby, pozostawiając za sobą to, co było do tej pory pewne, otwierając się na nowe sposoby osiągania swoich celów.

2. Product design UX & UI

Kiedy pomysł przejdzie do fazy inicjacji projektu i najważniejsze elementy zostaną rozwinięte (kto, co, gdzie, kiedy, dlaczego) powinna rozpocząć się faza projektowania, a zespół projektowy dobrany na podstawie zakresu i poziomu złożoności projektu.

Sukces aplikacji mobilnej jest uzależniony od tego, jak użytkownicy adaptują się do funkcjonalności i czy czerpią z nich założone korzyści. Celem product design UI / UX jest dostarczenie użytkownikowi płynnego doświadczenia, nie wymagającego większego zaangażowania, które dodatkowo pięknie wygląda.

Pierwszym krokiem procesu projektowania aplikacji mobilnej jest zebranie danych i funkcjonalności, które muszą być prezentowane i organizowane. Zazwyczaj rozpoczynamy ten proces od zapisania listy funkcji, które mają składać się na aplikację i listy tego, co powinno być wyświetlone w którymś miejscu aplikacji. Jednym słowem, to co robimy to architektura informacji aplikacji.

Teraz pomysły zaczynają nabierać kształtu. Kiedy zrozumiemy co dokładnie tworzymy, tworzymy makiety, które są koncepcyjnymi układami, zwanymi również low-fidelity mockups. Nadają funkcjonalnym wymaganiom aplikacji strukturę wizualną. Dodatkowo pozwalają na wykrycie problemów w aplikacji i rozwiązanie ich w tym samym czasie. Kształtuje nasze obecne rozumienie problemu, a jednocześnie pomaga nam znaleźć możliwe rozwiązania. Obok wireframe’ów jest jeszcze coś równie ważnego na tym etapie – user workflow. Są to ścieżki, po których użytkownik może poruszać się w aplikacji. Rozważ każdą z rzeczy, którą użytkownik jest w stanie wykonać w Twojej aplikacji i sprawdź ile kliknięć jest potrzebnych, aby ukończyć w pełni daną akcję. Jeżeli na wykonanie danej czynności składa się kilka kliknięć, jest w porządku, jednak wykonanie typowych/podstawowych czynności powinno być jeszcze bardziej intuicyjne. Twój feedback na tym etapie jest bardzo ważny i jesteśmy otwarci na zmiany, aż do osiągnięcia satysfakcjonującej wizji produktu. 

Co dalej?

Kiedy Twoje poprawki zostaną w pełni wdrożone , obraz aplikacji staje się bardziej kolorowy i właśnie w tym czasie UI designerzy wkraczają do gry. Ich rolą jest kreowanie elementów składowych Twojej aplikacji. Określenie stylu wizualnego aplikacji wymaga wiele uwagi. Zespół projektowy musi wziąć pod uwagę Twoje potrzeby oraz potrzeby twoich przyszłych klientów. Czy Twoja aplikacja będzie używana w nocy? Jeśli tak, może ciemny motyw będzie lepszym rozwiązaniem, aby nie oślepiać użytkowników. Efektem tej fazy jest zestaw kolorów, czcionek i widżetów (przycisków, formularzy, etykiet itp.), który stanie się komunikacją wizualną Twojej aplikacji.

Na tym etapie mamy wszystko czego potrzebujemy, aby zacząć tworzyć prototyp, który często opracowywany jest przy pomocy narzędzi takich jak InVision. Prototypy są bardzo użyteczne, podczas symulowania doświadczeń klienta w aplikacji oraz workflow oczekiwanego od finalnej wersji produktu. Mimo, że tworzenie prototypu możemy być czasochłonne, warto poświęcić na niego sporo uwagi, ponieważ jest to forma wczesnego testowania nie tylko designu, ale także funkcjonalności w aplikacji. Często prototypy pomagają zidentyfikować modyfikacje danej funkcjonalności aplikacji. Dlatego sugerujemy, żeby jeśli to możliwe, wszystkie zmiany do produktu wprowadzać w fazie prototypowania. Są wtedy o wiele tańsze, łatwiejsze i szybsze do wprowadzenia, w porównaniu ze zmianami w finalnej wersji aplikacji.

Podsumowanie etapu:  

Wyniki: architektura informacji, user flows, wireframe’y, wstępny klikalny model, zdefiniowany styl, makiety, klikalny prototyp

Rezultaty: otrzymujesz dobrze zaprojektowany prototyp gotowy do przetestowania przez prawdziwych użytkowników w celu poprawienia błędów przed rozpoczęciem fazy kodowania

Błędy, których należy unikać: skupianie się na wyglądzie aplikacji, zapominając o kluczowej roli projektowania UX

Faza projektowania produktu to nie tylko sposób, w który Twoja aplikacja będzie wyglądać. Jej głównym celem jest to, jak użytkownik będzie z niej korzystał. Vinod Khosla z Khosla Ventures opisuje to najlepiej: „Projektowanie to sposób na uczynienie technologii użyteczną”. Na szczęście dysponujemy projektem aplikacji, który jest tańszy i szybszy w opracowaniu jeszcze przed fazą kodowania. Dzięki temu możemy nie tylko wyobrazić sobie, jak produkt będzie wyglądał, ale również przetestować użytkownikami z grupy docelowej.

3. Kodowanie

Po zdefiniowaniu każdego, najmniejszego detalu aplikacji mobilnej i zobrazowaniu na poszczególnych ekranach, możemy przejść do procesu kodowania. Koniec procesu projektowania, uważa się za początek przygody z kodowaniem. Priorytetem tej fazy jest przekonwertowanie zaprojektowanych elementów na kod, używając języka programowania wybranego w fazie “koncepcja i strategia”. Dobrze napisany kod na tym etapie może pomóc zredukować ilość pracy i poprawek w następnych etapach – testowania i utrzymania. W większości przypadków jest to najdłuższa faza w “cyklu życia oprogramowania” (SDLC). 

Tworzenie aplikacji mobilnej to proces interaktywny. Może słyszałeś już takie określenia jak “sprint” lub “metodologia agile”. Zasadniczo oznacza to, że dzielisz wszystkie prace programistyczne na mniejsze kamienie milowe i tworzysz aplikację w serii cykli. Każdy cykl zawiera następujące elementy: planowanie, pisanie kodu/development, testowanie i wnioski/podsumowanie. Przed przystąpieniem do pisania kodu programiści wraz z kierownikami projektów definiują standardy, system kontroli wersji i inne narzędzia programistyczne.

Iteracja

Faza planowania każdej iteracji obejmuje podzielenie listy zadań na mniejsze części. Deweloperzy często szacują czas potrzebny do wykonania każdego zadania, tak aby zadania mogły być równomiernie rozłożone oraz zapewnić zrównoważone obciążenie pracą podczas sprintu. Korzystamy z Jira, aby mieć pełną kontrolę nad projektem.Z naszymi klientami dzielimy się bezpłatnym dostępem do podglądu przydziałów zadań, szacowanego czasu i postępu prac, aby być na bieżąco z projektem.

Właśnie przyszedł czas na prawdziwe kodowanie. Zespół deweloperów wdraża poszczególne elemety, styl i funkcjonalności Twojej aplikacji. W ITgenerator korzystamy z metodologii agile podczas programowania. Pracujemy w dwutygodniowych blokach (sprintach), po których prezentujemy klientowi wersję demo produktu. Takie podejście pomaga nam utrzymać bliską relacją z klientami oraz lepiej zrozumieć ich potrzeby. Otrzymywanie regularnej informacji zwrotnej pozwala nam na oszczędność czasu, a klientowi na oszczędności finansowe 🙂 Pracując razem w ten sposób, tworzymy wysokiej jakości produkt mobilny.

Po wykryciu problemów na tym etapie, zadania są przydzielane programistom ponownie, aby można było je rozwiązać i domknąć kolejne etapy programowania. Po wykonaniu testów i zakończeniu wszystkich zaplanowanych zadań przechodzimy do sprawdzenia kodu, tzw. review. Na koniec każdego sprintu podsumowujemy z klientem miniony etap, zbierając jego opinie i uwagi. Zazwyczaj wiąże się to z wydaniem kolejnej wersji demo aplikacji.

Podsumowanie etapu:  

Wyniki: kod źródłowy aplikacji, biblioteka, pliki wykonywalne, instrukcja i dodatkowa dokumentacja oprogramowania

Rezultaty: W pełni zakodowany produkt w wersji MVP gotowy do testowania

Największe błędy, których należy unikać: kodu niskiej jakości, finalnego produktu, bez prezentowania wersji demo w trakcie procesu, słabej komunikacji 

To najbardziej “tajemnicza” faza procesu projektowania aplikacji z punktu widzenia klienta. Nagle Twoja wizja zamienia się w gotowy produkt. To na co nie masz wpływu to jakość kodu, napisanego przez programistów. Rozwiązaniem jest wybór zaufanej i sprawdzonej firmy, która zatrudnia doświadczonych pracowników. Z drugiej strony, możesz mieć kontrolę nad tym, w jaki sposób Twój produkt się rozwija.  On the other hand, you may have control over how your product develops. Your activity in this phase should not be less than during the design one. You are close to the end of the project, but there are two more stages left.

4. Testowanie

Jakość jest ważna na każdym etapie rozwoju projektu. Jednak testowanie to czas, w którym szczególnie upewniamy się, że każdy aspekt aplikacji działa tak jak tego chciałeś. Posiadanie certyfikatu ISTQB (International Software Testing Qualifications Board) zobowiązuje nas do stosowania standardowych metodologii testowania nie tylko na tym etapie, ale w całym procesie tworzenia aplikacji. Istnieje błędne przekonanie, że testowanie oprogramowania to czynność poprodukcyjna, której celem jest znajdowanie błędów i dostarczanie oczekiwanych wyników. Doświadczony tester wie, że tworzenie oprogramowania i testowanie są wykonywane jednocześnie.

Większość testów powinna być wykonywana przez osoby niebędące programistami lub przynajmniej osoby, które nie są głównym programistą Twojej aplikacji. Pomoże to zapewnić bardziej autentyczne wrażenia z testowania. W ITgenerator każdy projekt ma dedykowanego testera, tzw. Quality Assurance Specialist. W oparciu o ISTQB zapewniamy 20 różnych typów testów, ale doświadczenie pokazuje, że poniżej opisane zapewniają najlepszą jakość w stosunku do czasu, jaki zostanie poświęcony na testowanie: 

Testy użyteczności

Jednym z najważniejszych kroków w testowaniu aplikacji mobilnych jest upewnienie się, że ostateczna implementacja odpowiada doświadczeniu użytkownika (UX) stworzonemu przez zespół projektantów aplikacji. Elementy wizualne, intuicyjność i interaktywność aplikacji dają użytkownikom końcowym wrażenie na temat Twojej aplikacji z pierwszej ręki.

Testy funkcjonalne 

Sprawdzamy wszystkie funkcjonalności w aplikacji. Wydaje się oczywiste, że jeśli aplikacja oferuje np. Skanowanie kodu QR powinno działać, ale przeglądając opinie użytkowników różnych aplikacji dostępnych w Google Play czy AppStore okazuje się, że wcale tak nie jest.

Testy objętościowe

Ważny test, który uchroni nas przed nieoczekiwanymi problemami, które mogą pojawić się miesiąc lub rok po opublikowaniu aplikacji. Wraz ze wzrostem liczby użytkowników w aplikacji i wzrostem ilości danych może się zdarzyć, że aplikacja będzie działać wolniej lub w ogóle nie da się jej uruchomić, ponieważ system nie był przygotowany na przeciążenie danymi. Krótko mówiąc, wypełniamy aplikację lub system, który łączy się z maksymalną ilością danych i sprawdzamy, czy działa, czy nie.

Testy wydajnościowe

Najczęściej jest to test automatyczny, czyli maszyna symuluje ciągłą pracę użytkownika z aplikacją przez 24 godziny. Jeśli aplikacja nadal działa poprawnie po 24 godzinach, możemy przewidzieć, że będzie działać również po 48, 72 i miesiącu normalnego użytkowania.

Testy bezpieczeństwa

Mogą pomóc upewnić się, że w oprogramowaniu nie ma luk, które mogą spowodować utratę danych. Zestawy testów mają na celu zaatakowanie aplikacji w celu zidentyfikowania możliwych zagrożeń i luk, które umożliwiłyby osobom lub systemom zewnętrznym dostęp do prywatnych informacji przechowywanych na urządzeniu mobilnym.

Testy na urządzeniach i platformach

Ważne jest, aby przetestować aplikację na kilku do kilkunastu najpopularniejszych smartfonach. Najczęstszym błędem jest sprawdzenie aplikacji na jednym modelu swojego smartfona. Wtedy może się okazać, że na 5 innych modelach aplikacja w ogóle się nie uruchamia lub w najlepszym przypadku część funkcjonalności nie działa poprawnie lub słabo wyświetla się na różnych rozmiarach ekranu

Podsumowanie etapu: 

Dane wyjściowe: dzienniki testów, dziennik raportów incydentów testowych, raport podsumowania testów

Wyniki: w pełni przetestowana wersja beta aplikacji gotowa do wdrożenia

Największe błędy, których należy unikać: sprawdzanie i testowanie aplikacji tylko na kilku smartfonach

W przypadku tworzenia aplikacji mobilnych warto zacząć testować je wcześniej i robić to często. Dzięki temu, ostateczne koszty poniesionych błędów i koniecznych zmian będą możliwie najniższe. Podczas tworzenia różnych przypadków testowych zapoznaj się z oryginalnymi dokumentami dotyczącymi projektu i planowania. ITgenerator zapewnia kompleksowe usługi testowania oprogramowania w celu zapewnienia wolnego od błędów i bezpieczeństwa rozwiązania oprogramowania dla Twojej firmy.

5. Wdrożenie & Utrzymanie

Wreszcie! Chwila, na którą wszyscy czekaliśmy! Ostatni etap dotyczy przekazania gotowej aplikacji użytkownikom. Celem wdrożania jest więc udostępnienie aplikacji w sklepach Google Play Store i App Store. Jednak byłoby niezwykle naiwne myślenie, że proces tworzenia aplikacji mobilnej kończy się wraz z publikacją aplikacji. Według portalu clutch.co utrzymanie aplikacji stanowi około 50% ceny początkowej produktu w pierwszym roku, 25% w drugim roku i 15–25% każdego następnego roku. Większość aplikacji (52,8%) jest aktualizowana raz na 6 miesięcy. Z drugiej strony prawie 30% raz w miesiącu lub częściej. Pojawienie się nowych wersji systemów operacyjnych można uznać za najczęstsze przyczyny aktualizacji. Nowoczesne języki programowania również zastępują starsze rozwiązania. Ostatnio była to migracja Objective-C do Swift w przypadku aplikacji iOS na iPhone’y oraz migrację Java do Kotlin w przypadku aplikacji na system Android. Inne koszty obejmują hosting na serwerze czy serwis. Dlatego musisz zarezerwować budżet, a także energię i ostrożność również na tym etapie.

Na tym etapie nie można przeoczyć również ciągłego monitorowania i analizy danych o użytkownikach i działaniu aplikacji: 

Podsumowanie etapu: 

Wyniki: harmonogram wdrożeń, wydana wersja aplikacji w sklepach Google Play i App Store 

Rezultaty: pierwsze i kolejne wydania Twojej aplikacji

Największe błędy, których należy unikać: brak budżetu na opracowanie aplikacji po wysłuchaniu opinii prawdziwych użytkowników, brak monitorowania zachowania użytkowników w aplikacji

Gdy Twoja aplikacja trafi w ręce użytkowników, będą napływać informacje zwrotne, które trzeba będzie uwzględnić w przyszłych wersjach aplikacji. Zazwyczaj po wydaniu pierwszej wersji aplikacji cykl rozwoju rozpoczyna się od nowa. Upewnij się, że masz zasoby do obsługi produktu. Oprócz pieniędzy zainwestowanych w stworzenie produktu cyfrowego, pamiętaj, że jest to długoterminowe zobowiązanie nie tylko do Twojego produktu, ale także do firmy tworzącej oprogramowanie.

 Podsumowując

Tworzenie aplikacji mobilnych nie jest tak łatwe, jak mogłoby się wydawać, ale wcale nie musi być najtrudniejszym w życiu projektem. Moim zdaniem, konieczne jest otwarcie się na wiele możliwości i szczerą rozmowę. Dodatkowo na orzystanie ze sprawdzonych rozwiązań i narzędzi oraz zaufanie do wykonawców. Nie jest to fizyka jądrowa, ani też bułka z masłem – jest to coś pośrodku. Mogę to porównać do lotu samolotem, podczas którego czujesz się bardziej podekscytowany fazami startu i lądowania. Dzięki zwinnej metodologii i wieloletniemu doświadczeniu cały lot, czyli proces tworzenia aplikacji może przebiegać tak spokojnie, że jeśli chcesz, możesz nawet zjeść kawałek ciasta lub napić się drinka. Wszystko zależy od zespołu, który zatrudnisz…

Oceń ten wpis:
Rate this post

Aplikacje mobilne - jakie korzyści mogą przynieść Twojej firmie?

Blog

Aplikacje mobilne - jakie korzyści mogą przynieść Twojej firmie?

Rate this post Aby wesprzeć i poprawić zarządzanie procesami w firmie, wiele przedsiębiorstw używa różnych aplikacji mobilnych. Pomimo, że na rynku istnieje wiele gotowych aplikacji do pobrania, niektóre podmioty decydują...

Czytaj dalej