Agenttien kirjoittama koodi katselmoidaan silti

Kaksi kehittäjää katselmoi koodia yhdessä suurelta näytöltä hiljaisessa toimistossa yöllä

Hurukania rakentavat suurelta osin agentit. Ne kirjoittavat koodia, tuottavat testejä, ajavat testisarjan, integroivat ja avaavat muutoksen julkaistavaksi. Se lyhentää matkaa ongelman havaitsemisesta siihen, että korjaus on käynnissä olevassa ympäristössä, viikoista tunteihin, ja se on aito etu.

Se on myös tämän alan väite, jota todennäköisimmin paisutellaan, joten on syytä kirjoittaa auki, mihin automaatio pysähtyy ja miksi nuo pysähdykset eivät ole väliaikaisia.

Mikä on aidosti automatisoitu

Toteutus määrittelystä. Kun agentilla on selkeä kuvaus muutoksesta ja olemassa oleva koodipohja, se kirjoittaa uskottavan toteutuksen ihmistä nopeammin eikä kyllästy työn ikävystyttäviin osiin.

Testien tuottaminen. Myös ne tapaukset, jotka väsynyt ihminen ohittaa: tyhjä lista, kaksoiskappale, aikavyöhyke, samanaikainen kirjoitus.

Integrointi ja putki. Kääntäminen, testisarjan ajaminen, tyyppien tarkistus ja rutiininomaisten ristiriitojen ratkaiseminen – jatkuvasti eikä erissä.

Tylsä ylläpito. Riippuvuuspäivitykset, vanhentuneiden rajapintojen korvaamiset ja yhdenmukaisuus samankaltaisissa koodipoluissa. Todellista työtä, jota on perinteisesti lykätty ja joka mädättää järjestelmää hiljaa.

Mikä ei ole

Päätös siitä, mitä rakennetaan. Määrittely on harkintaa liiketoiminnasta, ei ohjelmointitehtävä. Agentit eivät tiedä, mikä viidestä viasta on merkittävä yritykselle, joka ottaa tämän käyttöön ensi tiistaina.

Pitkävaikutteinen arkkitehtuuri. Valinnat, joiden kanssa eletään vuosia: missä raja kulkee, mitä tietomalli väittää ja mikä tehdään tarkoituksella mahdottomaksi. Halpa tehdä väärin nopeasti ja kallis jälkikäteen.

Katselmointi. Jokainen tuotettu muutos kulkee katselmoinnin ja samojen porttien läpi kuin mikä tahansa muu. Nopeusetu syntyy nopeammista porteista, ei vähemmistä porteista, ja jokainen, joka tarjoaa jälkimmäistä, kuvaa järjestelmää, joka tulee julkaisemaan jotain, mitä sen ei olisi pitänyt.

Julkaisupäätös. Ihminen päättää, mikä päätyy yritykseen, jonka toiminta pyörii tämän varassa. Sitä ei automatisoida – ei siksi, ettei sitä voisi, vaan siksi, että vastuu huonosta julkaisusta on kiinnityttävä johonkuhun.

Nimeämisen arvoinen virhetila

Määrä. Agentti tuottaa suuren, uskottavan muutoksen nopeasti, ja sen kunnollinen katselmointi vie yhtä kauan kuin minkä tahansa muun. Tiimit, jotka mittaavat tuottamisen eivätkä katselmoinnin nopeutta, kerryttävät puutteellisesti katselmoitua koodia tahtia, jota mikään inhimillinen prosessi ei pysty sulattamaan, ja velka erääntyy kerralla.

Puolustus on, että tuotettujen muutosten on oltava pieniä, testien on oltava aidosti riippumattomia toteutuksesta ja katselmointikapasiteetin on oltava se rajoite, jonka mukaan koko kokonaisuus mitoitetaan. Jos katselmointi on pullonkaula, järjestelmä toimii oikein.

Miksi sanoa se näin suoraan

Koska autonominen ohjelmistotehdas kuulostaa väitteeltä, ettei insinöörejä tarvita, eikä se ole sellainen. Se on väite vian ja sen korjauksen välisestä ajasta – ja sitä asiakas voi mitata.

Tämä on se versio, jonka mukaan haluaisimme meitä arvioitavan, ja se on pienempi väite kuin sanat antavat ymmärtää. Yritykselle, jota pyydetään pyörittämään toimintaansa tällä ohjelmistolla, pienempi väite, joka kestää tarkastelun, on arvokkaampi kuin suurempi, joka ei kestä.