Definiowanie wymagań dla aplikacji mobilnych

Artykuły eksperckie | 28.01.2016 | Czas czytania: 4 minuty

Rynek aplikacji mobilnych w ostatnich latach rozwija się niezwykle dynamicznie, jednakże stworzenie skutecznego zespołu mobilnego i efektywne zarządzanie nim wymaga ciągle wysokich kompetencji i sporego wysiłku. Aplikacje mobilne wykorzystywane są przez szerokie spektrum urządzeń - smartwatche o ekranach 1.5 cala, smartfony, tablety, samochody oraz 100-calowe smart TV. Niezależnie jednak od tego, na jakim urządzeniu aplikacja ma działać i jakie platformy wykorzystywać, prace projektowe związane z jej powstaniem powinny rozpocząć się zawsze od analizy wymagań biznesowych.

Cele powstania aplikacji mobilnej

Pierwszym krokiem jest zdefiniowane celów stworzenia konkretnej aplikacji mobilnej. Niektórzy klienci dokładnie i z dużą szczegółowością przedstawiają swoje wymagania i specyfikację techniczną. Inni mają tylko ogólną wizję i założone cele biznesowe. Należy podkreślić, że oba podejścia są poprawne, a dla każdego z nich istnieją odpowiednie modele współpracy z usługodawcą.

Modele współpracy

Jeśli usługobiorca zna szczegółowe wymagania i chce posiadać bezpośrednią kontrolę nad zespołem – powinien wykorzystać model Team Extension, który pozwala zarządzać pracownikami dostawcy usług. Jeśli natomiast znane są wymagania, ale usługobiorca chce skorzystać z doświadczenia dostawcy usług w celu ich szczegółowego dopracowania – korzysta z modelu Project Outsourcing. Dzięki temu zrealizowane zostają - analiza, projekt i wdrożenie aplikacji. Jeśli określone są tylko cele biznesowe – rekomendujemy współpracę w modelu Project Outsourcing lub Managed Services, po to by dostawca usługi przejął cały proces, od stworzenia modelu biznesowego, poprzez wykonanie projektu, implementację, aż po stałą opiekę i dalszy rozwój aplikacji.

Aplikacje-mobilne-modele-wspolpracy

Modele współpracy


Aplikacja natywna czy cross-platformowa

Zdefiniowanie wymagań warto zacząć od odpowiedzi na kilka pytań. Pierwsze dotyczy wyboru platform, na które tworzymy aplikację - iOS, Android, Windows Phone? Jeżeli usługobiorca zainteresowany jest niemal 100% pokryciem rynku – decyduje się na wszystkie, jeżeli natomiast konieczne jest ograniczenie budżetu – wybiera tylko te kluczowe. Każda platforma jest bowiem inna i wymaga odmiennego podejścia przy projektowaniu funkcjonalności. To specyfika świata mobilnego – projekty mają te same wymagania, ale wynikowe aplikacje są nieco inne. Każda aplikacja jest dopasowana do standardów UI platformy docelowej, dostosowana do oferowanych usług i zaprojektowana w sposób intuicyjny dla użytkowników danego systemu.

Powyższe różnice prowadzą do kluczowego pytania w projektach mobilnych: tworzyć natywnie czy cross-platformowo?

Aplikacje-mobilne-natywne-cross-technologiczne

Programowanie cross-platformowe pozwala stworzyć aplikacje dla wszystkich platform jednocześnie, poprzez jeden projekt z możliwością publikacji na każdej z nich. Zazwyczaj jest to mniej kosztowne i wymaga mniej licznego zespołu. Rozwiązanie takie niesie ze sobą jednak pewne ograniczenia – zdarza się, iż stwarza problemy w wykorzystaniu niektórych funkcjonalności, może ograniczać wydajność i stabilność. To najlepsza technologia dla tych aplikacji, których głównym celem jest prezentowanie użytkownikowi informacji. Funkcje takie jak GPS, aparat, zaawansowane mapy mogą działać niewystarczająco wydajnie i sprawnie.

Tworzenie aplikacji natywnych oznacza, że projekt na każdą platformę przygotowywany jest przez osobny zespół – innymi słowy, przynajmniej jeden programista pracuje nad jedną platformą. Podejście natywne pozwala wykorzystać wszystkie możliwe na danej platformie funkcjonalności, stworzyć aplikację o najwyższej jakości i wydajności oraz dostosować ją do wzorców i dobrych praktyk każdej z platform. Tworzenie aplikacji natywnych jest droższe, ale zawsze daje lepsze rezultaty.

