Ako vyvíjame
Rýchlosť je tu dôsledkom kontrolných bodov, nie cestou okolo nich.
Rozumná námietka voči malému tímu, ktorý dodá štyri produkty, znie, že sa niečo muselo obísť. Táto stránka je odpoveďou: čo stroj robí, čo mu nie je dovolené, a čím musí zmena prejsť, kým sa dostane do produkcie.
Všetko nižšie beží na našej vlastnej práci. Nie je to produkt, ktorý predávame, ani ukážka.
Platforma
Súkromný marketplace orchestrátorov, subagentov, skillov a hookov.
Stavebný engine je verzionovaný interný plugin marketplace, nainštalovaný v každom repozitári, v ktorom pracujeme. Šesť pluginov pokrýva vývoj, prevádzku, dokumentáciu, obchod a nástroje, ktoré stavajú ďalšie nástroje. Samotný vývojový plugin nesie 24 subagentov a 52 skillov.
Počty zodpovedajú nainštalovanému marketplace a menia sa, ako platforma rastie.
Tri vrstvy, zámerne
Task orchestrátory
Jeden vstupný bod pre každý druh práce: implementáciu zmeny, diagnostiku chyby, kontrolu kódu či aktualizáciu závislostí. Orchestrátor najprv určí rozsah úlohy a zapojí iba prostriedky, ktoré si tento rozsah vyžaduje.
Skilly
Stredná vrstva rutín, ktoré orchestrátory opakovane volajú: rozhodnúť, ktoré verifikátory zmena potrebuje, zvoliť úroveň testovania, rozdeliť preklad medzi jazyky. Napísané raz, volané odvšadiaľ.
Koncoví agenti
Špecializovaní pracovníci s úzko vymedzenými nástrojmi. Inžinier píše jednu vrstvu. Verifikátor hlási iba úspech alebo neúspech. Audítor číta, no nikdy neupravuje. Koncový agent s prístupom iba na čítanie nemôže nič pokaziť.
Automatizované a schvaľované človekom
Hranica medzi tým, čo beží bez dozoru, a tým, čo počká na človeka.
Toto delenie nie je vecou vkusu. Čo sa dá znova spustiť a mechanicky overiť, je automatizované. Čo pri zlyhaní stojí veľa, je nezvratné alebo je to otázka úsudku, sa zastaví a počká.
Ako jedna zmena prejde platformou
Prieskum
- codebase-researcherzmapuje vrstvy pred písanímhotovo
Písanie, paralelne a v sandboxe
- backend-engineerslužba a endpointhotovo
- frontend-engineerstránka a komponenthotovo
- prisma-migratorschéma a k nej migráciahotovo
Overenie
- backend-verifierčistý štart, žiadne chýbajúce provideryPASS
- frontend-verifiertypová kontrola, lint, buildPASS
- e2e-testerdotknuté toky v reálnom prehliadačiPASS
Merge
- mergečaká na človekačaká
Názvy agentov sú tie z platformy, na ktorej vznikol aj tento web.
Beží bez dozoru
- Nájsť kód: paralelní read-only agenti zmapujú relevantné vrstvy skôr, než sa čokoľvek napíše.
- Napísať zmenu, jeden špecialista na vrstvu, paralelne tam, kde sa vrstvy nekrížia.
- Typová kontrola, lint a build; naštartovanie backendu a sledovanie chýb pri štarte.
- Spustenie testov a prevedenie bežiacej aplikácie use-caseami, ktorých sa zmena dotkla.
- Audit prístupnosti, responzivity a výkonu stránky voči meraným limitom.
Čaká na zásah človeka
- Každý merge. Žiadny agent sám nepushuje do zdieľanej vetvy.
- Zmeny schémy a dátové migrácie, ktoré sa kontrolujú pred vygenerovaním, nie po ňom.
- Všetko, čo sa dotýka produkcie: nasadenia, produkčné dáta, force push.
- Rozsah. Keď sa úloha ukáže väčšia alebo rizikovejšia, než bola odhadnutá, pipeline sa zastaví a spýta sa na další krok.
- Konečné slovo pri každom náleze revízie vrátane toho, či sa označené riziko akceptuje.
Latka kvality
Čím musí zmena prejsť.
Overovanie má pevne stanovené minimum
Zmena kódu sa nikdy neoznačí za hotovú bez kontroly buildu a lintu pre vrstvy, ktorých sa dotkla. Backendové zmeny sa musia spustiť bez chýb. Toto minimum je súčasťou pravidiel orchestrácie, takže ho žiadny jednotlivý beh nemôže vynechať.
Kontroly sa odvodzujú z dôkazu, nie zo zvyku
Ktoré verifikátory bežia, sa odvodí od skutočného zoznamu zmenených súborov a zložitejšie zmeny spúšťajú cesty citlivé na build, nie odhad. Práve to drží dôkladnosť dosť lacnú na to, aby bola nespochybniteľná.
Nálezy musia obstáť pred skeptickou kontrolou
Každý nález revízie dostane čerstvý agent, ktorého jedinou úlohou je dokázať, že nález je nesprávny. Čo sa vyvrátiť nedá, prežije, zvyšok padne skôr, než si to niekto prečíta. To je rozdiel medzi revíziou a hlučným skenom.
Zlyhania sa najprv klasifikujú, až potom opravujú
Neúspešná kontrola sa najprv zaradí ako chyba v kóde alebo problém environmentu. Problémy environmentu nikdy nevstupujú do opravného loopu, nahlásia sa aj s postupom nápravy a beh sa zastaví. Počet opravných pokusov je obmedzený a opakovaná príčina sa eskaluje, nie opakuje.
Testy sa píšu tak, aby zostali
Regresné testy vznikajú ako commitnuté špecifikácie v testovacom runneri projektu, nie ako jednorazové kontroly v rámci relácie. Čo dokázalo opravu, zostáva v repozitári a dokazuje ju ďalej.
Nič sa nezužuje potichu
Keď je test coverage obmedzený vzorkovaním, stropom alebo vynechanou dimenziou, nahlási sa to. Čiastočný výsledok sa nikdy nečíta ako úplný.
Prečo sa termíny skracujú
Štandardy sa neposunuli. Posunula sa cena ich splnenia.
Každá z týchto kontrol existovala aj v tradičnom tíme. Zmenilo sa to, že ich spúšťanie už nie je problémom plánovania. Kontroly v piatich oblastiach prebiehajú naraz namiesto čakania na voľný termín reviewera. Otestovať tucet stránok dnes stojí jedno delegovanie úlohy, nie celé popoludnie. Práca, ktorá sa kedysi zoskupovala pre vysoké náklady, dnes prebieha pri každej zmene, pretože už drahá nie je.
V tom je celý trik a preto rýchlosť nejde z rozpočtu na kvalitu. Keď je overovanie lacné, rozumné množstvo overovania rastie, nie klesá.
Pozrieť ten istý postup na reálnej stavbeDve metódy, dve otázky
Táto podstránka je náš delivery postup. Celofiremný model je publikovaný samostatne na augmented.club.
To, čo ste práve čítali, je spôsob, akým staviame vlastné produkty: platforma, deliaca čiara medzi tým, čo beží bez dozoru, a tým, čo čaká na človeka, a latka, cez ktorú musí prejsť každá zmena. Rozbehnúť takto celú organizáciu, rolu po role, je iný problém s inou odpoveďou. Ten publikuje augmented.club v plnom rozsahu a je to dokument, ktorý si prečítajte, ak je otázkou, ako by to vyzeralo naprieč vašou firmou, a nie ako staviame my.
Prečítať publikovanú metóduTá istá metóda, vyučovaná.
Inžinierske organizácie, ktoré chcú pracovať takto, sa to učia cez augmented.club, našu vzdelávaciu značku.
Pozrieť programy