Proč se ptát, co se bude dít
Většina majitelů firem, se kterými se bavíme o vlastní aplikaci, neřeší technologie. Řeší jednu obavu: podepíšu smlouvu, tři měsíce se nic neděje a pak dostanu něco jiného, než jsem chtěl. A do té doby nemám, jak to poznat.
Odpověď na tuhle obavu není slib, že „jedeme agilně". Je to konkrétní rozvrh: kdy co uvidíte, co v tu chvíli schvalujete a kde se dá zabrzdit. Tenhle článek je přesně takový rozvrh, rozebraný na součástky. Pět fází a mezi nimi čtyři místa, kde rozhodujete vy, ne my.
Fáze 1: Discovery, kde se rozhoduje o rozsahu
Začínáme intenzivní sesí s vámi a s lidmi, kteří budou aplikaci doopravdy používat. Ne s prezentací technologií, ale s otázkou, jak práce probíhá dnes. Kde se informace přepisují ručně, co se řeší telefonem, kde vznikají chyby a co konkrétně vás nejvíc brzdí.
Z toho vybereme tři až pět klíčových scénářů, které musí aplikace zvládnout v prvním vydání. Zbytek jde do seznamu „později". Tohle je nejdůležitější rozhodnutí celého projektu a padá dřív, než se napíše řádek kódu: čím užší je první vydání, tím dřív se vrátí investice a tím míň se stihne zaplatit za funkce, které nakonec nikdo nepoužije.
Na konci fáze dostanete zmapovaný současný stav, rozsah prvního vydání, odhad ceny a času a seznam rizik, která vidíme.
Rozhodovací bod 1: rozsah a rozpočet. Když v tuhle chvíli řeknete ne, zaplatíte discovery a nic víc — a odnesete si popsaný proces, který má hodnotu i bez nás.
Fáze 2: Prototyp, první věc, kterou si osaháte
Prototyp je proklikatelná aplikace s realistickými daty. Ne obrázek, ne wireframe. Kliknete, projdete objednávku od začátku do konce a hned víte, jestli takhle vaše firma funguje, nebo ne. Jak takový sprint vypadá hodinu po hodině, jsme rozepsali v článku Prototyp vaší aplikace za 48 hodin.
Tady se nejčastěji ukáže, že zadání a představa nesedí. To je dobrá zpráva, protože prototyp nemá backend ani produkční kód — přestavět ho stojí hodiny.
Rozhodovací bod 2: směr. Po prototypu se dá otočit směr, přeskládat priority, odložit vydání nebo projekt ukončit. Zaplaceno máte discovery a prototyp, tedy dny práce, ne měsíce.
Fáze 3: Vývoj po dvoutýdenních sprintech
Teprve tady vzniká produkční kód. Vývoj jede ve dvoutýdenních cyklech a každý z nich končí stejně: funkční verzí na testovací adrese, kterou si projdete, a půlhodinovým hovorem nad tím, co je hotové a co má být na řadě příště.
„Hotové" u nás znamená konkrétní věci, ne pocit:
- funkce prošla revizí druhého vývojáře,
- je pokrytá automatickými testy, aby ji příští změna nerozbila (proč to děláme právě takhle, rozebíráme v článku o E2E testování bez bolesti),
- je nasazená na testovací prostředí, kde si ji můžete osahat,
- prošla kontrolou přístupů a citlivých dat — u kódu psaného s pomocí AI to platí dvojnásob, jak popisujeme v článku o bezpečnosti AI generovaných aplikací.
Od prototypu k první ostré verzi to takhle typicky trvá šest až dvanáct týdnů.
Fáze 4: Nasazení za plného provozu
Nejrizikovější fáze není programování, ale den, kdy má tým přestat pracovat po staru. Ukážeme to na projektu Siegl kontejnery, pro který jsme stavěli dispečerský systém pro svoz kontejnerů.
Zadání znělo zbavit dispečink ručního plánování. Trasy vznikaly v tabulkách a na papíře, změny se řešily telefonem a informace o zakázce žila na několika místech zároveň.
Jenže firma nemohla přestat jezdit. Systém se nasazoval za plného provozu a lidé, kteří ho měli používat, znali svoje trasy zpaměti. Nepřepisovali jsme proto jejich způsob práce, ale nejdřív ho popsali a teprve pak digitalizovali. Aplikace musela být použitelná od prvního dne, ne až po měsíci školení.
Výsledek po nasazení: dispečeři sestavují trasy v jednom systému místo tabulek a poznámek, nová objednávka ze zákaznického webu padne rovnou do plánu bez ručního přepisování a lepší využití kapacit umožnilo pokrýt vyšší objem zakázek beze změny počtu lidí.
„Řešení od Softero našim dispečerům výrazně zjednodušilo každodenní plánování tras. Nový systém nám umožnil rychleji reagovat, optimalizovat kapacity a zvládnout více zakázek s menším úsilím." — Lukáš Assmann, vedení společnosti Siegl kontejnery
Rozhodovací bod 4: akceptace. Předem si odsouhlasíme seznam toho, co musí platit, aby se vydávalo — konkrétní scénáře, ne dojem. Dokud neplatí, nevydává se.
Fáze 5: Provoz a rozvoj
Vydáním projekt nekončí, jen se mění tempo. Prvních třicet dní po spuštění máte podporu zdarma, protože právě tehdy se najde většina drobností, které se v testovacím provozu neukázaly. Pak se pokračuje podle toho, co potřebujete: sledování chyb a výkonu, drobné úpravy podle zpětné vazby od lidí z provozu a další vydání z toho seznamu „později", který vznikl už v discovery.
Kolik času to vezme vám
Tohle je otázka, na kterou se ptá málokdo a mrzí to skoro každého. Reálně počítejte s:
- jedním dnem na úvodní workshop v discovery,
- dvěma až třemi hodinami na projití prototypu, ideálně s lidmi z provozu,
- zhruba dvěma hodinami každé dva týdny na demo a rozhodnutí o prioritách,
- jedním až dvěma dny na akceptační testování před vydáním.
Bez toho projekt nejede rychleji, jen si dodavatel domýšlí, co jste asi chtěli.
Kde se projekty nejčastěji zadrhnou
Za dobu, co tohle děláme, se opakují tři důvody. Žádný z nich není technický:
- Rozhodovatel není u stolu. Když se každá odpověď schvaluje přes prostředníka, dvoutýdenní sprint se protáhne na měsíc.
- Rozsah, který nikdo neřekl nahlas. „Ještě fakturace, to je detail" v páté fázi není detail, ale nový projekt.
- Data ze starého systému. Nejpodceňovanější položka každého rozpočtu. Kvalitu a formát dat řešíme proto už v discovery, ne týden před nasazením.
Co vám na konci zůstane
- zdrojový kód ve vašem Git repozitáři, bez vendor lock-inu,
- dokumentace architektury a API,
- automatizované testy a nasazovací pipeline,
- provozní přístupy vedené na vaši firmu, ne na dodavatele.
Uvažujete o vlastní aplikaci a chcete si projít, jak by tenhle rozvrh vypadal u vás? Podívejte se na vývoj softwaru na míru nebo nám rovnou napište, první konzultace je nezávazná.
Časté otázky
Kdy můžu projekt zastavit?
Po každé fázi. Nejlevnější jsou první dva rozhodovací body, tedy po discovery a po prototypu, kdy máte zaplacené dny práce místo měsíců. Zastavit se ale dá i mezi sprinty, protože každý sprint končí nasazenou funkční verzí.
Co když se v půlce projektu změní priority?
To je běžné a proces s tím počítá. Priority se přeskládají na konci sprintu, tedy nejpozději za dva týdny. Změna rozsahu se promítne do odhadu času a ceny, což si odsouhlasíme dřív, než se do ní pustíme.
Jak dlouho trvá, než uvidím první funkční verzi?
Proklikatelný prototyp vidíte během prvních dnů, první ostrou verzi typicky za šest až dvanáct týdnů od schválení prototypu. Záleží hlavně na rozsahu prvního vydání a na tom, kolik dat se migruje ze starého systému.
Co když budeme chtít pokračovat s jiným dodavatelem?
Kód, dokumentace i nasazovací pipeline jsou od začátku ve vašem repozitáři a provozní přístupy vedeme na vaši firmu. Předání je tak otázkou odebrání našich přístupů, ne vyjednávání.

