Tvorba aplikace a jiného softwaru
Od nápadu k realizaci
Máte skvělý nápad na mobilní aplikaci? Nebo potřebujete vytvořit nový software, případně rozšířit stávající informační systém o nějakou další část, ale nevíte, jak myšlenku realizovat? Pak se pohodlně usaďte a začtěte se do našeho článku, ve kterém jsme pro vás sepsali vše, co potřebujete vědět.
V článku jsme pro vás připravili doporučení, jak se připravit na vývoj softwaru. Dozvíte se, jaké kroky realizovat a čím si ušetříte zbytečné starosti. Protože postup pro zavedenou firmu, která má zkušenosti s projekty, potřebné prostředky a vybudovanou organizaci je jiný než postup pro startup, věnujeme se oběma typům zvlášť.
Následující řádky jsou platné pro středně velké či větší společnosti, ale mohou být inspirací i začínajícím startupům či menším firmám.
- Manažerský popis toho, co chcete vyvíjet
- Jasně definovaný cíl (proč to chcete vyvíjet)
- Znalost uživatelů, jejich náplň práce v souvislosti se systémem a jejich potřeby.
Průběh návrhu
Existují dvě možnosti. Můžete mít konzultační firmu, která vás celým návrhem provede, a vy následně předáte svému dodavateli softwaru kompletní zadání. Druhá možnost je, že vám návrh zpracuje přímo váš dodavatel. My jakožto dodavatel upřednostňujeme druhou variantu, protože naším cílem je poskytovat klientům komplexní služby, které jsou 'šité na míru'. Pokud dostaneme od klienta jeho vlastní zadání, nemusí být pro nás dostatečnou specifikací a my pak provádíme detailní analýzu i návrh znovu, abychom si byli jistí, že vyvíjíme přesně to, co klient potřebuje.
Úvodní prezentace dodavateli - představení celého projektu
Úvodní schůzka slouží k představení vaší vize. Zde byste měli dodavateli předat veškeré informace týkající se záměru, cíle, procesů a také znalosti uživatele - viz odstavec Popis záměru a cíle. Z naší praxe vyplývá, že čím podrobnější informace od klienta obdržíme, tím lépe jsme schopni určit rámcovou cenu za vyvíjený software. Naší výhodou je, že na úvodní schůzky nechodí obchodníci, ale rovnou odborníci, kteří dokážou již při tomto prvotním setkání poskytnou zpětnou vazbu a jsou tak přínosem od prvního okamžiku.
Dodavatel navrhne plán projektu
Na základě získaných informací navrhne dodavatel plán projektu a rámcovou cenu (případně cenové rozpětí). Schopnost určit cenové rozpětí je důležitá, aby bylo hned na počátku zřejmé, zda se cenové možnosti klienta shodují s finanční náročností realizovaného projektu. Kromě odhadů finanční a časové náročnosti plánujeme v tomto kroku také termíny schůzek s pracovníky, se kterými potřebujeme o projektu komunikovat (je potřeba zmapovat, o jaké pracovníky se jedná). Následně klientovi předáme informace týkající se doby projektové fáze a také odhad doby vývoje (přesný čas potřebný na vývoj jsme schopni klientům říci ve chvíli, kdy je projekt hotový.
Probíhají interview, dodavatel dává dohromady požadavky
Ve třetím kroku realizujeme naplánované schůzky a dáváme dohromady veškeré požadavky na vyvíjený software, které se průběžně odsouhlasují. Běžnou praxí je, že my na základě analýzy a diskusí s uživateli sami doporučujeme, jakou funkcionalitu by měl klient požadovat.
Dodání kompletního katalogu funkčních a nefunkčních požadavků
Dodavatel vytvoří kompletní katalog, který obsahuje veškeré funkční a nefunkční požadavky za jednotlivé oblasti systému. Funkční požadavky popisují chování vyvíjeného softwaru a bývají popisovány pomocí tzv. user stories a use cases, což zjednodušeně představuje popis chování uživatele v systému a řešení jednotlivých případů, jak je uživatel bude pomocí systému řešit.. Doplňkem k funkčním požadavkům jsou tzv. nefunkční požadavky, které popisují další vlastnosti, jako jsou například požadavky na zátěž, výkonnost apod.
Detailní návrh systému
V této fázi již navrhujeme samotný systém a tento návrh s klienty průběžně komunikujeme. Klient v rámci detailního návrhu systému obdrží také tzv. wireframy, které si můžete představit jako nákres jednotlivých obrazovek vyvíjeného softwaru. Díky wireframe má klient možnost vidět například rozložení prvků a funkcionalitu budoucího softwaru. Detailní projekt obsahuje kompletní popis navrhovaného softwaru vč. příslušného katalogu požadavků a případných diagramů, které bývají běžnou součástí projektu.
Zpětná vazba k návrhu systému
Zpětná vazba je důležitá nejen od manažera projektu, ale také od příslušných uživatelů. Mohlo by se zdát, že stačí účast manažera projektu, ale v praxi se setkáváme s tím, že manažer nemá zcela přesné povědomí o činnostech různých pracovníků a přesné informace o procesu (z pochopitelných důvodů). Proto je třeba velmi dobře zmapovat, kdo všechno by se měl zpětné vazby účastnit, aby byla co nejpřínosnější. Existují případy, kdy má manažer perfektní povědomí o procesech a činnostech pracovníků, pak není potřeba, aby se zpětné vazby účastnil ještě někdo jiný. <br/> <br/> Pokud je software vyvíjen pro zaměstnance, zpětná vazba se získává snadno. Pokud se ale řeší například tvorba aplikace pro uživatele, který nesedí ve firmě (pro zákazníka apod.), doporučujeme našim klientům, aby si vzali návrh a otestovali ho přímo s potenciálními uživateli. Získání zpětné vazby od uživatelů je důležité získat ještě před tím, než půjde software do vývoje.
Prototyp a uživatelské testování
Na základě zpětné vazby bývá vytvořen prototyp, který je určený k uživatelskému testování. Existují různé fáze prototypu. Buď může být vytvořen v rámci wireframů – klient vidí obrázky, může si kliknout na tlačítko a má možnost vidět, jak bude systém/aplikace vypadat. Nebo je vytvořen živý prototyp, který už vypadá a také se chová jako aplikace/systém, jen nepracuje s ostrými daty. Když uživatel daný software přímo vidí a event. si jej může také osahat, lépe a snadněji identifikuje, co potřebuje jinak (případně jaké funkce postrádá). Díky prototypu se tak dá předejít mnoha problémům, které by mohly vzniknout až po nasazení softwaru. V praxi se stává, že uživatelé zvyklí na určitý způsob fungování softwaru se brání změnám, které jsou spojeny s učením se něčeho nového. Abychom toto zmírnili, snažíme se aplikovat uživatelskou adaptaci, jejíž součástí je aktivní využití prototypu. Máme dobré zkušenosti s tím, že když jsou uživatelé zapojeni do vývoje a testování nového softwaru, přechod na nový systém je snazší a bez zbytečných třecích ploch. Ideální je, pokud jsou uživatelé součástí vývoje již ve fázi projektu, kde mají možnost vyjádřit, co jim ve stávajícím softwaru chybí nebo nevyhovuje.
Stanovení harmonogramu a ceny
V posledním kroku návrhu je stanoven harmonogram vývoje daného softwaru, cena vývoje softwaru a také například plán migrace dat i případné organizační změny.
Pro zjednodušení budeme u níže uvedených informací používat jako příklad vývoj mobilních aplikací, ale informace jsou platné pro vývoj jakéhokoliv softwaru. Než se dostaneme ke konkrétním krokům, které vás provedou vytvořením správného zadání, budeme se chvilku věnovat rozdílům mezi jednotlivými typy startupů.
V praxi se setkáváme se třemi základními typy klientů:
- Vše o nápaduTeď už se dostáváme k tomu, čemu musíte věnovat pozornost, aby byl vývoj vašeho softwaru úspěšný a bez zbytečných průtahů nebo dokonce ztrát. Čím detailněji popíšete váš nápad, tím lépe. Kromě nápadu jako takového by měly být také definovány jeho přínosy a v neposlední řadě také zdroj ziskovosti. Otázky, které vám pomohou definovat přínosy: Komu a v čem váš software pomůže? Pro koho je určený? Důležité otázky týkající se ziskovosti: Kde, kdy a kolik se vám začne z vaší investice vracet? Co se týče motivace realizace vašeho nápadu, nemusí jím nutně být generování zisku. Vaším cílem může být získání (generování) uživatelů a penetrace na trhu pro možný pozdější odprodej projektu. Mobilní aplikace s počtem uživatelů získává na hodnotě, takže jí od vás může následně někdo koupit a doplnit tak své stávající portfolio. Všechny tyto informace spojené s vaším nápadem je potřeba sepsat, aby bylo možné s nimi pracovat a maximálně je vytěžit.
- Znalost budoucích uživatelůBez znalosti budoucích uživatelů je cesta k úspěchu velmi trnitá (ne-li přímo nemožná). Pokud se v dané oblasti pohybujete dostatečně dlouho, znáte chování i potřeby uživatelů, máte o starost méně. Stačí všechny tyto znalosti sepsat. Jestliže o budoucím uživateli nemáte příliš velké povědomí, je třeba o něm veškeré potřebné informace zjistit. Pokud byste začali vyvíjet například mobilní aplikaci pro uživatele, o kterých toho moc nevíte, vystavujete se riziku, že o váš nápad nebude zájem - ne proto, že nebyl dobrý, ale protože způsob jeho realizace nebude vyhovující pro vaši cílovou skupinu.
- Znalost trhuSe znalostí trhu je to stejné jako se znalostí budoucích uživatelů. Větší šanci na úspěch má ten, kdo se pohybuje na trhu mnoho let a má znalost daného odvětví. Pokud máte s trhem jen minimální zkušenost (nebo žádnou), doporučujeme si přizvat někoho, kdo potřebné znalosti a zkušenosti má.
- NDA (non-disclosure agreement) neboli dohoda o mlčenlivostiDohoda o mlčenlivosti neboli NDA může být ožehavou částí spolupráce mezi zadavatelem a dodavatelem. Není ideální chtít po vašem potenciálním dodavateli, aby podepisoval NDA, které obsahuje přemrštěné požadavky či smluvní pokuty. Tím si potenciálního dodavatele odradíte hned v úvodu, protože žádný dodavatel nebude chtít podstupovat takovéto podmínky, navíc když se jedná o fázi, kdy spolupráce není ještě zcela zaručena. Tím neříkáme, že nemáte NDA řešit vůbec. Například u nás v iQuestu máme pro naše klienty zpracovanou standardní dohodu o mlčenlivosti, kterou vytvořili naši právní zástupci a kterou běžně podepisujeme.
- Konkurenční analýzaPomocí konkurenční analýzy je možné popsat výhody navrhovaného softwaru oproti systému, který vytvořila konkurence. K tomu můžete využít např. jednoduchou tabulku, která má na ose X vlastnosti vašeho budoucího systému a na ose Y má seznam konkurenčních produktů. Takto si přehledně definujete, kde se vlastnosti prolínají, které jsou lepší nebo naopak horší oproti konkurenci. <br/> <br/> Tento nástroj vám také pomůže eliminovat případné riziko zbytečně vynaložených prostředků. Může se totiž stát, že na základě konkurenční analýzy zjistíte, že konkurence už takový systém vyvinula a že nápad není tak inovativní, jak se mohlo na první pohled zdát. Právě díky konkurenční analýze tuto skutečnost zjistíte dříve, než investujete do samotného vývoje softwaru.
- Úvodní odhad nákladů na vývojV tomto kroku přichází na řadu odhad nákladů na vývoj softwaru/aplikace. Dodavatel vám v této chvíli s největší pravděpodobností nebude schopen říci přesnou částku, ale sdělí vám rozpětí, ve kterém se budou náklady na vývoj pohybovat. Budete mít tedy jasnou představu o tom, zda se budou pohybovat v řádech statisíců nebo milionů. Čím preciznější zadání a detailnější popis všech aspektů týkajících se softwaru budete schopni svému dodavateli dát, tím lépe a přesněji bude schopen odhadnout výši nákladů na vývoj vašeho softwaru.
- Popis marketingu a tržní penetraceVelmi důležité je také vědět, jakým způsobem budete aplikaci šířit. Samozřejmě by bylo skvělé, kdyby stačilo aplikaci vyvěsit na Google Play a ona by byla k dispozici po celém světě, ale tak snadné to není. Mezi prostředky pro vývoj mobilních aplikací patří i náklady na marketing, protože rozšířit aplikaci po celém světě je finančně nákladná záležitost. S rozšířením do dalších zemí totiž mimo jiné souvisí potřeba jazykových mutací a také zákonné rozdíly v různých zemích (týkající se například sběru osobních údajů). Proto našim klientům doporučujeme zvolit postupné šíření aplikace – nejdříve v rámci města, pak regionu a následně na úrovni celého státu. S tímto procesem také souvisí nutnost naplánovat náklady na marketing a promyslet marketingovou strategii, která vaši aplikaci dostane k cílové skupině uživatelů.
- MVP (minimal viable product) - minimální produktJe možné (někdy přímo nezbytné) začít s málem. Tím málem je MVP - produkt s nejmenší možnou funkcionalitou. V praxi to vypadá následovně: Je vytvořena aplikace (MVP) jejíž vývoj stojí například 500 tis. Kč. Tato aplikace se dá k dispozici uživatelům, díky čemuž dojde k ověření, zda mají uživatelé o produkt zájem. Dalším přínosem je získání cenné zpětné vazby. Pokud se aplikace osvědčí, přistoupí se k dovyvinutí dalších funkcionalit. Tento postup našim klientům vřele doporučujeme, protože díky němu se minimalizují rizika spojená s neúspěchem dané aplikace. Více o tom, proč váš startup potřebuje MVP, se dočtete v článku na našem blogu.
- Návrh verzí - postupný vývojNasazení MVP proběhlo úspěšně, o vaši aplikaci je zájem a tak přichází na řadu rozšiřování vaší aplikace o další funkcionality. I v tomto kroku doporučujeme našim klientům, aby vývoj aplikace pokračoval ve verzích (postupné rozšiřování) a ne celé najednou. Důvody jsou stejné jako u nasazení minimálního produktu.
- Agilní vývojAgilní vývoj softwaru probíhá v tzv. sprintech (celý vývoj je rozdělen do několika sprintů/cyklů). Po dokončení každého sprintu přichází na řadu odsouhlasení klienta před tím, než se začne pracovat na dalším cyklu. Díky tomu je snadné měnit požadavky na vývoj softwaru na základě zpětné vazby od uživatelů. To je hlavní důvod, proč našim klientům doporučujeme tento model vývoje.
- Důraz na uživatelské testováníUživatelé jsou ti, kteří v konečné fázi rozhodují o úspěchu či neúspěchu vyvíjené mobilní aplikace. To je také důvod, proč klademe velký důraz na uživatelské testování. Díky uživatelskému testování máte možnost získat zpětnou vazbu, díky které můžete pokračovat vývoji úspěšné aplikace, která vám přinese kýžené výsledky.
- Standardní vývoj + marketingVývoj aplikace je proces, který vám přinese realizaci vašeho snu / skvělého nápadu. Hotovou aplikací celý proces nekončí, protože neméně důležité je, aby se dostala k uživatelům. Proto je nezbytné mít připravenou marketingovou strategii. Bez ohledu na to, jaké marketingové kanály (reklama ve storech, PPC, tisk, televize apod.) využijete, musíte mít kromě strategie také jasně definovaný rozpočet na marketingové aktivity.
Provedeme Vás vývojem od začátku až do úspěšného konce
Návrh produktu, ověření záměru, konkurenční analýza
Buďte s námi od prvního nápadu. Máme zkušenosti, máme nápady, orientujeme se.
Funkčnost, design, uživatelský komfort
Děláme software funkční, krásný a snadno použitelný. Vše pro Váš úspěch.
Zkušený a sehraný vývojářský tým
Specialisté na architekturu, backend, frontend, layout a database. Aby Váš software byl robustní a stabilní.
SEO a online propagace Vašeho produktu
Pomůžeme Vám s prosazením Vašeho online produktu na trhu.