Jak snížit náklady na vlastnictví IT pomocí… vývoje a provozu aplikací
Ačkoliv spousta z termínů, které s vývojem a provozem aplikací souvisí, zní až příliš technicky, stále spadají do slovníku manažerů pro úspěšně rozhodování.
Mezi takové termíny a pojmy patří refaktorování, automatizace, CI/CD (Continuous Integration, Continuous Deployment) nebo legacy systémy. Tyto oblasti se ale neprojevují pouze v IT rozpočtu. Jsou to faktory, které ovlivňují rizika provozu, kontinuitu nebo schopnost společnosti reagovat na změny.
To, které z těchto a dalších pojmů vyberete, bude mít dopad na dlouhodobou schopnost vaší firmy zůstat efektivní, konkurenceschopní a hlavně v provozu. Za všechny tyto oblasti nese zodpovědnost management, tak se pojďme podívat, jak se ve světě vývoje a provozu aplikací zorientovat z manažerského pohledu.
Základní problém – kontext uvažování
V kostce by se dalo říct, že kontext uvažování v souvislosti s vývojem a provozem aplikací je krátkodobý a segmentovaný.
Proč krátkodobý? – Vývoj aplikace je vnímán jako nákladová položka a projekt. Je na něj vyčleněn určitý čas a rozpočet. Tím to vlastně pro manažery hasne. Jenže problém je v tom, že způsob, jakým je aplikace vyvinuta, má dlouhodobé dopady na efektivitu provozu firmy. Navíc se může stát nástrojem pro snížení nákladů na dlouhodobé vlastnictví a provoz nebo optimalizaci v případě příchodu nových technologií nebo postupů.
Proč segmentovaný? – Manažeři často oddělují vývoj aplikace a její provoz, protože jsou to odlišné nákladové položky. Jenže vývoj a provoz aplikace úzce souvisí. Jak ji nastavíte, tak vám poběží. A to, jak vám poběží, má dopady na fungování všech oblastí vaší firmy a na její přizpůsobivost.
Další dírou v kontextu jsou ještě případné změny. Pokud vedení přijme vývoj a provoz, tak změny v aplikaci už často bývají problematické. Jenže právě schopnost přizpůsobovat interní nástroje měnícímu se technologickému prostředí bude čím dál důležitější schopností firem.
Nejčastější omyly a mýty
A budeme pokračovat. Abychom se dokázali zaměřit na přínosy, které pochopení vývoje a provozu aplikací přináší, nejprve musíme z cesty uklidit několik zásadních omylů.
1. Legacy systém funguje, není třeba ho refaktorovat. -> Funkčnost není efektivita. Na koních se také dá stále jezdit… Je možné, že legacy systém můžete efektivně zprovoznit na moderních technologiích i jiným způsobem, než refaktorováním. Myšlenka je ale stále stejná – změnit způsob provozu legacy systémů na efektivnější variantu.
2. Automatizace CI/CD je technický luxus. -> Ano, pokud žijete před 15 lety. V současné době je to přístup, který umožňuje držet tempo s nutnými změnami. A držet tempo rovná se být schopni přizpůsobit se.
3. Outsourcing je vždy levnější než in-house tým. -> V IT žádná tato absolutní tvrzení neplatí. Aby se dala taková věta použít, je nutné dodat v jakém kontextu, za jakých podmínek a s přihlédnutím k jakým potřebám.
Je nutné nadobro opustit myšlenku, že takhle to vždycky fungovalo nejlíp. Nebo aspoň dobře. Technologický ekosystém se mění takovým tempem, že nelze spoléhat na best practices minulosti. Pomalu totiž přestávají stačit best practices současnosti.
Reálné dopady na firmu
Pojďme si tedy již zmiňované tři pojmy – nyní již oproštěné o základní mýty – promítnout do firemního prostředí a jeho kontextu.
Refaktorování legacy systémů
Pokud firma provozuje legacy systém na hardwaru, pak spotřebovává velkou část rozpočtu na to, aby ho pouze udržela v provozu. Ani nerozvíjela, ani nezefektivňovala, pouze udržovala při životě.
Čím je to dané? Legacy systémy dost často vznikaly v dávné době, kdy se systémy provozovaly na neoptimalizovaném železe. Kromě nákladů na samotný systém se přidávaly ještě náklady na provoz a údržbu fyzické infrastruktury. Ta musela být nadimenzovaná tak, aby pojala budoucí růst systému. A to bez virtualizace a možnosti efektivního využívání výpočetních zdrojů.
Jenže od té doby přišly efektivnější způsoby využívání fyzických výpočetních zdrojů, ale také další koncepty – převážně cloudové – které pomáhají optimalizovat potřebu fyzických zdrojů.
Zůstávat v původním provozním módu tedy znamená ignorovat možnosti optimalizace a snížení nákladů na fyzickou infrastrukturu.
CI/CD
Změny softwaru a jeho záplatování dříve bylo vždy událostí, kdy se čekalo, jak to vlastně všechno dopadne. Změny a opravy se kumulovaly a jednou za čas se vydaly do světa.
Tyto přístupy znamenaly vysoké riziko pro provozuschopnost. Od přípravy, přes testování, nasazování a řešení problémů, tento proces byl složitý a vysoce rizikový.
Pokud ale firma přešla na modernější přístup CI/CD, z obrovských rautů se staly jednohubky. Změny se vydávají častěji, průběžně a s menší zátěží na provoz i implementaci změn. To se pak promítá i do nákladů, protože je možné optimalizovat celý proces změn v systému.
Outsourcing vs. in-house
Toto rozhodnutí není pouze o cenovce. Každý přístup má své výhody, ale každý má také své uplatnění za určitých podmínek. Ty určuje konkrétní situace vaší firmy. Podle priorit, které vaše společnost má, zjistíte, jaký mix interní a externí práce budete vyžadovat.
Pokud je vaší prioritou zachovat si nulovou závislost, pak je tu jasná volba in-house cesty. Ta bude pravděpodobně dražší, ale bude naplno plnit vaše požadavky. Pokud vám jde spíše o nulové investiční náklady, pak se díváte na nutnost outsourcingu.
Bez toho, aniž byste si ale stanovili priority a potřeby, nezjistíte, jak má tento mix ve vašem konkrétním případě vypadat.
Jak změnit perspektivu?
Už jsme odstranili mýty, podívali se na jednotlivé koncepty z globálního pohledu, takže už nám jen zbývá změnit jejich definice tak, aby odpovídaly realitě.
Refaktorování legacy systémů není o změnách a jiném způsobu provozu. Jsou to kroky, které vedou k optimalizaci budoucích nákladů a lepší vybavenosti firmy reagovat na změny na technologickém a technickém trhu.
CI/CD není technické téma. Je to postoj, který pomáhá snižovat rizika a zvyšovat kvalitu změn v systémech.
Kde systém vyvíjet, není otázkou nižší ceny. Je to strategické rozhodnutí, které napomáhá řídit rizika a také nastavit digitální suverenitu podle firemních cílů.
Nejsou to tedy technická, ale strategická rozhodnutí
Není třeba, aby se z vás stal kromě decision-makera i odborník na IT. Je ale nutné pohlížet na technologické koncepty jako na nástroje strategického řízení. Potřebujete rozumět tomu, jak současná rozhodnutí v IT souvisí s technologickým dluhem a jak ho úspěšně minimalizovat pomocí alternativních přístupů.
Nemusí vás zajímat, jak to do detailu funguje, ale potřebujete chápat, jaké dopady mají jednotlivé přístupy nebo nástroje na vaši provozuschopnost a kontinuitu provozu.
Jak se tedy ptát, aniž byste zabředli do technických detailů?
- Kolik provozujeme legacy systémů?
- Kolik nás stojí nyní a jaké máme možnosti dlouhodobě náklady na provoz optimalizovat (i za cenu investice)?
- Jak nasazujeme změny v systému a jakým způsobem to ovlivňuje výši rizika a nákladů?
- Proč využíváme stávající poměr outsourcingu a in-house vývoje?
- Je možné optimalizovat náklady, aniž bychom slevili z našich priorit a potřeb?
Klid a kontrola místo improvizace
Základem všeho, o čem jsme se v tomto článku bavili, je včasné řešení. Pokud si dáte tu práci s průzkumem stávajícího stavu a možností, které poskytují moderní technologie a přístupy, pak najdete takové řešení, které nebude ani improvizací, ani kompromisem, ale vědomým rozhodnutím vedení, které ví, co dělá.