Tworzenie aplikacji mobilnych krok po kroku

Aplikacje mobilne na dobre wpisały się w naszą codzienność. Jak pokazują dane, ponad 60% ruchu w Internecie generowane jest przez użytkowników urządzeń mobilnych. Jak zapewnić najwyższą jakość aplikacji mobilnej, a tym samym pozytywne user experience? Należy pamiętać, że proces tworzenia oprogramowania nie polega tylko na napisaniu aplikacji i zamieszczeniu jej w sklepie. W tym artykule pokażemy, jak wygląda u nas tworzenie aplikacji mobilnej krok po kroku.

Pomysł na aplikację mobilną

Rzadko zdarza się, że pomysł i jego realizacja od początku do końca leżą po stronie jednej osoby. Tworzenie aplikacji mobilnej jest złożonym procesem, który wymaga zaangażowania wielu osób o różnych umiejętnościach. W naszym przypadku wszystko zazwyczaj zaczyna się od klienta, który przychodzi do nas, szukając rozwiązania lub sposobu realizacji swojego pomysłu. Ten etap rzutuje na ułożenie procesu i wszystkie dalsze działania.

Cytat: Ważne dla nas jest dopasowanie do klienta. Dlatego realizujemy przede wszystkim te projekty, które wpisują się w nasze ideały i profil działalności oraz w których możemy odnaleźć unikalną synergię z partnerami. - Karolina Herbut

Tworzenie aplikacji mobilnej: analiza wymagań

Kiedy już mamy za sobą pierwszy kontakt z klientem, umawiamy się na warsztaty w celu przeprowadzenia dokładnej analizy wymagań. W przypadku aplikacji mobilnych trzeba ustalić:

  • czy budujemy na platformę iOS, Android, a może na obie?
  • piszemy natywnie czy cross-platformowo?
  • jakie wersje oprogramowania wspieramy?
  • czy wspieramy aplikację w trybie landscape?
  • czy implementujemy wersję na tablety?

Zawsze prowadzimy kompleksową analizę techniczną i biznesową. W ten sposób pomagamy klientowi w szukaniu pomysłów na stworzenie lub usprawnienie biznesu. To także czas, w którym zaczynamy budować relacje biznesowe. Nie zapominajmy o tym, że decyzja o współpracy powinna być podejmowana wspólnie — nie tylko przez nas, ale także przez klienta. 

W takich warsztatach bierze udział architekt systemu, analityk i developer. Rezultatem powinny być:

– propozycja najlepszej technologii, 

– sprecyzowanie wymagań,

– projekt modelu biznesowego,

– wybór modelu współpracy.

Tworzenie aplikacji mobilnej: projektowanie

prowadzimy bardzo szczegółową analizę. Ponownie rozpatrujemy wszystkie wymagania, przygotowujemy makiety, opracowujemy dokumentację, którą obie strony muszą zaakceptować. Szacujemy również wszystkie potencjalne koszty projektowe, np. konta developerskie (potrzebne do zamieszczenia aplikacji w sklepie), środowisko backend itp.

Aby ułatwić komunikację, klient powinien wyznaczyć osobę kontaktową: PO (Product Owner) lub SPOC (Single Point of Contact), która będzie odpowiedzialna za bezpośrednią współpracę z naszym zespołem.

Przeprowadzamy także bardzo szczegółową analizę ryzyka i doradzamy, w jaki sposób je zminimalizować. Poza tym tworzymy szablon projektu, który zawiera zakres, zagrożenia i priorytety projektu. Przygotowujemy również wymagania biznesowe w formie user stories, co jest bardzo ważne w kontakcie na linii biznes-programista, ponieważ pozwala na przełożenie języka biznesowego na język techniczny i ułatwia komunikację.

Warsztaty techniczne trwają od jednego dnia do kilku tygodni i wymagają zaangażowania analityka, developera, project managera oraz osoby kontaktowej ze strony klienta.

Tworzenie aplikacji mobilnej: hosting

Aspektem, który musimy doprecyzować w trakcie warsztatów technicznych, jest wybór hostingu dla aplikacji mobilnej. Obecnie odchodzi się od rozwiązań serwerowych. Z tego powodu rzadko zdarza się, że to klient musi zapewnić nową, odpowiednią infrastrukturę. Zazwyczaj korzystamy z istniejącej infrastruktury (naszej lub klienta) albo stosujemy rozwiązania chmurowe. Wyjątkiem są banki, które zawsze zapewniają własną infrastrukturę hostingową ze względów bezpieczeństwa.

Tworzenie aplikacji mobilnej: model rozwiązania

Po ustaleniu potrzeb i wymagań klienta, możemy przygotować jedno z trzech rozwiązań: MVP, Version 1.0 albo proof of concept (POC).

Aplikacje mobilne: MVP

