Šest klíčových trendů pro oblast vývoje softwaru

Šest klíčových trendů pro oblast vývoje softwaru

Zdroj

Šest klíčových trendů pro oblast vývoje softwaru bylo představeno minulý týden na konferenci Gartner Application Innovation & Business Solutions Summit v Londýně: 

„Lídři odpovědní za vývoj softwaru jsou pod neustálým tlakem ohledně zavádění moderních architektur a technologií. Aby se jim dařilo, potřebují vědět, které trendy mají největší potenciální dopad na jejich digitální úsilí v kontextu reálného časového horizontu,“ zdůrazňuje viceprezident a analytik Gartneru Joachim Herschmann. „Top trendy sestavené analytiky Gartneru představují soubor metod a technologií, které budou muset vedoucí pracovníci v oblasti vývoje softwaru v příštích dvou až třech letech začít využívat, aby si udrželi náskok, inovovali a prosperovali v prostředí neustálých změn.“ 

Hlavní strategické technologické trendy pro vývoj softwaru se dělí do tří skupin (viz následující stranu). Oblast usnadnění práce vývojářů sdružuje trendy umožňující vývojářským týmům naplno rozvinout jejich potenciál. Druhou tematickou oblastí je posílení týmů pomocí technologií umělé inteligence a třetí téma se zaměřuje na trendy v oblasti škálování vývoje softwaru. 

InnerSource (InnerSource) 

InnerSource je strategie vývoje softwaru, která aplikuje postupy open source na proprietární kód. Přijetím open source myšlení při vývoji softwaru mohou organizace překlenout mezery a odbourat sila, což vede k silnějšímu a ucelenějšímu životnímu cyklu vývoje softwaru. 

„V konečném důsledku InnerSource pomáhá týmům vytvářet software rychleji a lépe spolupracovat – výsledkem je kvalitnější vývoj a lepší dokumentace,“ uvádí Herschmann. 

Vývojářský zážitek (Developer Experience, DX) 

DX se týká všech aspektů interakce mezi vývojáři a nástroji, platformami, procesy a lidmi, s nimiž pracují při vývoji a dodávkách softwarových produktů a služeb. Zlepšování vývojářských zkušeností má zásadní význam pro úspěch digitálních iniciativ a budování vysoce výkonných týmů. 

Gartner se domnívá, že zkušenosti vývojářů přesahují rámec vývojářských nástrojů a technologií. „Nástroje používané při každodenní práci jistě hrají roli při zlepšování kvality pracovních postupů vývojářů. Zážitek ale závisí i na netechnologických faktorech. Patří mezi ně dostatek času věnovaného hluboké, kreativní a smysluplné práci a také osobní svoboda zkoušet nové věci bez obav z neúspěchu,“ uvádí Herschmann. 

Vývojářské týmy posílené umělou inteligencí (AI-augmented software engineering teams) 

Programování softwaru s podporou umělé inteligence využívá AI pro rychlejší tvorbu a dodávku aplikací programátorskými týmy. Mohou tak rychleji vytvářet různé typy artefaktů včetně návrhu, kódu aplikace nebo postupů testování, které mohou následně zdokonalovat a opakovaně používat, čímž se celý proces dál urychlí. 

„Softwarové inženýrství rozšířené o umělou inteligenci vybízí k tomu, aby týmy softwarových inženýrů zefektivnily svou práci tím, že je AI osvobodí od zdlouhavé práce, spíše než aby je nahradila,“ vysvětluje Herschmann. 

Aplikace využívající umělou inteligenci (AI-empowered applications) 

Kombinace dostupných podnikových dat, možností tvorby pokročilých modelů a generativní AI jako služby povede k datově rozšířeným aplikacím, které umožní lepší obchodní rozhodování. Aplikace využívající AI mohou obohatit informace dostupné v podniku a jeho aplikacích, automatizovat pracovní postupy a vytvářet modely, které vyhodnocují rizika nebo doporučují další nejlepší kroky. 

Pro dosažení úspěchu při využívání AI by vedoucí softwarového vývoje měli přistupovat k tvorbě modelů AI jinak než k vývoji aplikací a koordinovat činnosti mezi týmy zabývajícími se vývojem a tvorbou modelů.

Platformní řízení (Platform engineering) 

Platformní inženýrství je obor, který se zabývá budováním a provozem samoobslužných interních vývojářských platforem pro poskytování softwaru a správu životního cyklu jeho komponent. Pomáhá vývojářům objevovat, provozovat, zabezpečovat, zlepšovat a budovat složité distribuované IT řešení – zejména pokud nejsou technickými odborníky na podpůrné systémy. 

Platformy zlepšují celkový vývojářský zážitek díky kurátorské sadě nástrojů a služeb. Zlepšují také konzistenci a kvalitu IT řešení a omezují nadbytečné nástroje a procesy, konsolidují souběžné úsilí více týmů, prosazují standardy zabezpečení a shody a zahrnují všudypřítomnou automatizaci. Jsou vhodné zejména pro organizace s rozsáhlým týmem programátorů nebo několika vývojářskými týmy. 

Digitální imunitní systém 

Digitální imunita propojuje postupy z oblastí pozorovatelnosti, testování softwaru, chaos engineeringu, vývoje softwaru, SRE (Site Reliability Engineering) a bezpečnosti dodavatelského řetězce softwaru s cílem zajistit vysokou odolnost a kvalitu aplikací. 

„Mnoho organizací zabývajících se tvorbou softwaru již některé z těchto postupů používá, ale žádný z nich sám o sobě nestačí k dosažení cíle, kterým je budování vysoce odolných systémů,“ zdůrazňuje Herschmann. „Společně tyto postupy představují účinný způsob kontinuálního zvyšování kvality, jenž zajistí, že složité digitální systémy budou fungovat, i když ‚dům hoří‘.“ 

Přečtěte si, jak vybudovat špičkovou softwarovou organizaci pomocí  Gartner Software Engineering Score.