Jak genAI mění práci softwarového architekta

Softwarový architekt je odborník, který převádí byznysové požadavky do technického návrhu. V menších a středně velkých firmách je tato role často zastřešující a architekt funguje jako "plánovač stavby“. Zajišťuje převod zadání do specifikace, volbu technologií, návrh databází, rozdělení systému na moduly a určení principů jejich vzájemné kompatibility. V korporátech bývá tato činnost rozdělena mezi více specializovaných rolí, avšak princip zůstává stejný: architekt definuje plány, podle kterých vývojový tým staví výsledné řešení.

Přirovnání ke stavebnictví je v tomto případě přímočaré. Architekt navrhne dům, připraví dokumentaci a rozdělí úkoly mezi stavbyvedoucí a řemeslníky. V IT je to podobné, kdy návrh, specifikace a plán se stávají základem, podle něhož seniorní vývojáři a programátoři rozdělují práci mezi frontend, backend a další části vývoje.

Proces návrhu a vývoje

Přístupů k vývoji existuje vícero, ale ať už je použita vodopádová, nebo agilní metodika, vždy existuje fáze návrhu. V ní se po sběru požadavků vytváří softwarová specifikace, která obsahuje funkční i nefunkční podmínky, akceptační kritéria a definici cílů projektu. Na základě specifikace vznikají testovací scénáře, jednotkové testy pro jednotlivé komponenty a integrační testy, které ověřují funkčnost systému jako celku. Tyto testy jsou často přímo spojeny s akceptací ze strany klienta.

Co to je vodopádová metoda vývoje?

Vodopádová metoda (Waterfall model) je klasický, lineární přístup k vývoji softwaru. Projekt v ní postupuje krok za krokem od analýzy přes návrh, implementaci, testování až po nasazení. Každá fáze musí být kompletně dokončena, než se přejde dál. Tento model vychází z principu, že plán je známý předem a změny během vývoje jsou minimální.

Klíčovým výstupem práce architekta je návrh datového modelu a popis procesů. Datový model určuje, jak budou strukturována a ukládána data, procesní model zase definuje, jak budou uživatelé se systémem interagovat a jaké scénáře chování je třeba pokrýt. Typicky se tyto procesy modelují pomocí UML diagramů, zejména diagramů případů užití (use case diagrams) a diagramů aktivit (activity diagrams).

Co to je agilní metoda vývoje?

Agilní vývoj (Agile development) je naopak iterativní a flexibilní přístup, který rozděluje celý projekt na menší části, tzv. sprinty. Každý sprint přináší funkční celek, který lze okamžitě testovat a zlepšovat na základě zpětné vazby. Namísto dlouhodobého plánu se agilní týmy soustředí na rychlé dodávky a přizpůsobování změnám, které přicházejí od klienta nebo z trhu. Agilní vývoj vyžaduje úzkou spolupráci mezi vývojáři, analytiky, designéry i klientem, který je v procesu zapojen průběžně, nikoli až na konci.

Jak AI vstupuje do procesu

V současnosti se umělá inteligence stává nástrojem, který zásadně mění efektivitu práce architekta. První významný přínos je v návrhu databází. Architekt si připravuje obecnou strukturu tabulek a vztahů a AI mu pomáhá konzultovat jejich správnost a úplnost. Například při návrhu systému doručování lze popsat požadavky na adresní body, logistické jednotky a časová okna. AI pak generuje návrhy tabulek a relací, které architekt ověřuje a doplňuje. U nás v TRITON IT nám tento asistovaný postup zkracuje náročnost práce na databázovém návrhu přibližně o 50 %.

Dalším krokem je využití AI pro podporu při návrhu architektury celého systému. Architekt předkládá AI textové popisy procesů (use cases) a datový model, čímž AI získává ucelený obraz o aplikaci. Díky rozsáhlým znalostem technologií a best practices je schopna navrhovat možné architektonické varianty, doporučovat konkrétní technologie a vést dialog o jejich vhodnosti. V praxi to znamená, že AI dokáže navrhnout například použití message brokeru Kafka namísto RabbitMQ, doporučit konkrétní programovací jazyk nebo rozdělit backend a frontend do logických modulů.

Klíčové však je, že AI není autoritou, ale partnerem. Architekt musí návrhy posuzovat, odmítat nevhodné varianty a prosazovat vlastní záměr s ohledem na širší kontext projektu. Právě v tomto dialogu se ukazuje největší síla synergie informačního architekta a umělé inteligence - AI poskytuje širokou znalostní základnu a generuje varianty, architekt zajišťuje kritické vyhodnocení a konečné rozhodnutí.

