Před zahájením vývoje a zejména v jeho průběhu se většina klientů v myšlenkách upíná k okamžiku, kdy si od vývojářů konečně vysněný software převezmou. Po překonání všech výzev při návrhu a tvorbě kýžené aplikace skutečně přichází chvíle úlevy a nadšení z finální podoby IT řešení. Bylo by krásné žít ve světě, kde by tímto celý příběh skončil a aplikace po převzetí běžela dlouhé roky bez větších zásahů sama od sebe. Ve skutečnosti je tomu však právě naopak: Dokončením vývoje to pravé dobrodružství teprve začíná!
Odpověď na otázku „Co se děje s vaším softwarem po vývoji?“ záleží jednak na tom, s kým na vývoji spolupracujete, a jednak na vašich obchodních cílech a ambicích. V dnešním článku vám proto nabídneme náš pohled na to, co vše by se mělo po dokončení vývoje s vaším softwarem stát. Díky vlastním dlouholetým zkušenostem nejen z oblasti IT, ale i z byznysu víme, že aby mohla aplikace (a potažmo i celá firma) skutečně uspět, musí se neustále vyvíjet, přizpůsobovat novým technologiím a trendům a posilovat své zabezpečení. Provoz softwaru je zkrátka během na dlouhou trať, který vyžaduje vytrvalost a ochotu jít s dobou.
Když mají naši vývojáři po týdnech či měsících intenzivní práce konečně hotovo a otestováno, přichází na řadu zkušební provoz. Jeho délka činí zpravidla 30 dní, během nichž si klient může v plném rozsahu vyzkoušet funkčnost softwaru a ověřit, zda neobsahuje vady. V tomto období má klient možnost nás na případné nedostatky upozornit, abychom je co nejrychleji odstranili.
Na co všechno by se měl klient ve zkušebním provozu zaměřit? Především na běžné scénáře použití – tedy na to, zda systém uživatelům skutečně umožňuje dosahovat jejich cílů. Funguje generování reportů, export faktur a automatické vytváření objednávek tak, jak má? Mohou uživatelé efektivně provádět všechny požadované akce? Naplňuje aplikace svůj celkový účel? Zapojení koncových uživatelů v této fázi je velmi vítané, protože právě oni budou se softwarem ve styku nejčastěji a mohou odhalit problémy, kterých si testeři nevšimnou.
Dále by si měl klient ověřit funkčnost integrací s ostatními systémy (ať už vlastními, nebo třetích stran). Pokud má být aplikace propojena se stávajícím systémem CRM či ERP, musí přenos dat probíhat spolehlivě a bez zpoždění. Je mnohem lepší odhalit případné chyby ve zkušební fázi než v ostrém provozu.
Od věci není ani vyzkoušet si aplikaci ve více prostředcích a na různých zařízeních. IT řešení by mělo bezvadně fungovat na všech platformách, které klient při vývoji požadoval (počítače, tablety, mobilní telefony).
Zjištěné vady a nedostatky, které se nepodaří v průběhu zkušebního provozu odstranit, budou následně uvedeny ve zvláštním písemném záznamu (tzv. „akceptační záznam“). Tento dokument s podrobným výčtem a popisem zjištěných nedostatků nám klient předá nejpozději do skončení zkušebního provozu. Naši vývojáři podle něj systém co nejdříve vyladí do podoby, která bude plně odpovídat zákaznickým požadavkům.
Důležitým, ale často opomíjeným aspektem vývoje softwaru je otázka autorských práv a licencí. Jinými slovy: Co všechno můžete s vyvinutým softwarem dělat? Jaké možnosti jeho zpeněžení se vám nabízejí? Lze licenci postoupit třetí osobě?
Český autorský zákon (č. 121/2000 Sb.) neumožňuje vzdát se osobnostních práv na autorství díla jako takového ani je na někoho převést. Pokud si u nás objednáte vývoj softwaru, převedeme na vás veškerá práva k užívání díla, včetně jeho zpeněžení, další distribuce, úprav a jakéhokoli jiného nakládání. V praxi je to stejné, jako kdyby byl software zkrátka váš.
Na vyvíjené produkty standardně udělujeme nevýhradní licenci po dobu trvání majetkových práv. To znamená, že části kódu, který napíšeme pro vás, můžeme v budoucnu použít i při práci na jiných aplikacích pro jiné klienty. A stejně tak vaše aplikace může obsahovat části kódu (byť upravené a přizpůsobené konkrétním požadavkům) z jiných projektů.
Výhodou nevýhradní licence je nižší cena. Někteří klienti mohou trvat na udělení výhradní licence, která zaručí, že vyvinutá aplikace bude jedinečná a žádné její části se neobjeví nikde jinde. Tomuto postupu se nebráníme, ale je nutné počítat s o něco vyšší cenou.
Co se týká dalšího postoupení licence nebo udělení podlicence třetí osobě, nejsou naši klienti v tomto ohledu smlouvou nijak omezeni. Licenci lze postoupit i se všemi oprávněními pro užívání díla ve stejném rozsahu, v jakém můžete dílo používat vy sami.
Kvalitní software vyžaduje kvalitní dokumentaci. Navrhnout a vyvinout technicky bezvadné a funkční IT řešení je jedna věc, ale bez systematicky a přehledně zaznamenaných informací ohledně jeho používání a údržby může zůstat potenciál softwaru nevyužitý.
My v Think Easy proto klademe velký důraz na vypracování uživatelských příruček, technických manuálů a školicích materiálů. Jedině tak lze zajistit, že vaši zaměstnanci budou umět systém efektivně používat a vytěží z něj maximum. Důkladně zaškolení uživatelé znamenají méně problémů a vyšší návratnost vaší investice.
Uživatelské příručky popisují všechny funkce systému, ovládací prvky uživatelského rozhraní a postupy provádění uživatelských akcí doplněné o snímky obrazovek a praktické příklady. Lze v nich uvést také nejčastější případy použití a scénáře nebo časté dotazy a tipy pro odstraňování běžných problémů. Případně je možné integrovat online nápovědu přímo do softwaru.
Technická dokumentace slouží administrátorům a IT týmu k pochopení toho, jak celý systém funguje. Jedná se o doplňující text, který popisuje jednotlivé činnosti programu, postup instalace, architekturu systému, konfigurační parametry a bezpečnostní nastavení. Dále může obsahovat i dokumentaci k rozhraní API (je-li systém napojen na další služby), schéma databází nebo postupy zálohování a obnovy. Precizní technická dokumentace pomůže předejít celé řadě provozních problémů, bezpečnostních rizik a požadavků na podporu.
Na přání klienta nabízíme i praktická školení přizpůsobená na míru různým uživatelským rolím, a to jak přímo na pracovišti, tak na dálku online. Tato investice se rozhodně vyplatí, jestliže například zavádíte nový celopodnikový systém a potřebujete mít jistotu, že přechod nezpůsobí snížení produktivity a neohrozí vaše obchodní cíle. Naši experti vaše zaměstnance efektivně zaškolí, předvedou jim funkce nového softwaru, nechají je si vše vyzkoušet na vlastní kůži a odpoví na veškeré dotazy.
Jak jsme již připomněli v úvodu článku, správa a provoz vlastního softwaru je vytrvalostní disciplína. Stejně jako se dynamicky proměňuje vaše podnikání, musí se časem vyvíjet a přizpůsobovat novým požadavkům také vaše IT řešení. Ať už jsou změny motivovány zpětnou vazbou uživatelů, nebo vašimi byznysovými cíli, jedno je jisté: Bez průběžných aktualizací a rozšiřování o nové funkce vaše aplikace v drsné konkurenci neobstojí. Podívejme se nyní na to, jakými způsoby budeme o vaši paku „pečovat“ i po dokončení vývoje.
Možností, jak váš software posouvat stále dál, je celá řada. Zvýšení výkonu dosáhnete například automatickým škálováním a vyvažováním zátěže (load balancing) na základě využití CPU/paměti nebo vlastních metrik. Nasazením load balancerů (AWS ELB, NGINX Ingress) lze rovnoměrně distribuovat zátěž tak, aby se předcházelo tzv. bottleneckům (problematickým místům). Dalším efektivním opatřením je implementace CDN nástrojů jako Cloudflare či AWS CloudFront pro zobrazování statického obsahu a médií.
Svou aplikaci můžete rozšířit o nové funkce také integrací s dalšími systémy a službami – a to jak s vlastními, tak se systémy a službami třetích stran. Rozhraní API představují vysoce efektivní a dostupný způsob, jak uživatelům ve vaší apce nabídnout pestrou škálu doplňkových funkcí a služeb bez jediného řádku kódu navíc. Napojením na platební bránu zase můžete zvýšit výnosy z provozu softwaru.
Hlavním předpokladem pro to, abyste své IT řešení mohli průběžně rozšiřovat a přestavovat skoro jako stavebnici, je škálovatelná architektura. Ta je typická pro přístup Cloud Native, který vývojářům umožňuje „poskládat“ vaši aplikaci z na sobě navzájem nezávislých služeb. Toto modulární uspořádání přináší značné výhody právě ve chvíli, kdy se rozhodnete svůj software rozšířit o nové funkcionality, prvky či služby. Systém si snadno poradí i se skokovým nárůstem provozu a zůstane po celou dobu vysoce dostupný.
Pravidelné aktualizace jsou zásadní pro hladký uživatelský dojem z vaší apky a její bezvadné fungování. Zahrnují opravy chyb, optimalizaci výkonu a zajištění kompatibility s novými technologiemi. Řadu těchto úloh lze dnes již efektivně automatizovat – například prostřednictvím nástrojů CI/CD pipeline (GitHub Actions, GitLab CI, Jenkins, …). Služby jako Prometheus, Grafana nebo Datadog vám zase pomohou s monitorováním změn v reálném čase po nasazení a upozorní vás na případné chyby.
Pokud chcete svou strategii aktualizací posunout na další úroveň a minimalizovat riziko sebemenšího narušení uživatelského dojmu, můžete aktualizace nasazovat podle Blue-Green konceptu. Aktualizace se tak nejprve „na zkoušku“ použijí pouze pro určitý vzorek uživatelů nebo malou část infrastruktury. V případě problémů lze okamžitě provést rollback do původního stavu a potíže s konkrétní aktualizací odstranit. Každou změnu si tak můžete napřed bezpečně vyzkoušet, než ji implementujete pro všechny uživatele nebo pro celou infrastrukturu.
Otázka kybernetické bezpečnosti je vzhledem k univerzálnímu rozšíření cloudových systémů palčivější než kdy dřív. Mnozí uživatelé sice oceňují komfort a praktičnost cloudových úložišť, ale zároveň je znepokojuje riziko úniku dat. Je však tato obava skutečně na místě?
Kybernetické hrozby se neustále vyvíjejí, proměňují a přizpůsobují novým technologiím. Pravidelné aktualizace zabezpečení a aktivní monitorování rizik jsou tedy nepochybně součástí provozu jakékoli aplikace i po jejím dokončení a předání. Nedostatečné zabezpečení softwaru může ohrozit celou firmu, a proto mu věnujeme maximální pozornost.
Provádíme například pravidelné bezpečnostní audity, při kterých důkladně procházíme všechny vrstvy zabezpečení, kontrolujeme jejich aktuálnost, testujeme je a výsledky dokumentujeme. Pokud zjistíme nedostatky, nasazujeme bezpečnostní záplaty a odstraňujeme zranitelná místa.
Dbáme i na často podceňované prvky strategie zabezpečení, jako jsou školení a workshopy pro zaměstnance, na kterých se věnujeme nejnovějším kybernetickým hrozbám a rizikům. Metody útočníků, jak získat přístup k citlivým údajům, jsou čím dál rafinovanější. Pokročilé možnosti umělé inteligence (deepfake atd.) tyto problémy ještě prohlubují, takže je maximálně důležité zůstávat v obraze (a ve střehu).
Každý software časem zastarává. V dnešní době lze – vzhledem k rychlosti technologického rozvoje – dokonce říct, že začíná zastarávat již v okamžiku zveřejnění. Ačkoli to na první pohled nezní příliš povzbudivě, dobrou zprávou je, že tato nepříjemná pravda se může snadno stát výzvou, která bude vaše IT řešení (a tím pádem i váš byznys) posouvat stále dál.
Pokud si necháte software vyvinout u nás, budete mít jistotu, že vám naši experti pomohou předcházet tzv. technologickému dluhu pravidelnou modernizací a optimalizací kódu. Garantujeme, že si vaše aplikace zachová konkurenceschopný výkon, maximální úroveň zabezpečení a kompatibilitu s novými technologiemi podle vašich potřeb.
Pojem technologický dluh označuje situaci, kdy vývojáři při tvorbě kódu volí rychlá a zdánlivě snazší řešení namísto těch správných. Lidově řečeno jdou cestou menšího odporu, což sice může přinést okamžitou časovou úsporu, avšak dlouhodobě to může znamenat například:
Jak jsme již naznačili na začátku této kapitoly, modernizace nemusí být jen nutné zlo. Pokud ji vlastníci firem a IT řešení uchopí za správný konec, může se stát v mnoha ohledech příležitostí, jak získat konkurenční výhodu:
Investice do průběžné modernizace se vám tak nakonec vždy bohatě vrátí v podobě nižších nákladů, vyšší spokojenosti uživatelů a delší životnosti softwaru.
Jak sami vidíte, vývojem a předáním softwaru vše teprve začíná. Provoz, údržba a neustálé vylepšování aplikace je dlouhodobý závazek, který vyžaduje chuť učit se a zdolávat pořád nové výzvy. Pokud se na této cestě můžete navíc opřít o spolehlivého a profesionálního partnera, který dokonale chápe nejen vaše technologické, ale i byznysové potřeby, můžete každou zdánlivou překážku proměnit v jedinečnou příležitost, jak konkurenci odskočit zase o krok dál.
My v Think Easy jsme si dobře vědomi toho, jaká odpovědnost a odhodlání se pojí s provozem vlastní aplikace. Uvědomujeme si, že úspěšným vývojem IT řešení nic nekončí – pokud má váš byznys trvale růst, musí s ním držet krok i váš software. Nabízíme vám proto pestrou škálu služeb i v období po vývoji, abyste se vždy měli na koho obrátit. Neváhejte nás kontaktovat prostřednictvím našeho formuláře a domluvte si nezávaznou schůzku s našimi projektovými manažery.