< Zpět na články

Jak ušetřit na vývoji aplikace

Aktualizováno: 14. 2. 2024

Vývoj a údržba aplikací nebo informačních systémů je velká nákladová položka a konečnou cenu aplikace ovlivňuje mnoho faktorů. V Ackee se věnujeme celému procesu tvorby aplikace od její specifikace, přes design a vývoj až po testování. Víme proto, že cesta od nápadu po hotovou aplikaci ve storu je složitá, dlouhá a nákladná. Jak to tedy zařídit, aby vaše aplikace nestála zbytečně mnoho?

Neškrtejte proces, ale scope

Pakliže byste rádi slyšeli, že za účelem snížení nákladů můžete jednoduše škrtnout design nebo testování, bohužel vás hned na úvod zklameme. Z dlouhodobého hlediska se totiž škrtání v procesu vývoje aplikací nevyplatí. Místo toho ale můžete zkusit zredukovat její rozsah.

Začněte tím, že si určíte svoji cílovou skupinu. Kdo bude vaši aplikaci používat a proč? Zkuste popsat, jak takový uživatel vypadá, jaký je a co rád dělá. Zkuste si ho představit. Máte to? A teď si položte otázku, zda tento uživatel opravdu nezbytně potřebuje danou feature. Zhruba takto probíhá user research. Ačkoli se investice do uživatelského průzkumu může zdát zbytečná, ve výsledku vyškrtnutím zbytečných funkcionalit ušetříte daleko víc.

Side note: Pokud se uživatelů zeptáte, zda by se jim nějaká feature líbila, pravděpodobně odpoví ano. Tedy na otázku „Chtěli byste mít možnost poslouchat hudbu v naší nové e-book čtečce?“ pravděpodobně dostanete pozitivní odpověď. Ale na otázku „Posloucháte hudbu při čtení knihy?“ bude dost možná odpověď negativní. 

Obzvlášť v agilním vývoji je totiž lákavé implementovat každou feature, která někoho z týmu napadne. Bezhlavé přidávání funkcí neboli feature creep však vede k nepřehlednému, komplikovanému a těžko použitelnému výsledku. 

dilbert comic strip
Zdroj: https://dilbert.com/strip/2013-02-25

Promyslete si zadání

Už tedy víte, pro koho aplikaci děláte a co by měla umět. Nyní ovšem přichází otázka jak. Několikaslovné zadání designérům a vývojářům obvykle nestačí. Zadavatel je odstíněný od implementačních detailů, ale designéři a vývojáři s nimi musí pracovat. Když tedy řeknete, že chcete třeba vyhledávání, musíte mít promyšleno, jak se aplikace bude chovat v případě, že nic nenajde, nebo naopak pokud najde miliony výsledků. Jednoduché věci často nemají jednoduché řešení, proto je nutné s vaší vizí všechny detailně seznámit. Neznají-li vývojáři vizi, obvykle si vytvoří vlastní, která vůbec nemusí být v souladu s tou vaší.

Řešte věci jednoduše

V jednoduchosti je krása. Jenže jednoduchá řešení není snadné vymyslet. Musíte investovat značné úsilí a samozřejmě i čas na promyšlení všech možností. O to víc, mají-li řešení být univerzální a robustní vůči změnám.

Požadavky se během vývoje často kontinuálně mění a spolu s nimi se komplikují i řešení těchto požadavků. Vytrácí se elegance jednoduchých řešení a aplikace se pro mnoho zúčastněných může stát nepřehlednou. Čím dále ve vývojovém procesu jste, tím je řešení zásadních nedostatků složitější a nákladnější. Logická chyba nalezená až během testování je násobně dražší než chyba nalezená během návrhu aplikace. Všem fázím se proto vyplatí věnovat patřičnou pozornost.

A jak to zařídit?

Nejdůležitější osobou, která všechny uvedené faktory může ovlivnit, je Product Owner (PO). Jeho úkolem je vzít vaši vizi a předat jí vývojářům. To znamená vytvořit pro ně zadání (například v podobě User Stories) a dále s nimi na něm pracovat. V průběhu dokáže určit, co je pro vývoj produktu důležité a co není. Vědět, co od produktu nechcete, je totiž často stejně důležité jako vědět, co chcete.

Zkušený Product Owner vám tedy pomůže sestavit roadmapu projektu, díky které se vyhnete tvoření zmiňovaného feature creep řešení. Bez Roadmapy je agilní vývoj více bloudění než cesta za stanoveným cílem. Celkově tedy bude spojovat business a jeho požadavky s vývojem.

Nepodceňte technologie

Ať už aplikaci vyvíjí interní tým, nebo je vývoj outsourcován externí firmě, pro úspěch každého projektu je nutné mít po boku silného technologického partnera. Vybraný tým může aplikaci přímo vyvíjet a nebo na vývoj pouze dohlížet. Bez zapojení týmu, který je zkušený a silný v technologiích, nicméně budete zbytečně prozkoumávat slepé uličky, což se může nepěkně prodražit. 

Výběru technologického partnera, který bude přímo zodpovědný za technickou kvalitu vaší aplikace, proto věnujte speciální pozornost. Špatná volba může vést k nižší kvalitě výsledného produktu, technologickému dluhu a dalším nákladům. 

Závěr: Jak ušetřit na vývoji aplikace

Na vývoji mobilní aplikace se dá ušetřit různými způsoby, ne všechny však dávají z dlouhodobého hlediska smysl. Pokud chcete snižovat náklady chytře, dobře si promyslete, pro koho a za jakým účelem aplikaci vlastně vytváříte. Vložte úsilí do návrhu aplikace a upřednostňujte jednoduchá řešení. Pokud si čímkoli nejste jistí, investujte do zkušeného Product Ownera, který vám s celým procesem pomůže. 

Pokud se rozhodnete pro spolupráci s externím týmem, vyberte si partnera, kterému můžete plně důvěřovat. Během celého procesu vývoje aplikace vám totiž bude zdrojem mnoha cenných rad, na co si dát pozor nebo jak naložit s různými technologickými problémy. Budete-li se těmito doporučeními řídit, pravděpodobně ušetříte čas i peníze, které byste jinak v budoucnu museli vynaložit na nápravu neuvážených rozhodnutí.

Marek Elznic
Marek Elznic
QA Team Lead

Máte zájem o spolupráci? Pojďme to probrat osobně!