Jeśli konieczne jest wykonanie aplikacji tylko na jedną platformę – na przykład do użytku wewnętrznego w firmie, wiedząc, że wykorzystywana jest tylko platforma Androida – zawsze należy wybrać podejście natywne, ponieważ uzyskana zostanie zdecydowanie wyższa jakość przy porównywalnych kosztach wykonania.

Decyzja co do wyboru sposobu tworzenia aplikacji powinna zawsze zostać skonsultowana z dostawcą usług. Właściwy wybór ma to ogromny wpływ na osiągnięcie założonych celów, całość implementacji, ograniczenia, skład zespołu i budżet projektu.

Integracje zewnętrzne

Aplikacje mobilne zazwyczaj nie działają samodzielnie. Dane znajdujące się w aplikacji są ściągane przez Internet – za pośrednictwem mechanizmu nazywanego API (ang. Application Programming Interface) lub webservice.

Usługobiorca może też posiadać własne systemy i bazy danych, które mają integrować się z aplikacją. Alternatywnie, dostawca usług może stworzyć system zarządzania treścią CMS (ang. Content Management System) działający przez www i umożliwiający łatwą edycję zawartości aplikacji mobilnej w przeglądarce komputera.

Definiowanie logiki aplikacji mobilnej i funkcjonalności

Po ustaleniu bazowych wymagań i podjęciu decyzji o zewnętrznych integracjach, następnym krokiem jest zdefiniowanie logiki aplikacji – funkcjonalności, UX i UI (ang. User Experience i User Interface). W zależności od modelu współpracy, aspekt ten może być zdefiniowany przez usługobiorcę, bądź też może on wyłącznie określić cele biznesowe i ogólną koncepcję aplikacji, a dostawca zaprojektuje finalne funkcjonalności, UX i UI.

Typowe fazy projektowania aplikacji to:
1. Specyfikacja funkcjonalności – opisuje, co powinno znaleźć się w aplikacji, które funkcjonalności są kluczowe, a które opcjonalne. W tym kroku należy też zdefiniować grupę docelową oraz urządzenia, na których aplikacja powinna działać.
2. Interaktywny prototyp UI – w tej fazie powstaje prototyp, prezentujący UX oraz UI aplikacji. Projektant skupia się na tworzeniu ekranów, przejść pomiędzy nimi i ułożeniu elementów UI takich jak przyciski, obrazki, tekst itd. Na tym etapie nie tworzy się finalnego wyglądu, a wyłącznie układ elementów. Tak przygotowany prototyp można poglądowo „przeklikać”, by poznać działanie aplikacji, sposób prezentowania poszczególnych informacji oraz intuicyjność obsługi. Po wstępnym przetestowaniu zlecone zostają poprawki, a następnie ponownie przeprowadzona zostaje weryfikacja wdrożonych zmian. Na tym etapie są one znacznie mniej kosztowne niż ich wprowadzanie po skończeniu pierwszej wersji aplikacji, dlatego dopracowanie projektu przed rozpoczęciem wykonania jest kluczowe.
3. Grafika – kiedy prototyp został już zatwierdzony, ostatnim etapem jest stworzenie finalnej grafiki dla zaprojektowanego układu elementów.

Aplikacje-mobilne-etapy-projektu

Przygotowanie specyfikacji funkcjonalnej, prototypu UI oraz grafiki kończy fazę ustalania wymagań. Następnym krokiem jest zbudowanie zespołu specjalistów, którzy będą realizować projekt i nadzorować zarówno proces tworzenia oraz realizować strategię testowania. Temat Quality Assurance zostanie opisany w następnych artykułach z serii „Jak zbudować perfekcyjny zespół tworzący aplikacje mobilne”.

Przeczytaj drugą część tego artykułu: Jak skutecznie testować aplikacje mobilne

Autorem wpisu jest

Paweł Smagała, JCommerce SA

Delivery Manager, PMO

Z branżą IT związany od 10 lat. Absolwent Wydziału Informatyki Uniwersytetu Śląskiego. Zarządzał projektami z różnych branż, od systemów alarmowych w chmurze do systemów autonomicznej jazdy. Ma duże doświadczenie w prowadzeniu analizy biznesowej, projektowaniu i implementacji aplikacji mobilnych oraz kierowaniu zespołami specjalistów.

Komentarze

  • Aktualnie brak komentarzy.

Skontaktuj się z nami