MVP to działająca aplikacja w pierwszej, minimalnej wersji. Stosujemy zasadę Pareto — aplikacja jest na tyle funkcjonalna, że pozwala na prowadzenie biznesu. W celu zaoszczędzenia czasu proponujemy rozwiązania, które nie są bardzo skomplikowane z punktu widzenia programisty, np. użycie zewnętrznej biblioteki. To dobry pomysł w sytuacjach, gdy mamy ograniczony budżet. W ten sposób możemy też zbadać reakcje klientów i na tej podstawie dodać kolejne funkcje. MVP może być wersją 1.0 aplikacji mobilnej.

Aplikacje mobilne: wersja 1.0

Wersja 1.0 to wersja aplikacji, która została wyposażona we wszystkie zdefiniowane wcześniej funkcje. To forma gotowego produktu, który już działa, ale jego rozwój będzie kontynuowany w kolejnych wersjach. Dzięki temu klient ma możliwość analizy zachowania użytkowników i dostosowania aplikacji do ich potrzeb. 

Aplikacje mobilne: proof of concept

POC to rodzaj wersji próbnej dla klienta. W tym modelu tworzymy jeden moduł lub jedną funkcję aplikacji, aby klient mógł zweryfikować nasz sposób, jakość i szybkość pracy.

Tworzenie aplikacji mobilnej: programowanie

Przed rozpoczęciem programowania, po naszej stronie leży dostarczenie konkretnej oferty, poszczególnych składników realizacji, określenie kosztów osobowych, serwerowych itd. Do tych zadań należy również zarządzanie pracą zespołu programistów.

Jeżeli klient tego wymaga, np. ze względów bezpieczeństwa, to tworzenie aplikacji mobilnej odbywa się w systemie T&M, w którym my zapewniamy wyszkolony, zmotywowany, kompetentny zespół, ale za zarządzanie pracą i zadaniami bezpośrednio odpowiada klient. 

Testowanie aplikacji mobilnych

nie zostawiamy testów na koniec projektu, ale przeprowadzamy je na koniec każdego sprintu i każdego etapu. Aplikacje do testów dostarczamy poprzez TestFlight (iOS), kanały beta/alpha na Google Play Store (Android), Firebase Distribution lub Bitrise (obie platformy). Dzięki temu możemy reagować na bieżąco: wprowadzaćzmiany, usuwać defekty, naprawiać błędy w kodzie i funkcjach. 

Cytat: Jakość jest dla nas bardzo ważna. Nasz zespół stosuje testy manualne i automatyczne, testy bezpieczeństwa aplikacji, testy zgodności z OWASP i RASP. Często zachęcamy klienta, żeby sam również przetestował nowe funkcje. Po każdym etapie/module prowadzimy user acceptance test na środowisku dedykowanym do testów, które jest zbliżone do środowiska produkcyjnego. - Łukasz Czerwiński

Po zakończeniu procesu tworzenia aplikacji mobilnej oddajemy gotowy projekt klientowi. W zależności od typu projektu i umowy z klientem, klient wykonuje wtedy testy odbiorcze (UAT) i sprawdza, czy aplikacja jest zgodna z dokumentacją i wymaganiami. Na prośbę klienta możemy również udostępnić aplikację wybranym testerom po jego stronie.

Aby aplikacja mogła trafić do sklepu, potrzebujemy również kont developerskich, opisów aplikacji, screenshotów, linków do polityki prywatności itp. Gdy klient ostatecznie zaakceptuje aplikację, trafia ona do środowiska produkcyjnego, a stamtąd prosto do użytkowników końcowych.

Gotowa aplikacja mobilna: utrzymanie

Napisaliśmy aplikację, ostatnia linijka kodu zacommitowana i co dalej? Cenimy trwałe relacje biznesowe, dlatego nasza współpraca nie kończy się na etapie wprowadzenia aplikacji mobilnej do sklepu. Często angażujemy się również w dalszy rozwój aplikacji.

Cytat: Nawet jeżeli kończy się projekt, nie zostawiamy klienta samego — od razu po wdrożeniu otrzymuje on od nas gwarancję na produkt. Dzięki temu może zgłaszać w przyszłości defekty tak jak reklamację w sklepie. - Karolina Herbut

Oferujemy również dodatkowe płatne wsparcie. Klient ma dostęp do dedykowanego zespołu, który w razie potrzeby będzie w stanie nawet w środku nocy zwalczyć największą awarię i wyeliminować problemy.

Jeżeli spodobało Ci się nasze podejście do tworzenia aplikacji mobilnych, zapraszamy do współpracy. Skontaktuj się z nami i porozmawiajmy o Twoich pomysłach. Jeśli chcesz dowiedzieć się więcej, zapraszamy do lektury naszego bloga.

Martyna Wiśnik

Martyna is a Content Specialist at Deviniti. She gathers information, writes down her notes on paper, and then brings the results to the digital world. As a hobby, she learns to code iOS apps.

Więcej od tego autora