Úspora práce a generování dokumentace

Největší úspora nastává v závěrečné fázi, kdy AI dokáže generovat UML diagramy, dokumentaci i odhady pracnosti. Po dokončeném návrhu má model k dispozici kompletní popis databáze i procesů a může tak vytvářet diagramy tříd, komponent či případů užití. Stejně tak je schopen generovat pracovní odhady pro konkrétní vývojové týmy podle jejich zkušeností a složení, včetně časových harmonogramů a rozpočtů. I další činnosti, jako práce vývojáře, lze dnes již řešit asistovaně s AI.

Pokud návrh databáze znamenal úsporu přibližně 50 % času, pak práce s architekturou nám díky AI snižuje časovou náročnost o zhruba 70 %. V oblasti dokumentace, která tradičně patří mezi nejvíce časově náročné a administrativně zatěžující úkoly, je úspora ještě výraznější, v některých případech u nás v TRITON IT dosahuje až 90 %.

Utopie vs. realita

V dnešní době s rychlým nástupem GenAI neustále vznikají nové tzv. generátory aplikací, které ve svých reklamách lákají, že vyrobí celou aplikaci samy během několika minut. Na první pohled to působí jako revoluce, která dokáže plně nahradit vývojářské týmy i softwarové architekty. Realita je ale výrazně střízlivější.

Generativní umělá inteligence sice dokáže zásadně urychlit analytickou, návrhovou i dokumentační část vývoje, ale stále neumí nahradit lidské rozhodování, které stojí za stabilitou a bezpečností celého systému. AI může být skvělým asistentem, který pomáhá architektům a vývojářům navrhovat databáze, strukturu kódu nebo procesy, ale vytvořit komplexní, stabilní a dlouhodobě udržitelný systém tak zůstává úkolem člověka. AI je zatím jen jeho silnou pravou rukou, ne náhradou.

Růst významu standardizovaných textových formátů

Velké jazykové modely (LLM) jsou nástroje, které primárně pracují s textem. Na první pohled se tedy může zdát, že k tvorbě vizuálních prvků, jako jsou UML nebo ER diagramy, nejsou ideální. Právě zde ale nastupuje síla textových grafických formátů, například Markdown, DPML (databázové popisné jazyky) nebo PlantUML. Tyto standardizované formáty umožňují popisovat i složité struktury čistě textově, čemuž LLM výborně rozumí.

Díky tomu dokážou ve spolupráci s architektem generovat přesné a konzistentní výstupy, které je následně možné snadno vizualizovat pomocí specializovaných nástrojů. Tento přístup výrazně zrychluje práci, kdy místo ručního kreslení se většina návrhů tvoří asistovaně a výsledné diagramy se jen zobrazí, exportují nebo vytisknou. V TRITON IT nám tento proces šetří až 90 % času.

Obr. 1: UML diagram komponent informačního systému pro evidenci výrobu, evidenci a distribuci produktů provázaného s e-shopem postaveným na platformě Saleor

Nová role architekta

Umělá inteligence tedy neposouvá softwarového architekta mimo hru, ale mění jeho roli. Z rutinní práce na kreslení diagramů a psaní dokumentace se stává kurátor dialogu s AI, který musí rozumět všem aspektům návrhu, klást správné otázky a kriticky vyhodnocovat odpovědi. Architekt zůstává tím, kdo drží směr projektu, ale místo manuální přípravy všech podkladů se soustředí na kvalitu zadání a rozhodovací proces.

Výsledkem je zásadní zvýšení efektivity a zároveň kvalitnější dokumentace, která je vytvářena v kratším čase. AI se tak stává nejen asistentem, ale i katalyzátorem změny práce architekta, podobně jako CAD nástroje změnily práci architektů ve stavebnictví.

Chcete vytvořit software na míru?

Související články

Vývoj Vývoj

Starosta pražských Křeslic hledal jednoduchý způsob, jak okamžitě sdílet informace z terénu mezi občany. Věděl, že občané nechtějí stahovat...

Případová studie Případová studie

V roce 2021 jsme pro značku MISURA vytvořili první brand page na adrese misura.cz (později misura.store). O tvorbě první brand page MISURA jsme...

Obsah Obsah

V digitálním prostředí už nestačí tvořit kvalitní obsah s nadějí, že si k němu publikum cestu samo najde. Způsob, jakým lidé vyhledávají informace...