Jak probíhá vývoj mobilních aplikací krok po kroku?
Vývoj mobilních aplikací je složitý proces, a tak jsme se jej rozhodli trochu rozebrat a přiblížit. A to rovnou s tím nejpovolanějším...
Vývoj mobilních aplikací je složitý proces, a tak jsme se jej rozhodli trochu rozebrat a přiblížit. A to rovnou s tím nejpovolanějším, CEO SYNETECHu, Vratislavem Zimou.
Doufáme, že podrobný popis celého procesu vývoje od nápadu až po údržbu aplikace vám přemýšlení nad mobilní aplikací usnadní – ať už jste ve fázi zvažování nebo jste s její tvorbou někde uprostřed.
Co se dozvíte?
- Jak přemýšlet nad vývojem mobilních aplikací a kterých chyb se vyvarovat?
- Proč vyvíjet produkt s nejmenší možnou funkcionalitou?
- Proč je stěžejní ověřovat nápad?
- Jaká je cesta uživatele aplikací?
- Že se zadání produktu často v průběhu času mění?
- Kdo na vývoji mobilních aplikací pracuje?
- Kdo je Product Owner a proč je jeho role stěžejní?
- Co se děje po uvedení aplikace na trh?
- Jak se vypořádat s chybami při tvorbě aplikací?
- Komu vývoj mobilní aplikace svěřit?
Jak přemýšlet při přípravě projektu
Než tvorba aplikace vůbec začne, je nutné si zodpovědět pár otázek. Často totiž přeskočení tohoto kroku vede ke čtyřem základním chybám, které mohou aplikaci totálně pohřbít ještě dříve, než její vývoj vůbec započne.
1. chyba při vývoji mobilních aplikací – vágní definice
Nejprve si je třeba říci, že klienti mají různé úrovně znalosti softwaru, a to je zcela v pořádku. Snažíme se proto vycházet vstříc a korigovat často zkreslené představy. Nezřídka se stává, že za námi přijde lajk a chce „vyvinout aplikaci typu Uber“. Je přirozené, že se v dnešní době širší veřejnost zajímá o to, kolik vlastně vývoj mobilních aplikací stojí. Bohužel však takto definovanou poptávku nejsme schopni nacenit.
2. chyba při vývoji mobilních aplikací – nereálné představy o nákladech
Vývoj aplikací se dá stále považovat za novou disciplínu, proto je normální, že se cenové představy o tvorbě aplikace s realitou zásadně rozcházejí – tedy, že aplikace jako Uber či Facebook vyvíjejí obrovské týmy lidí mnoho let a vývoj stál miliony eur.
To povětšinou potencionální klient nemá, a tak se snažíme tento proces otočit a spíše se ptáme, k čemu takovou aplikaci potřebuje a snažíme se vymyslet takové řešení, se kterým by byl zadavatel spokojený a nejednalo by se o vyhazování peněz oknem.
3. chyba při vývoji mobilních aplikací – máte své „proč“?
Stává se nám také, že klient naopak přijde s velmi konkrétní představou – třeba, že chce aplikaci, kde bude jezdit po mapě autíčko, protože to bude uživatele bavit… Ale bude tomu skutečně tak? Předtím, než začneme s vývojem aplikace, tak si klademe otázku, proč by ji uživatelé měli používat. Každá aplikace musí mít svůj smysl, jinak nemá význam jí tvořit.
Každý nápad na mobilní aplikaci, nevyvíjím-li ji s kamarády na koleně, by měl myslet byznysově. Jinými slovy, je nutné vědět, kdo bude aplikaci používat, mít jasný byznys plán, popř. plán monetizace.
S validací nápadu už dokážeme pomoci a snažíme se definovat MVP (minimum viable product – produkt s nejmenší možnou funkcionalitou), což je to nejmenší možné jádro produktu, se kterým může koncový zákazník interagovat a na kterém lze zjistit, zda bude vůbec mít pro uživatele přidanou hodnotu.
4. chyba vývoje aplikace – je aplikace opravdu potřebná?
Velmi často se totiž stává, že klient má aplikaci do detailu promyšlenou a ví přesně, že ji uživatel potřebuje… Jenže se ho na to nezeptal. V takovém případě my poté zjišťujeme, kdo je onen uživatel a proč by měl službu využívat. Standardně klienti říkají, že uživatel může být kdokoliv, což je ale z principu špatně. Uživatel musí být jednoznačně definovaný a ideální je k němu vytvořit tzv. persony, do kterých se klient i my můžeme vžít pokaždé, když vymýšlíme novou funkci aplikace.
Přípravná fáze je tedy pro vývoj mobilních aplikací zcela klíčová a je nutné věnovat jí dostatečnou pozornost. Pokud jste narazili na to, že některé z otázek ujasněné nemáte, neváhejte se na nás obrátit, rádi s vámi probereme, zda se vůbec do tvorby aplikace pouštět a jaká úskalí je potřeba pro její správné zadání vyřešit.
Určitě potřebujete mobilní aplikaci?
Aneb krása produktu s nejmenší možnou funkcionalitou.
Krása tzv. MVP mimo jiné spočívá v tom, že se v této fázi vůbec nemusí vyvíjet mobilní aplikace a tím pádem zjistíme, zda je tato platforma vůbec potřeba. Leckdo by asi mohl namítnout, že si tím bereme byznys, ale pokud projekt prostě nedává smysl, ať už ekonomicky, nebo co se přidané hodnoty týče, je lepší jej prostě nedělat.
MVP může být například webová stránka, na kterou uživatelé reagují a my tak máme možnost začít tvořit uživatelskou skupinu, se kterou můžeme komunikovat a zjišťovat, zda už dává smysl například i ona mobilní aplikace.
V momentě, kdy známe jádro (základní funkce aplikace), problém, jeho řešení a máme cílovou skupinu, plnohodnotný vývoj může začít.
Mimochodem, základní uživatelská skupina je opravdu důležitá věc, dává nám zpětnou vazbu, podle které můžeme vše upravovat a tím se nabaluje čím dál širší skupina uživatelů, která má podobné zájmy a společně budujeme produkt, který je postavený na tom, že ho opravdu někdo chce.
Co všechno vývoj aplikace zahrnuje?
Představa, že samotným vývojem mobilní aplikace celý proces začíná a končí, je mylná. Záleží samozřejmě na tom, kdo si co pod „vývojem" představuje. Je to náročný proces, který obsahuje:
- analýzu trhu,
- přípravu k pochopení potřeb uživatelů,
- práci UX designera, který společně s cílovou skupinou a klientem modeluje podobu produktu,
- validaci zadání,
- programování,
- opět validaci, tentokrát samotného software produktu,
- testování,
- umístění do virtuálních obchodů,
- správu a rozvoj software produktu atd. atd.
Ideální je mít také dotazníky nebo hloubkové rozhovory a pravidelně ověřovat, že směr, kterým jdeme je správný a cílová skupina produkt vezme za svůj.
Proč je stěžejní neustále ověřovat nápad?
Validace s uživateli má dva dopady. Nejenom díky ní víme, že vývoj mobilních aplikací jde správným směrem, ale také postupně budujeme uživatelskou základnu. Lidé už přesně vědí, co produkt bude dělat a také jej budou používat, protože ho pomáhali formovat. Jsou zatažení do příběhu i produktového vývoje, a jejich nadšení přináší další nové uživatele.
V praxi to třeba fungovalo s jedním naším klientem z Velké Británie, který připravoval nový produkt a svolal 6 vývojářů k třídennímu workshopu. Věděl, co bude jeho výstupem a co vymyslíme, ale chtěl, abychom se sladili a pochopili produkt. Posbíral si od nás zpětnou vazbu, odjel si vše zvalidovat s cílovou skupinou (dotazníky asi pro 500 lidí) a přijel zpět s pozitivní reakcí. My tak začali s designem a on opět průběžně dělal kolečka validací, tentokrát už jen s 10 vybranými uživateli. Validace typicky obnáší to, že vybraní uživatelé mají možnost proklikat prototyp podle zadaných úkolů a zadavatel hned ví, jaké jsou reakce a co je třeba upravit. Nakonec přijel a chtěl, abychom vytvořili user stories (specifikace jednotlivých dílčích funkcí) pro vytvoření první cesty uživatele aplikací.
Jaká je cesta uživatele aplikací?
Pojmy user stories a user journey jsou pro nás hodně důležité. Pokud nevíme, jaká je cesta uživatele aplikací, tak vůbec nevíme, co uživatel na webu či v aplikaci bude dělat. Ve zkratce se jedná o obecné přemýšlení nad průchodem produktem, co v něm uživatel může dělat a co z toho získá.
Je dobré se zamyslet i nad způsobem, kterým se uživatel do mojí aplikace nebo na web dostane a s jakým očekáváním. Pokud přijde z PPC nebo banneru, který ho nalákal např. na získání nějaké nové vědomosti, tak bude hledat právě tuto vědomost a pokud ji nenajde, bude zmatený (či rovnou naštvaný). Musí mít jasnou cestu, kterou projde a ta by měla být měřena a potvrzovat či vyvracet, zda je správně definovaná a uživatel nebloudí.
Například máte-li e-shop a chcete prodat zákazníkovi skrze reklamu pračku, tak poté, co přijde do aplikace, musí být pračka na 3 kliky koupená. Při vývoji aplikace a návrhu cesty uživatele se tedy musíme vcítit do cílové skupiny, porozumět jí a mluvit jejím jazykem.
Vývoj mobilních aplikací může začít…téměř
Než samotný vývoj mobilních aplikací začne, je důležité mít na paměti, že se jedná o proces, který se v průběhu času a vývoje nevyhnutelně mění. Návrh aplikace prakticky nikdy není stejný jako finální produkt a pokud přece jen ano, jedná se o malou aplikaci třeba na měsíc vývoje.
V praxi tvorba plnohodnotné appky trvá mnohem déle a produkt se logicky přizpůsobuje aktuální situaci. Důvodem je validace s cílovou skupinou, díky její interakci se totiž začnou ukazovat postupem času důležitější jiné věci, než které nám připadaly na začátku vývoje. Často se tedy stává, že upravujeme, odebíráme nebo přidáváme celé sekce aplikace podle zpětné vazby. Tím se mění i tzv. scope, tedy velikost aplikace, počet funkcí i cena výsledného produktu.
Pokud chcete detailněji porozumět faktu, že tvorba mobilní aplikace je proces a ne dílo, sepsali jsme pro vás na jedno místo přehledně informace, která se vám budou hodit, zadáváte-li vývoj mobilní aplikace poprvé.
Před samotným vývojem je pak také stěžejní definovat si vývojářský tým, do kterého vždy chceme zapojit člověka na straně klienta. Je také důležité shodnout se s klientem na vzhledu produktu a rozpočtu a pak už nic nebrání začít s vývojem.
Kdo na vývoji mobilních aplikací pracuje?
Pokud nechcete, aby váš projekt neskončil ještě dříve, než začne, je důležité si uvědomit, že se nejedná o individuální projekt, nýbrž týmovou práci. A tak si pojďme říci, kdo všechno se navývoji mobilních aplikací podílí.
Pokud je to mobile first projekt, tedy, že jádrem projektu je aplikace, tak je ideální mít 2 lidi na vývoj jak pro iOS, tak Android. Jeden je seniornější, druhý středně zkušený, to vše, aby existovala zastupitelnost, kontrolovali se navzájem a dokázali si práci předávat. Na backend serverové řešení jsou ideální také 2 lidé a na vývoji se tedy kompletně podílí 6 lidí, kteří jen programují.
K tomu potřebujeme koordinaci, takže projektového manažera a ideálně do projektu zapojit i testery, protože klientům zásadně neposíláme věci, které začnou na různých zařízeních padat nebo mají bugy. Vše tedy protestujeme lidmi, kteří mají zkušenosti a dokážou v projektu chyby vidět a najít.
To už jsme tedy na týmu o velikosti 8 lidí jenom za SYNETECH:
- 6 developerů,
- 1 projektový manažer,
- 1 tester minimálně,
- a Product Ownera ze strany klienta.
Product Owner je zástupce klienta ale stává se i součástí vývojářského týmu - dělá rozhodnutí a přijímá zodpovědnost. Pokud klient není u vývoje, mohou se jeho představy lišit od našich, proto je tato role pro nás tak důležitá.
Celkem je tedy do středně velkého projektu zahrnuto 9 lidí, proto je cena vývoje aplikace často překvapivá.
Jaká je role tzv. Product Ownera?
Při vývoji mobilních aplikací komunikujeme primárně s Product Ownerem (zkráceně PO), člověkem, který na vaší straně vývoj mobilní aplikace „vlastní“ a nese za něj zodpovědnost.Stakeholder (investor nebo váš nadřízený) by měl informace vědět také, jemu ale většinou stačí pravidelné reporty nebo informace od Product Ownera. Product Owner by v praxi měl ideálně 60 % svého času být „v terénu“ a ověřovat, že naše nápady uživatelé akceptují a že je aplikace funkční. 40 % času pak tráví PO s dev týmem - je součástí denních 15 minutových synchronizačních schůzek (tzv. stand-upů) a účastní se i plánovacích schůzek na nadcházejících 14 dní (tento časový úsek se nazývá sprint) a určuje priority. Projektový manažer na naší straně pak z toho výstupu vyspecifikuje úkoly, podle kterých probíhá vývoj.
Komunikace s Product Ownerem funguje tedy velice intenzivně a měl by spolu s projektovým manažerem na naší straně mít k sobě extrémně blízko a vědět, co ten druhý zrovna dělá. Product owner se ideálně také zajímá o to, jestli mají vývojáři s něčím problémy, v jaké jsou psychické kondici a naopak projekt manažer musí vědět, jaké jsou výsledky uživatelských testů, co Product Owner vymyslel, jaké jsou priority a co je důležité.
Role PO je nesmírně složitá - musí pochopit, jak funguje softwarový vývoj a co je pro tým důležité a obětovat mu čas. Často si klienti myslí, že jenom zadají aplikaci, za pár měsíců bude hotovo a mohou se v průběhu věnovat jiné činnosti. To je vždy složité na začátku vydefinovat, a tak se snažíme najít kompromis. Pokud ve vašem týmu osobu vhodnou pro tuto roli nemáte, zastává tuto funkci náš projektový manažer. Neděláme to rádi, protože vaši firmu nebo váš produkt znáte nejlépe vy, zadavatelé. Můžeme se tak minout v prioritách a očekáváních. Nalezení vhodného člověka pro vývoj aplikace na vaší straně je pro efektivní a zdařilý vývoj aplikace zásadní.
Co se děje po umístění aplikace do virtuálních storů?
Releasem aplikace a oslavou úspěchu celý proces zdaleka nekončí.
Setkali jsme se už s takovými klienty, kteří si mysleli, že na aplikaci po vydání už nemusí 50 let nikdo sáhnout… Což se ale naštěstí proměňuje. Lidé už chápou, že je třeba údržba aplikací a jejich aktualizace.
Často údržbu aplikace ale chápou v tom smyslu, že budeme přidávat další funkce, které uživatelé budou chtít, jenže ono by to mělo být spíše obráceně - klient by měl být šťastný, když se funkce ubírají, protože je důležité produkt ořezávat a co nejvíce jej pro lidi zjednodušovat.
Ideální scénář je, že po 2 měsících máme první MVP aplikace, uživatelé se na něj těší, vědí, že se chystá a po testování s beta skupinou, pouštíme aplikaci ven. Jsme ve fázi prvního releasu první verze a musíme být připraveni na dost silný negativní i pozitivní ohlas a že se může dost lišit od toho, co uživatelé obecně chtějí.
Zásadní jsou v tomto směru analytické nástroje (mít rozmyšleno, co chceme sledovat za metriky), které necháme běžet aspoň měsíc a sbíráme zpětnou vazbu (review ve storech apod.).
Na základě toho pak děláme další verzi. Je však ideální mít funkce rozmyšlené už na začátku a tento proces brát jenom jako jejich ověření a pokračovat dál s vývojem.
Po zveřejnění první verze aplikace tedy proces vývoje zdaleka nekončí. Obvykle potřebujeme mít domluvený plán pro její údržbu a další vývoj. Aplikace, která je ověřená, nepodléhá už tak dynamickým změnám, ale údržbu a aktualizace vyžaduje také. Obvykle to řešíme podpisem tzv. SLA (anglicky: Service Level Agreement – smlouva o dlouhodobé údržbě systému), kdy se zavazujeme k tomu, že dlouhodobě zajistíme hladký běh systému.
Jak se vypořádat s chybami při tvorbě aplikací?
Chyby se při vývoji mobilních aplikací prostě stávají,jak už jsme výše několikrát zmínili, tvorba mobilní aplikace je proces a ne dílo a je tedy nutné se vypořádat s věcmi, se kterými se původně nepočítalo. Spousta chyb se však dá opravit updaty, což je nesmírně důležitá věc. V digitálním světě se vše vyvíjí kupředu mílovými kroky, a to samé platí pro operační systémy.
Je proto nezbytné počítat s tím, že je nutné držet aktuální i vaší aplikaci a pravidelně ji updatovat.
Zjednodušeně by se dalo říci, že pokud není čas, aby se každý měsíc aplikace vylepšovala a aktualizovala, po pár měsících z nějakého důvodu prostě přestane fungovat… Je to jako zanedbat servis například u automobilu, který bez něj bude také ve špatném stavu, jen se v IT světě tyhle věci projeví mnohem rychleji. Počítáte-li ale s údržbou aplikace jako fixním nákladem, zastarání softwaru ani chyby vás trápit nemusí.
Komu svěřit vývoj mobilní aplikace?
V krátkosti – agentura vás nevyšplouchne.
Jeden z klientů s námi například sdílel zkušenost, kdy poptal na práci freelancera, který mu ale po roce odešel na jiný projekt. Výhoda firmy, jako je třeba ta naše spočívá v zastupitelnosti, jako jednotlivci vyvíjíme hodně podobně, a tak nemocného člena týmu zastoupí vedle sedící kolega klidně z hodiny na hodinu a stejně se v projektu bude orientovat.
Další výhodou je projekt management a testování, koneckonců je důvod, proč tyto role máme. Když si klient vezme freelancera, tak je to většinou vývojář, se kterým vůbec nedokáže komunikovat, nějak vyvine aplikaci podle svého, ta se ale pak ani neotestuje, takže produkt padá, nebo rovnou vypadá hrozně.
My jakožto firma máme projekt manažera, který rozumí programátorům a vše jistí testeři, kteří jsou poslední zárukou toho, že nevydáme něco nefunkčního.
Navíc nabízíme i produktové konzultace, máme 5 let zkušeností s technologickým řešením (proto i řešíme MVP a jak k produktu přistupovat z hlediska uživatele), prošly nám rukama tisíce mobilních aplikací, víme, co (ne)funguje, a tak můžeme dávat i byznysová doporučení.
Pokud vás zajímá problematika, komu zadat vývoj svého vysněného software produktu, do hloubky, sepsali jsme výhody a nevýhody různých typů vývojářských studií v článku: Zadáváte vývoj mobilní aplikace poprvé? >>
Potřebujete vývoj mobilních aplikací?
Poznejte nás detailněji na našich stránkách nebo se nám rovnou ozvěte pro konzultaci, pomůžeme i s vaším projektem.