Diagrammidest rakendusteni
Tehisintellekti toega struktureeritud Event Storming diagrammiredaktor äritarkvara arendusmeeskondadele. See loob järjepidevad tarkvaraspetsifikatsioonid agentsete SDLC töövoogude jaoks. Ei ülesandeid, ei sprinte.
Demo
See on tõeline e-kaubanduse domeen, „Customers“, mis on modelleeritud StormPilotis: Actors, Actions, Aggregates, Events, Rules, Views ja Terms, täielikult ühendatud. Selle rakendas kodeerimisagent ja avaldas aadressil https://github.com/codelev/stormpilot.

Tarkvaratoote tarnimine järgmiseks päevaks
See, mis tegelikult aeglustab tarkvaratoote Time to Market'it, on harva kodeerimine ise. See on kõik, mis peab toimuma enne, kui agent või insener saab toodet turvaliselt muuta. Kui hakkasite kasutama multiagentset SDLC-d, jäite ikka ja jälle takerduma samadesse neljasse probleemi.
Killustunud teadmised
Teadmised toote kohta olid killustunud tehniliste ja mittetehniliste juhtide, rakenduste, ülesannete jälgimise tööriistade, koodihoidlate ja dokumentide vahel. Need olid tavaliselt puudulikud, aegunud ja lugejast olenevalt erinevalt tõlgendatud. Enne kui sai üldse kokku panna muudatusülesannete paketi (Sprindi), tuli see killustunud teadmine kõigepealt sünkroonida.
Inimkesksed ülesannete hinnangud
Iga muudatusülesanne kandis inimkeskset hinnangut (story point'e), millel polnud enam tähtsust, kui tööd tegi agent. Agent ei vaja alustamiseks story point'ide hinnangut. Alles jäi planeerimisrituaal: ülesannete jaotamine ning ülesannete- või meeskondadevaheliste sõltuvuste lahtiharutamine, pingutus, mis eksisteeris ainult sellepärast, et ülesanded olid mõõdustatud inimestele, mitte agentidele.
Olemasoleva oleku pöördprojekteerimine
Muudatusülesanne kirjeldab erinevust olemasoleva ja soovitud oleku vahel. See sundis kodeerimisagenti kõigepealt olemasoleva oleku pöördprojekteerima, enne kui ta üldse sai erinevuse kallal tegutseda. Praeguste LLM-piirangute tõttu läks see rekonstruktsioon vahel valesti või jäi puudulikuks ning toode muutus viisidel, mida te ei tahtnud.
Tõlgendusnihe
Iga muudatusülesanne oli kirjutatud loomulikus keeles, mis kandis endas tõlgendusnihke riski: lõhet kavatsetud domeenikäitumise ja tegelikult juurutatud käitumise vahel, mille põhjustas infokadu või mitmetähenduslikkus. Praeguste LLM-piirangute tõttu võis sama ülesanne, sama agendile antuna, toota iga kord erineva koodi ning toode muutus taas viisidel, mida te ei tahtnud.
Spec-Driven Development
Selle parandamiseks võtavad meeskonnad kasutusele ühe Spec-Driven Development (SDD) raamistikest: spetsifikatsioonifailid, kirjutatud loomulikus või segatud loomulikus-formaalses keeles, koostatud enne kodeerimist, saavad agendi sisendiks. On olemas 15 Spec-Driven Development raamistiku võrdlus, mis jaotab need kolme tasemesse.
Tase 1 · Spec-First
Käsitlevad spetsifikatsiooni esialgse lepingu või kavatsuskirjana.
GitHub Spec Kit, Superpowers, Behavioral Meta-Architectural Design, Goal-Driven Development, SpecSwarm
Tase 2 · Spec-Anchored
Hoiavad spetsifikatsiooni elava dokumendina kogu projekti elutsükli jooksul.
MUSUBI, Intent, OpenSpec
Tase 3 · Spec-as-Source
Rakendavad nihketa seadistuse, kus spetsifikatsioonifail on absoluutne ainuke tõe allikas.
Tessl, Contractual Specification-Driven Development
15 Spec-Driven Development raamistiku võrdlus
Proovisime seda teed. Spetsifikatsioonifailid aitasid tõesti koondada teadmised ühte kohta, kirjeldada olemasolevat ja soovitud olekut ning vähendada tõlgendusnihet. Kuid spetsifikatsioonifail oli ikkagi veel üks dokument, mis elas koodihoidlas ning vajas oma sünkroonimist toote ülejäänud artefaktidega. Ja ärihuvilised ei saanud endiselt spetsifikatsioonifaili kallal koos töötada: tehniliste ja mittetehniliste inimeste vahel killustunud teadmised jäid lahendamata.
Seetõttu ehitasime StormPiloti, et lahendada kõik neli probleemi korraga.
Event Storming
EventStorming on lihtne ühistöö töötoa tehnika, mille lõi Alberto Brandolini keeruliste äriprotsesside uurimiseks korduvate elementide ajajoonena. EventStorming ei olnud mõeldud digitaalse tööriistana. Selle peamine eesmärk on ühine õppimine: ärieksperdid ja tehnilised eksperdid avastavad ja arutavad koos, kuidas domeen toimib. Tahvel on tahtlikult kergekaaluline ja kombatav, võimaldades osalejatel kiiresti elemente lisada, liigutada, rühmitada, kahtluse alla seada ja kõrvaldada. Füüsiline märkmepaberite meedium on osa meetodist. Tähistus ei ole mõeldud rangeks formaalseks modelleerimiskeeleks.
Struktureeritud Event Storming
StormPilot on suures osas truu Event Stormingu kontseptsioonidele. See väldib CQRS-i terminoloogiat, kasutades "View" asemel "Read Model", "Action" asemel "Command" ja "Rule" asemel "Policy". See lisab "Term" selgesõnalise elemendina ühtse valdkonnakeele säilitamiseks. Struktureeritud Event Storming muudab õppetehnika spetsifikatsioonisüsteemiks. See põimib formaalsed märkimisviisid otse elementidesse, et vähendada tõlgendamise triivi: lõhet selle vahel, mille eest domeen vastutab, ja selle vahel, mis tegelikult ehitatakse, mille põhjustab kadunud või mitmetähenduslik teave. Tulemuseks olev tarkvaraspetsifikatsioon toimib deterministliku sisendina agentliku koodigenereerimise jaoks, võimaldades valdkonnateadmistel juhtida muudatusi tarkvaratootes, mis tarnitakse järgmisel päeval.
Tehisintellekti abi
Tehisintellekti assistent loeb teie tegelikku domeenimudelit ja pakub konkreetseid parandusi: nimetamise parandusi, puuduvaid elemente, rollide määratlusi, vooluahelaid ning piirangute selgitusi. Võtke vastu, mis on kasulik, jätke ülejäänu kõrvale.

Versioonihaldus
Ülesandel kui eraldiseisval projektihaldusartefaktil pole multiagentses SDLC-s ega tokenite majanduses mõtet. Struktureeritud Event Storming diagrammi jäädvustatud teadmiste muudatused kaardistuvad otse muudatustena tootes, mida soovime välja anda. Seetõttu asendab StormPilot ülesanded ja ülesannete paketid tooteversioonihaldusega. Nii lahendatakse inimkesksed ülesannete hinnangud ja olemasoleva oleku pöördprojekteerimine.

KKK
Kas pean proovimiseks maksma?
Ei. Demo on tasuta avalik liivakast ilma registreerimiseta ja kõigi rollidega. See lähtestatakse iga päev ja piirdub 5 domeeniga, kummalgi 2 versiooni.
Mis on domeeni versioon?
Facilitator saab diagrammi hetkeoleku versioonina külmutada. Versioonid on muutmatud, ajatempliga ja kirjutuskaitstud.
Mida see ekspordib?
StormPilot ekspordib User Interface, Application Programming Interface, andmemudeli ja Behavior stsenaariumid.
Kas AI kirjutab koodi?
Ei. StormPiloti AI määrab, MIDA kodeerida: domeenimudeli ja selle käitumise. Tehnoloogiapinu jääb endiselt tehnikameeskonna otsustada.
Miks OpenRPC?
Ärilised Actions ületavad RESTi semantikat. OpenRPC vastab täpselt Event Storming märgistusele, väldib tõlgendamise triivi ja on protokollist sõltumatu.
Miks Gherkin?
Given/When/Then peegeldab Event Storming Rules'eid ja väldib tõlgendamise triivi, kuna seda toetab otse BDD tööriistade ökosüsteem.
Miks PlantUML?
Event Storming on olemuselt visuaalne ja PlantUML säilitab selle ekspordil. Süntaksit toetab otse tööriistade ökosüsteem.
Miks SSE?
Events liiguvad ainult ühes suunas, seega jääb WebSocketsi keerukus kasutamata. Server-Sent Events jääb tavaliseks HTTP-ks ja taasühendub automaatselt.

