Od diagramů k aplikacím
Editor diagramů strukturovaný Event Storming s AI asistencí pro týmy vývoje business softwaru. Vytváří konzistentní softwarové specifikace pro agentní SDLC workflow. Žádné úkoly, žádné sprinty.
Demo
Toto je skutečná e-commerce doména, „Customers“, modelovaná ve StormPilotu: Actors, Actions, Aggregates, Events, Rules, Views a Terms, plně propojené. Byl implementován kódovacím agentem a publikován na https://github.com/codelev/stormpilot.

Dodání softwarového produktu do druhého dne
To, co skutečně zpomaluje Time to Market softwarového produktu, málokdy je samotné programování. Je to všechno, co musí proběhnout dřív, než agent nebo inženýr může bezpečně změnit produkt. Jakmile jste začali provozovat multiagentní SDLC, znovu a znovu jste naráželi na stejné čtyři problémy.
Roztříštěné znalosti
Znalosti o produktu byly roztříštěné mezi technické a netechnické vedoucí, aplikace, nástroje pro sledování úkolů, repozitáře kódu a dokumenty. Obvykle byly neúplné, zastaralé a různě interpretované podle toho, kdo je četl. Než jste vůbec mohli sestavit balíček měnících úkolů (Sprint), museli jste nejprve synchronizovat všechny tyto roztříštěné znalosti.
Odhady úkolů zaměřené na člověka
Každý měnící úkol nesl odhad zaměřený na člověka (story points), který nehrál žádnou roli, jakmile práci dělal agent. Agent nepotřebuje k zahájení odhad ve story points. Co zbylo, byl plánovací ceremoniál: rozdělování úkolů a rozplétání závislostí mezi úkoly nebo týmy, úsilí, které existovalo jen proto, že úkoly byly dimenzovány pro lidi, ne pro agenty.
Zpětné inženýrství existujícího stavu
Měnící úkol popisuje rozdíl mezi existujícím a požadovaným stavem. To nutilo kódovacího agenta nejprve zpětně zrekonstruovat existující stav, než mohl vůbec jednat na základě rozdílu. Vzhledem k současným omezením LLM se tato rekonstrukce někdy podařila chybně nebo neúplně a produkt se změnil způsobem, který jste nechtěli.
Interpretační drift
Každý měnící úkol byl napsán přirozeným jazykem, což neslo riziko interpretačního driftu: propast mezi zamýšleným chováním domény a chováním, které bylo skutečně implementováno, způsobenou ztrátou informace nebo nejednoznačností. Vzhledem k současným omezením LLM mohl stejný úkol zadaný stejnému agentovi pokaždé vyprodukovat jiný kód, a produkt se opět změnil způsobem, který jste nechtěli.
Spec-Driven Development
Aby to napravily, týmy přijímají jeden z frameworků Spec-Driven Development (SDD): specifikační soubory, psané v přirozeném nebo smíšeném přirozeně-formálním jazyce, napsané před programováním, se stávají vstupem pro agenta. Existuje srovnání 15 frameworků Spec-Driven Development, které je řadí do tří úrovní.
Úroveň 1 · Spec-First
Zachází se specifikací jako s předběžnou smlouvou nebo dopisem o záměru.
GitHub Spec Kit, Superpowers, Behavioral Meta-Architectural Design, Goal-Driven Development, SpecSwarm
Úroveň 2 · Spec-Anchored
Udržuje specifikaci jako živý dokument po celou dobu životního cyklu projektu.
MUSUBI, Intent, OpenSpec
Úroveň 3 · Spec-as-Source
Zavádí nastavení bez driftu, kde je specifikační soubor absolutním jediným zdrojem pravdy.
Tessl, Contractual Specification-Driven Development
Srovnání 15 frameworků Spec-Driven Development
Tuto cestu jsme vyzkoušeli. Specifikační soubory skutečně pomohly shromáždit znalosti na jednom místě, popsat existující a požadovaný stav a omezit interpretační drift. Specifikační soubor ale byl pořád ještě jeden dokument žijící v repozitáři kódu, který potřeboval vlastní synchronizaci se zbytkem artefaktů produktu. A obchodní zainteresované strany stále nemohly spolupracovat na specifikačním souboru: roztříštěné znalosti mezi technickými a netechnickými lidmi zůstaly nevyřešené.
Proto jsme vytvořili StormPilot, který řeší všechny čtyři problémy najednou.
Event Storming
EventStorming je nízkonákladová kolaborativní workshopová technika vynalezená Albertem Brandolinim pro zkoumání komplexních obchodních procesů jako časové osy opakujících se prvků. EventStorming neměl být digitálním nástrojem. Jeho hlavním účelem je kolektivní učení: obchodní a techničtí experti společně objevují a diskutují, jak doména funguje. Tabule je záměrně lehká a taktilní, což účastníkům umožňuje rychle přidávat, přesouvat, seskupovat, zpochybňovat a odstraňovat prvky. Fyzické médium samolepicích lístků je součástí metody. Notace není zamýšlena jako přísný formální modelovací jazyk.
Strukturovaný Event Storming
StormPilot je do značné míry věrný konceptům Event Storming. Vyhýbá se terminologii CQRS tím, že používá "View" místo "Read Model", "Action" místo "Command", "Rule" místo "Policy". Přidává "Term" jako explicitní prvek pro udržování jednotného doménového jazyka. Strukturovaný Event Storming mění techniku učení na specifikační systém. Vkládá formální notace přímo do prvků, aby se snížil posun ve výkladu: propast mezi tím, za co doména odpovídá, a tím, co se skutečně postaví, způsobenou ztracenými nebo nejednoznačnými informacemi. Výsledná softwarová specifikace slouží jako deterministický vstup pro agentní generování kódu, což umožňuje, aby doménové znalosti řídily změny v softwarovém produktu dodávaném do druhého dne.
AI asistence
AI asistent čte váš skutečný model domény a navrhuje konkrétní opravy: vylepšení pojmenování, chybějící prvky, definice rolí, mezery v toku, upřesnění podmínek. Přijměte, co je užitečné, zbytek zamítněte.

