Naar productie | Blog

~/blog/series/shipping

Naar productie

De agent schrijft het in een middag. Alles daarna kost nog steeds een week.

Waar deze reeks over gaat

Genereren werd sneller en de rest van de keten bleef even traag als daarvoor. Daar gaat deze reeks over.

De stukken volgen één wijziging door de onderdelen die niet sneller werden. Hij belandt in de review, waar de wachtrij inmiddels de plek is waar code wordt afgemaakt in plaats van gecontroleerd. Hij wordt gemerged en moet observeerbaar zijn, want het gebruikelijke argument om instrumentatie over te slaan was dat je de code begreep, en dat argument houdt weinig over als niemand hem heeft getypt. Uiteindelijk gaat midden in de nacht de pager af bij iemand die er geen regel van schreef en die de auteur niets meer kan vragen.

Stuk voor stuk waren dat opgeloste problemen toen een mens de code schreef en de context in zijn hoofd had. Geen van die problemen is nog opgelost wanneer die context nooit heeft bestaan buiten een sessie die inmiddels gewist is.

Er loopt één meting door deze reeks waar ik telkens op terugkom. De cijfers die iedereen aanhaalt over AI en productiviteit gaan bijna altijd over hoeveel code erbij komt, terwijl de interessante cijfers gaan over wat er daarna mee gebeurt: bugs per developer, de verhouding tussen incidenten en pull requests, en hoeveel van de reviewwachtrij opgaat aan het optillen van code naar een niveau dat hij al had moeten halen voordat de pull request openging.

Deze reeks is kort en specifiek, en geen devops-gids. Ik ga ervan uit dat je al weet hoe je software draaiend houdt. De vraag is beperkter: wat verandert er aan dat werk zodra een model de auteur is?

Waar dit naartoe gaat

Wat ontbreekt is de deploy-stap, die nu tussen twee stukken in valt die er allebei naar wijzen. Feature flags, canary's en de rollback die een database niet nakomt zijn het stuk dat ik hierna wil schrijven. Daarvoor heb ik een migratie nodig die in het echt is misgegaan, want een diagram van hoe het hoort te gaan levert dat stuk niet op.