Mid-Dijagrammi għall-Applikazzjonijiet

Editur ta' dijagrammi Event Storming strutturat assistit mill-AI għal timijiet ta' inġinerija tas-softwer tan-negozju. Jipproduċi speċifikazzjonijiet tas-softwer konsistenti għal proċessi tax-xogħol SDLC aġentiċi. L-ebda tasks, l-ebda sprints.

ActorCustomerActionPlace OrderAggregateOrderEventOrder Placed

Demo

Dan huwa domain reali ta' kummerċ elettroniku, "Customers", immudellat f'StormPilot: Actors, Actions, Aggregates, Events, Rules, Views, u Terms, konnessi bis-sħiħ. Ġie implimentat minn aġent tal-kodifikazzjoni u ppubblikat fuq https://github.com/codelev/stormpilot.

Domain Customers immudellat f'StormPilot, li juri elementi Actor, Action, Aggregate, Event, Rule u View konnessi

Konsenja tal-Prodott tas-Softwer l-Għada

Dak li verament inaqqas il-veloċità tat-Time to Market ta' prodott tas-softwer rarament huwa l-ikkowdjar innifsu. Huwa kollox li jrid isir qabel ma aġent, jew inġinier, ikun jista' jibdel il-prodott b'mod sigur. Ladarba bdejt tħaddem SDLC multi-aġentiku, bqajt taħbat mal-istess erba' problemi, darba wara oħra.

Għarfien frammentat

L-għarfien dwar il-prodott kien frammentat bejn kapijiet tekniċi u mhux tekniċi, applikazzjonijiet, tracker tal-kompiti, repożitorji tal-kodiċi u dokumenti. Kien ġeneralment inkomplet, skadut u interpretat b'mod differenti skont min kien qed jaqrah. Qabel ma stajt anke tqiegħed flimkien pakkett ta' kompiti li jinbidlu (Sprint), kellek l-ewwel tissinkronizza dak l-għarfien frammentat kollu.

Stimi ta' kompiti ċentrati fuq il-bniedem

Kull kompitu li jinbidel kellu stima ċentrata fuq il-bniedem (story points) li ma kellha l-ebda rwol ladarba aġent kien qed jagħmel ix-xogħol. Aġent m'għandux bżonn stima ta' story points biex jibda. Dak li baqa' kien ċerimonja ta' ppjanar: it-tqassim tal-kompiti u l-illiberazzjoni ta' dipendenzi bejn il-kompiti jew bejn it-timijiet, sforz li kien jeżisti biss għax il-kompiti kienu ddimensjonati għall-bnedmin, mhux għall-aġenti.

Inġinerija bil-lura tal-istat eżistenti

Kompitu li jinbidel jiddeskrivi d-differenza bejn stat eżistenti u wieħed mixtieq. Dan ġiegħel lill-aġent tal-ikkowdjar l-ewwel jagħmel inġinerija bil-lura tal-istat eżistenti, qabel ma seta' anke jaġixxi fuq id-differenza. Minħabba l-limitazzjonijiet attwali tal-LLM, xi drabi din ir-rikostruzzjoni kienet ħażina jew inkompleta, u l-prodott inbidel b'modi li ma tlabtx.

Devjazzjoni ta' interpretazzjoni

Kull kompitu li jinbidel kien miktub bil-lingwa naturali, li kien ifisser li kien iġorr ir-riskju ta' devjazzjoni ta' interpretazzjoni: id-distakk bejn l-imġiba tad-domain li kont ippjanajt u l-imġiba li fil-fatt ġiet implimentata, ikkawżata minn telf ta' informazzjoni jew ambigwità. Minħabba l-limitazzjonijiet attwali tal-LLM, l-istess kompitu mogħti lill-istess aġent seta' jipproduċi kodiċi differenti kull darba, u għal darb'oħra, il-prodott inbidel b'modi li ma tlabtx.

Spec-Driven Development