Verzování
Úkol jako samostatný artefakt projektového řízení nedává v multiagentním SDLC ani v ekonomice tokenů smysl. Změny znalostí zachycených v diagramu strukturovaný Event Storming se přímo promítají do změn v produktu, který chceme vydat. Proto StormPilot nahrazuje úkoly a balíčky úkolů verzováním produktu. Takto se řeší odhady úkolů zaměřené na člověka a zpětné inženýrství existujícího stavu.

Časté dotazy
Musím platit, abych to vyzkoušel?
Ne. Demo je bezplatný veřejný sandbox bez registrace se všemi dostupnými rolemi. Resetuje se denně a je omezeno na 5 domén, každou s 2 verzemi.
Co je verze domény?
Facilitator může zmrazit aktuální stav diagramu jako verzi. Verze jsou neměnné, časově opatřené razítkem a pouze pro čtení.
Co exportuje?
StormPilot exportuje User Interface, Application Programming Interface, datový model a scénáře Behavior.
Programuje AI kód?
Ne. AI StormPilotu specifikuje CO programovat: model domény a jeho chování. Technologický stack zůstává rozhodnutím vývojářského týmu.
Proč OpenRPC?
Obchodní Actions přesahují REST sémantiku. OpenRPC přesně odpovídá notaci Event Storming, vyhýbá se interpretačnímu driftu a je protokolově agnostický.
Proč Gherkin?
Given/When/Then odráží Event Storming Rules a vyhýbá se interpretačnímu driftu, protože je přímo podporováno ekosystémem nástrojů BDD.
Proč PlantUML?
Event Storming je svou podstatou vizuální, zatímco PlantUML si to zachovává při exportu. Syntaxe je přímo podporována ekosystémem nástrojů.
Proč SSE?
Events proudí pouze jedním směrem, takže složitost WebSockets zůstává nevyužita. Server-Sent Events zůstává čistým HTTP a automaticky se obnovuje.

