V tomto komentáři si dovolím navázat na téma aplikační modernizace, které je zmíněno formou pozvánky.
Co to vlastně je taková aplikační modernizace, kdo ji potřebuje a co vlastně přinese?
V Etneteře vyvíjíme a provozujeme software již pěkných 25 let, a tedy můžeme naživo pozorovat, jak moc se tento obor mění. V některých případech překvapivě málo a někde raketovou rychlostí. A pozorujeme, jak se techniky a metodiky platné pro internetové aplikace přenášejí i do podnikových systémů, kde je potenciál k modernizaci největší.
Dnes se v kombinaci s aplikační modernizací skloňuje vliv AI, lowcode/nocode a cloudizace. Je to pravda, ale ne celá, navíc trochu zaměňuje příčinu a následek. Cloud je odpovědí na potřebu aplikační modernizace, nikoliv její příčinou.
Tou příčinou je dle mého názoru prostý fakt, že software je čím dále složitější a používá jej více lidí ve stále více případech. To platí jak ve společnosti obecně, tak ve firmách. Software se stává kritickou součástí fungování společnosti. A současně je tak komplexní, že je vhodné k jeho vývoji a provozu přistupovat podstatně jinak než před deseti lety. To firemní IT spravovalo pár ajťáků, a když to chvíli neběželo, svět se nezbořil.
Abychom získali delší perspektivu, zkusím téma trochu odlehčit citací z legendárního textu “Real Programmers Don't Use Pascal”, který koluje po internetu od jeho vzniku.
„ … Někteří nejděsivější ze všech opravdových programátorů pracují v Kalifornii v Jet Propulsion Labs. Mnozí z nich znají celý operační systém kosmických lodí Pioneer a Voyager zpaměti. …” zdroj
A na jiném místě se pak zmiňuje pochopení kódu programu o 200 tisících řádků.
To je pěkná vzpomínka na doby dávno minulé. Ale jak velké jsou vlastně programy dnes? Mrkněte na tuto fascinující – byť také starší vizualizaci – vizualizaci:
Jedno je z ní zřejmé na první pohled. S každou další generací se složitost programů znásobí. To samé se děje s programy používanými ve firmách, e-shopech, s webovými aplikacemi a dalšími mobilními aplikacemi. O komplexnosti systémů typu software automobilu nebo velké cloud infrastruktury ani nemluvíme.
Opravdový programátor schopný pochopit kód o 200 tisících řádcích je nám dnes většinou k ničemu. Potřebujeme tým mnohem méně schopných „pojídačů tvarohových koláčů“, kteří ale umí dohromady spolupracovat. A navíc musí pochopit, že tím hlavním je uživatel, který nikdy z principu nedokáže dostatečně přesně popsat své potřeby. A tak je nutné naučit se vyvíjet agilně a přistoupit na hru inkrementálního zlepšování a trvalé změny.
Zcela novou kapitolou jsou zaměstnanci/uživatelé z generace mileniálů a mladších. Ti již vyrostli trvale připojeni a používají velmi kvalitní globální aplikace s odladěným UX. To samé chtějí a vyžadují i po pracovních nástrojích.
Další zásadní změnou je provoz – zejména firemní software fungoval pro omezené skupiny uživatelů. Nyní se dostáváme do módu, kdy je otevřen v principu všem ve firmě odkudkoliv v módu 24/7, což přináší extrémní výzvy z pohledu spolehlivosti a bezpečnosti řešení.
Změnila se i samotná role softwaru v organizacích, které adaptují principy data driven rozhodování a masivní automatizace. Najednou můžeme digitalizovat prakticky všechno. Jde jen o to najít za tím funkční business case. A tak objem dat, který chceme vidět, zpracovat, analyzovat a použít, roste exponenciálně.
V neposlední řadě se zcela zásadně změnil samotný princip vývoje softwaru, který se demokratizuje. Samotná práce vývojáře se již léta posouvá ze samotného kódování k propojování větších a větších aplikačních celků, využívání nástrojů na generování částí kódu. Potřebu hluboké specializace nahrazuje na jedné straně nutnost širokého rozhledu, včetně pochopení businessu, a na druhé straně potřeba takto vzniklé výstupy efektivně testovat, provozovat a monitorova. Do opasku nástrojů se přidávají věci do nedávna nevídané, jako je třeba finanční optimalizace cloudového provozu. AI toto jen zrychlý.
A právě o tom je aplikační modernizace. Neznamená to jen přesunout funkce do cloudu. Je to modernizace role IT v dnešních firmách, změna celého toolsetu, principů fungování a mindsetu. Trochu s nadsázkou lze pak říci, že je to i opuštění zažité legendy o opravdových programátorech. A nahrazení novým hrdinou, který na rozdíl od opravdových programátorů je týmovým hráčem a přijímá s pokorou změny.