Biex isolvu dan, it-timijiet jadottaw wieħed mill-oqfsa tal-Spec-Driven Development (SDD): fajls ta' speċifikazzjoni, miktuba bil-lingwa naturali jew imħallta naturali u formali, miktuba qabel l-ikkowdjar, isiru l-input għall-aġent. Hemm paragun ta' 15-il qafas tal-Spec-Driven Development li jqassamhom fi tliet livelli.

Livell 1 · Spec-First

Jittrattaw l-ispeċifikazzjoni bħala kuntratt preliminari jew ittra ta' intenzjoni.

GitHub Spec Kit, Superpowers, Behavioral Meta-Architectural Design, Goal-Driven Development, SpecSwarm

Livell 2 · Spec-Anchored

Iżommu l-ispeċifikazzjoni bħala dokument ħaj tul iċ-ċiklu tal-ħajja kollu tal-proġett.

MUSUBI, Intent, OpenSpec

Livell 3 · Spec-as-Source

Jimplimentaw konfigurazzjoni mingħajr devjazzjoni fejn il-fajl ta' speċifikazzjoni huwa l-uniku sors assolut tal-verità.

Tessl, Contractual Specification-Driven Development

Paragun ta' 15-il qafas tal-Spec-Driven Development

Ipprovajna din it-triq. Il-fajls ta' speċifikazzjoni tassew għenu jinġabar l-għarfien f'post wieħed, jiddeskrivu l-istat eżistenti u dak mixtieq u jnaqqsu d-devjazzjoni ta' interpretazzjoni. Iżda l-fajl ta' speċifikazzjoni kien xorta waħda dokument ieħor li jgħix fir-repożitorju tal-kodiċi, jeħtieġ is-sinkronizzazzjoni tiegħu stess mal-bqija tal-artifacts tal-prodott. U l-partijiet interessati fin-negozju xorta ma setgħux jikkollaboraw fuq fajl ta' speċifikazzjoni: l-għarfien frammentat bejn nies tekniċi u mhux tekniċi baqa' mhux solvut.

Għalhekk bnejna StormPilot biex nindirizzaw l-erba' problemi f'daqqa.

Event Storming

EventStorming hija teknika ta' workshop kollaborattiva low-fi maħluqa minn Alberto Brandolini biex jiġu esplorati proċessi kummerċjali kumplessi bħala linja ta' żmien ta' elementi li jirrepetu ruħhom. EventStorming ma kienx maħsub li jkun għodda diġitali. L-għan primarju tiegħu huwa t-tagħlim kollettiv: esperti kummerċjali u tekniċi jiskopru u jiddiskutu flimkien kif jaħdem dominju. Il-bord huwa deliberatament ħafif u tattili, li jippermetti lill-parteċipanti jżidu, iċaqilqu, jgrupjaw, jistaqsu u jarmu elementi malajr. Il-medju fiżiku tan-noti stikkanti huwa parti mill-metodu. In-notazzjoni mhix maħsuba li tkun lingwaġġ ta' mmudellar formali riġidu.

Video ta' Event Storming

Event Storming Strutturat

StormPilot huwa fil-biċċa l-kbira fidil lejn il-kunċetti ta' Event Storming. Jevita t-terminoloġija CQRS billi juża "View" minflok "Read Model", "Action" minflok "Command", "Rule" minflok "Policy". Iżid "Term" bħala element espliċitu biex jinżamm lingwaġġ tad-dominju ubikwu. Event Storming strutturat ibiddel it-teknika ta' tagħlim f'sistema ta' speċifikazzjoni. Iddaħħal notazzjonijiet formali direttament fl-elementi biex tnaqqas id-devjazzjoni fl-interpretazzjoni: id-distakk bejn dak li għalih dominju huwa responsabbli u dak li fil-fatt jinbena, ikkawżat minn informazzjoni mitlufa jew ambigwa. L-ispeċifikazzjoni tas-softwer li tirriżulta sservi bħala input deterministiku għall-ġenerazzjoni aġentika tal-kodiċi, li tippermetti li l-għarfien tad-dominju jmexxi bidliet fil-prodott tas-softwer li jitwassal l-għada.

