U nás jsme tohle čekání přerušili. Díky 𝐜𝐨𝐧𝐭𝐫𝐚𝐜𝐭-𝐟𝐢𝐫𝐬𝐭 přístupu s OpenAPI začínáme vývoj jasně definovaným rozhraním, na kterém se shodneme ještě předtím, než padne první řádek kódu.
V rámci softwarového inženýrství se stále víc zaměřujeme na 𝐬𝐡𝐢𝐟𝐭-𝐥𝐞𝐟𝐭 přístup – tedy snahu zapojit co nejvíc klíčových rolí co nejdříve ve vývojovém cyklu. A právě v této filozofii dává perfektní smysl využívat contract-first vývoj API pomocí OpenAPI.
🔧 Jak to u nás funguje?
Naše OpenAPI specifikace máme jako YAML soubory ve vlastním modulu, který se automaticky generuje jako JAR v rámci Maven buildu. Podporujeme i víc YAML souborů, což nám pomáhá rozdělit práci napříč týmem, zvlášť u větších API.
💡 Zapojení celého týmu
Co je ale klíčové: na API se u nás podílí nejen vývojáři, ale i analytici a testeři. Analytik připraví zadání včetně návrhu API rozhraní, commitne YAML specifikaci do GITu, a vývojář má hned v ruce jasný kontrakt, ke kterému napíše mockovou odpověď. Tím vznikne hned od začátku vývoje funkční 𝐦𝐨𝐜𝐤, který můžou využívat konzumenti – FE týmy nebo další systémy přes API gateway.
🚀 Výhody, které cítíme v praxi:
Vývoj může probíhat paralelně a kontinuálně – FE a BE týmy nejsou v blokační závislosti.
Zadání je jednoznačné a verzované, část dokumentace vzniká automaticky.
Chyby se odhalí dřív – testování začíná už proti mockům, nečeká se na integraci.
API se vyvíjí konzistentně a řízeně, s důrazem na kvalitu a udržitelnost.
⚠️ Na co si dát pozor?
Vyšší režie: musíte udržovat další modul/repozitář a integrovat ho do 𝐂𝐈/𝐂𝐃.
Počáteční investice do nastavení buildů a infrastruktury.
Vhodné hlavně pro větší týmy – u menších projektů se náklady nemusí vyplatit.
🎯 Pro koho to dává smysl?
Doporučujeme tam, kde spolupracuje víc rolí a lidí (5+), kde je důraz na bezpečnost, konzistenci a udržitelný rozvoj API. U nás se osvědčilo například na projektu s 12 lidmi a desítkami endpointů – bez contract-first přístupu by koordinace takového vývoje byla výrazně těžší.
🧭 Shift-left v praxi
Celý přístup je postavený na tom, že vývoj nezačíná kódem, ale dohodou – rozhraní je návrh i smlouva zároveň. Vývojáři, analytici i testeři jsou na stejné vlně už od začátku. Výsledkem je rychlejší vývoj, méně chyb a větší důvěra v to, že co jsme si odsouhlasili, to platí.
Kudos pro Vitezslav Hubeny z Česká spořitelna, který mě k tomuhle přivedl a celkově stojí za polovinou mého rozvoje minulého roku 🤩