Programvarebransjen har brukt femti år på å gjøre utviklere mer produktive. Vi har fått bedre språk, bedre verktøy, bedre plattformer og skybaserte tjenester.
Likevel opplever store utviklingsorganisasjoner at stadig mer av tiden forsvinner i koordinering, avklaringer, integrasjoner, feilretting og vedlikehold av beslutninger som aldri ble skrevet ned. Jo større systemene blir, desto mindre handler programvareutvikling om syntaks og implementasjon, og desto mer handler den om å beskrive oppførsel, struktur, avhengigheter og grenser på en måte som både mennesker og maskiner kan forstå.
Umulige å stole på
Programvareindustrien har forsøkt å løse dette problemet før. På slutten av 1990-tallet og begynnelsen av 2000-tallet flyttet man oppmerksomheten fra programmeringsspråk og tekniske detaljer til beskrivelsen av hva systemet faktisk skulle gjøre. Det ble innført flere nye utviklingsmetoder, som bygget systemer fra strukturmodeller (UML) og prosessmodeller (BPMN).
Visjonen strandet fordi forbindelsen mellom modell og implementasjon var svak. Menneskelige utviklere måtte fortsatt oversette modellene til kode, og hver gang koden ble endret uten at modellene ble oppdatert, oppsto det avvik mellom beskrivelse og virkelighet.
Etter noen iterasjoner sluttet organisasjonene å stole på modellene. Koden ble den eneste artefakten som alltid var oppdatert, og dermed den eneste representasjonen av systemet som kunne fungere som sannhetskilde.
To tradisjoner møtes
Generativ KI fjerner denne begrensningen. For første gang har vi verktøy som kan tolke en spesifikasjon, forstå systemrelasjoner, generere implementasjon, skrive tester og ikke minst be om menneskelig avklaring ved behov eller på definerte sjekkpunkter. Nå virker oversetteren mellom modell og implementasjon.
Dermed møtes to utviklingstradisjoner. Den ene kommer fra Model Driven Engineering, UML, BPMN, Executable UML og arkitekturmodellering. Den andre kommer fra Spec Driven Development, OpenSpec, GitHub Spec Kit, KI-agenter og det som nå omtales som context engineering. Den første tradisjonen handlet om hvordan mennesker beskriver systemer. Den andre handler om hvordan maskiner bygger dem. Først nå finnes det en praktisk mekanisme som kan koble de to sammen.
Beskrive systemer
Den nye programvarefabrikken oppstår i møtet mellom disse tradisjonene. Dersom virksomheten kan beskrive sine forretningsprosesser i detalj, kan arkitekturen beskrive systemet og nødvendig oppførsel for å realisere forretningsprosessene. Dersom spesifikasjonene er tilstrekkelig presise, kan agentene bygge implementasjonen, foreslå tester, dokumentere endringer og be om menneskelig review ved faste sjekkpunkter eller når usikkerheten blir for stor. Produksjonslinjen går fra forretningsmodell til systemmodell, videre til agentspesifikasjon og derfra til kode.


Organisasjoner vil oppdage nå at de mangler gode beskrivelser. Forretningsreglene ligger spredt mellom systemer, møter og enkeltpersoner. Arkitekturen finnes i gamle beslutninger. Domenemodellen eksisterer bare i hodene til de mest erfarne utviklerne. Mennesker klarer ofte å skjule denne uklarheten. Agentene eksponerer den umiddelbart.
Den neste fasen av programvareutvikling handler mindre om å produsere kode og mer om å beskrive systemer. Virksomheter som kan modellere prosessene sine, definere domenene sine og dokumentere beslutningene sine, får kraftigere agenter. Virksomheter som ikke kan det, får raskere produksjon av teknisk gjeld.
For første gang siden programmeringsspråkene erstattet maskinkoden, ser vi en ny primær abstraksjon i programvareutvikling. Den abstraksjonen er ikke et språk, et rammeverk eller en plattform. Den er spesifikasjonen.

KI viser deg hvor god du egentlig er






