Jak přistupovat k vývoji robustního SW řešení?

Každá společnost, která se pouští do vývoje softwarového řešení, má jiné možnosti a očekávání. Dokonce i dvě firmy, které mají stejné zaměření i velikost, mohou mít úplně jiné potřeby vzhledem k odlišnému fungování, procesům, kultuře, začlenění do existujícího ekosystému či různým finančním možnostem.

Dnes si posvítíme na vývoj robustních řešení. Ta jsou diametrálně odlišná od MVP projektů, které se vyvíjejí za účelem získání rychlé zpětné vazby od uživatelů. Pro potřeby tohoto článku robustními řešeními myslíme softwarové aplikace a integrace, které vychází z velmi konkrétních potřeb a požadavků větších klientů, a které si musí především umět poradit s technicky i businessově náročnějšími úkoly.

Abychom byli konkrétnější, s potřebou vývoje robustního řešení se setkáváme u firem, které…
  • mají spoustu zákazníků či uživatelů a jejich báze neustále roste,
  • pracují s velkými objemy dat,

  • mají rychlost odezvy systémů, výpočtu či zpracování dat jako hlavní prioritu,

  • kladou maximální důraz na bezpečnost, protože pracují s citlivými daty a údaji,

  • potřebují vysokou spolehlivost systému, protože si nemohou dovolit jeho výpadek,

  • jsou v situaci, kdy integrují velké množství různých systémů, u kterých je důležitý spolehlivý přenos dat a komunikace napříč různými technologiemi.

Může se jednat například o interní systémy řídící komplexní kritické procesy. Nebo klientské aplikace pro zákazníky, kteří firmám svěřují své citlivé údaje a spoléhají na jejich bezpečí. Nutnost investice do robustního řešení se tak nevyhýbá např. sektoru zdravotnictví, logistiky, energetiky, financí, bankovnictví, pojišťovnictví, telekomunikací a dalších.

Pro plynulý chod firemních procesů, ale i udržení pozice na trhu, je robustní řešení mnohdy nevyhnutelné. To je dáno stále náročnějšími požadavky či vznikem specifických potřeb. To, že firma potřebuje vysoce individualizované řešení, je však mnohdy dobrým znamením, protože dosahuje stabilního růstu.

C-Suite Meetup vol. 3

Jak na digitální řešení, které ustojí vaše ambice.

Přijďte diskutovat s námi a našimi hosty. Načerpejte inspiraci z networkingu při dobré snídani a obědu.

19. září, 9:00 - 13:00
INVENTI, Praha 4

Pro dokreslení problematiky si představme příběh klienta ze sektoru logistiky. Firma na začátku potřebovala vytvořit důležité softwarové řešení, které umožní optimalizovat doručování a zajistí zkvalitnění poskytovaných služeb. Postupem času se však ukázalo, že původní řešení nebude dlouhodobě stačit. Objem zásilek a požadavků na rychlost doručení narostl, a tak bylo nutné řešit výkonnost a stabilitu systému. Bylo tak třeba nasadit robustnější architekturu a způsob technologického řešení aplikace.

Analytická část

Vývoj robustního softwarového řešení začíná uvnitř firmy. Ta musí umět rozpoznat moment, kdy stávající systém začíná dosahovat svých limitů a brzdí růst firmy. Jakmile se pro změnu rozhodne, je zapotřebí projít analytickou částí procesu. Díky ní totiž můžeme předejít spoustě komplikací, které by mohly vyvstat za chodu.

Příprava na vývoj robustního softwarového řešení je tedy klíčová. Na základě našich zkušeností můžeme potvrdit, že jedním z nejdůležitějších prvků celkového procesu je pak jasně popsaná vize. Pokud klient nedefinuje svou vizi a dlouhodobou ambici dostatečně, může zkomplikovat budoucí vývoj. Při přípravě je důležité zaměřit se na hloubkovou analýzu, kde jasně definujeme, co od projektu očekáváme a čeho chceme dosáhnout.

Analytická fáze zahrnuje sběr a analýzu dat, přesnou identifikaci potřeb uživatelů, ale také představu o budoucím provozu a výkonu systému. Nejde pouze o technický pohled, ale také o pochopení firemního kontextu a jejího budoucího směru.

Příprava však ne vždy proběhne naprosto hladce. Už při ní totiž můžeme narazit na mnohé výzvy například ve formě nových požadavků, o kterých jsme původně neměli ponětí. V některých případech se také může ukázat, že byly původní představy nereálné. Velmi důležitá je tedy flexibilita, otevřenost změnám a především schopnost transparentně komunikovat o nastalých situacích.