Event Storming Strutturat

Għajnuna mill-AI

L-assistent AI jaqra l-mudell attwali tad-domain tiegħek u jipproponi tiswijiet speċifiċi: titjib fl-ismijiet, elementi neqsin, definizzjonijiet ta' rwoli, lakuni fil-fluss, kjarifiki tal-limitazzjonijiet. Aċċetta dak li huwa utli, warrab il-bqija.

L-assistent AI ta' StormPilot jipproponi titjib fl-ismijiet, elementi neqsin, definizzjonijiet ta' rwoli, lakuni fil-fluss u kjarifiki tal-limitazzjonijiet, flimkien mad-dijagramma sħiħa tad-domain

Verżjonar

Kompitu bħala artifact awtonomu ta' ġestjoni ta' proġett ma jagħmilx sens f'SDLC multi-aġentiku jew f'ekonomija ta' tokens. Il-bidliet fl-għarfien maqbud f'dijagramma Event Storming strutturat jimmappjaw direttament fuq bidliet fil-prodott li rridu nirrilaxxaw. Għalhekk StormPilot jibdel il-kompiti u l-pakketti ta' kompiti bil-verżjonar tal-prodott. Hekk jissolvew l-istimi ta' kompiti ċentrati fuq il-bniedem u l-inġinerija bil-lura tal-istat eżistenti.

Il-panew tal-istorja tal-verżjonijiet ta' StormPilot li juri d-diff bejn żewġ verżjonijiet immutabbli tad-domain

Mistoqsijiet Frekwenti

Għandi bżonn inħallas biex nipprovah?

Le. Id-Demo hija sandbox pubblika u bla ħlas mingħajr reġistrazzjoni u bir-rwoli kollha disponibbli. Tirriseta kuljum u hija limitata għal 5 domains, 2 verżjonijiet kull wieħed.

X'inhi verżjoni ta' domain?

Facilitator jista' jiffriża l-istat attwali ta' dijagramma bħala verżjoni. Il-verżjonijiet huma immutabbli, bit-timestamp u għall-qari biss.

X'jesporta?

StormPilot jesporta User Interface, Application Programming Interface, mudell tad-dejta, u xenarji Behavior.

L-AI tikkowdja?

Le. L-AI ta' StormPilot tispeċifika X'għandu jiġi kkowdjat: il-mudell tad-domain u l-imġiba tiegħu. L-istack teknoloġiku jibqa' deċiżjoni tat-tim tal-inġinerija.

Għaliex OpenRPC?

L-Actions tan-negozju jaqbżu s-semantika REST. OpenRPC jaqbel eżatt man-notazzjoni Event Storming, jevita d-drift ta' interpretazzjoni u jibqa' agnostiku għall-protokoll.

Għaliex Gherkin?

Given/When/Then jirrifletti l-istruttura tar-Rules tal-Event Storming u jevita d-drift ta' interpretazzjoni, peress li huwa appoġġat direttament mill-ekosistema ta' għodod BDD.

Għaliex PlantUML?

L-Event Storming huwa inerentement viżwali, filwaqt li l-PlantUML iżomm dan mal-esportazzjoni. Is-sintassi hija appoġġata direttament mill-ekosistema ta' għodod.

Għaliex SSE?

L-Events jgħaddu direzzjoni waħda biss, allura l-kumplessità tal-WebSockets tibqa' mhux użata. Is-Server-Sent Events tibqa' HTTP sempliċi u terġa' tikkonnettja awtomatikament.

Konformi mal-GDPR. Id-dejta tiġi pproċessata fi ħdan l-UE, bl-użu ta' infrastruttura u sħab ta' pproċessar miżmuma għall-istess standard.