Analýza je klíčem k úspěšnému vývoji robustního softwarového řešení, odemyká totiž tvorbu přesného plánu. Správné podchycení této klíčové fáze staví základ pro robustní a skutečně efektivní softwarové řešení.


Realizace

Po definování vize a sofistikované analýze přichází fáze realizace. Ani perfektní plán však neznamená, že máme vyhráno. I v tomto kroku totiž můžeme dospívat k novým poznatkům, ale také překážkám. Firmy bez technicky silného zázemí nebo schopného IT partnera se pak mnohdy dostanou do slepé uličky.

Co je potřeba při této fázi brát na vědomí?

Jedním ze zásadních principů, které nás provedou touto fází, je flexibilita a adaptabilita. Schopnost reagovat na nové výzvy a měnící se požadavky je klíčová pro úspěšné dokončení projektu. 

Aby bylo řešení dlouhodobě udržitelné, je také potřeba počítat s neustálým růstem dat. Vždy volíme takové technologie, u kterých jsme si jistí, že umožní jejich efektivní zpracování a uchovávání.

Na paměti mějte také nutnost řešení patřičně zabezpečit. Hackeři jsou stále vychytralejší, na bezpečnost jsou tedy neustále kladeny větší nároky. Je třeba dodržovat regulace a normy jako například GDPR nebo NIS2, které se týkají zpracování dat a zajištění soukromí uživatelů.

Dále se při vývoji robustního softwarového řešení mohou objevit výzvy spojené s interní integrací na další systémy a procesy v rámci firmy. Zajištění správné komunikace a propojení mezi různými částmi systému je tedy zásadní pro jeho úspěch.

Naší adaptabilitu prověřil například projekt vývoje velmi komplikované aplikace, u které se při průběžných kontrolách a testech ukázalo, že zvolené řešení nebude zvládat zátěž tak, jak celý interní proces vyžaduje. K výzvě jsme se postavili čelem – do projektu jsme zahrnuli hned několik expertních týmů, které synergicky pracovaly na nápravě. Ve výsledku nás tedy tato komplikace inspirovala k ještě lepšímu výsledku.

Další fáze rozvoje

Při vývoji robustního softwarového řešení projekt nekončí u nasazení do provozu. Skutečný test spočívá v tom, jak se systém udržuje v průběhu času. Zákazníci často nepředpokládají, že budou muset do nově vytvořeného systému dále intenzivně zasahovat. Další rozvoj je však nezbytný pro stabilní udržování vysoké kvality, funkčnosti a naplňování stanoveného business cíle.

Aktualizace a podpora

Stále se měnící technologické prostředí vyžaduje pravidelné aktualizace. Je nutné neustále aktualizovat využívané nástroje, platformy, knihovny a technologie. Když organizace tento bod zanedbává, některé prvky systému mohou přestat fungovat správně – tak nastávají problémy s novými verzemi databází a technologií. Zdravá technologická kondice je klíčová pro zajištění dlouhodobé stability a výkonu softwarového řešení.

Dynamika růstu a přizpůsobení

Vycházíme z předpokladu, že firma se neustále vyvíjí a roste. To znamená, že i softwarové řešení se musí přizpůsobit novým potřebám. To, co fungovalo před několika lety, už může být dnes pasé. Je tedy neustále potřeba monitorovat změny v tržním i technickém prostředí.

Změna legislativy a regulace

Změny v legislativě a regulacích jsou dalším faktorem, který může mít vliv na softwarové řešení. Legislativa i regulace se mohou měnit, a tak musí být systém schopen tyto změny rychle zohledňovat a dodržovat. Bezpečnostní standardy, ochrana osobních údajů a další regulace ze strany státu je třeba neustále monitorovat a implementovat

Do třetice si uvedeme ještě jeden příklad z praxe. Pro jednoho z našich klientů jsme vytvořili custom řešení ve chvíli, kdy by za určitých okolností byla daná situace řešitelná i jiným a možná méně náročným způsobem. S postupem času však firma narostla do takových rozměrů, že se naprosto proměnily její potřeby a jiné než custom řešení by takovou zátěž nezvládlo. I zde jsme se však  museli na vzniklou situaci patřičně adaptovat. Určité procesy ve firmě bylo třeba upravit a následně proto uzpůsobit i samotný systém a jeho výkonnost.
Tato situace ukazuje na jedno z klíčových ponaučení: firma může „snadno“ dospět do stavu, kdy je robustní a komplikované custom řešení tou nejlepší cestou. Těšíme se ze všech zkušeností, kterých jsme za 12 let nabyli – a pokud jste se i vy dostali do bodu, kdy ve vaší společnosti uzrává myšlenka na vývoj robustního řešení, neváhejte se na nás obrátit.