AI-native utviklingsmetodikk
AI og utviklere
Utvikleres syn på AI er komplekst. Selv om AI har muliggjort enestående produktivitetsøkning og informasjonsinnhenting, har den samtidig fundamentalt endret utviklerens rolle. Noen spår at AI vil utvikle seg til AGI og erstatte de fleste utviklere, mens andre nedvurderer AI som et overvurdert verktøy og hevder at utviklerens iboende verdi forblir uendret. Disse holdningene ser ved første øyekast ut til å være diametralt motsatte, men de er forbløffende like i den forstand at de bedømmer AI ut fra eksisterende tankesett.
Det viktige her er imidlertid ikke å bedømme eller evaluere AI. Den virkelige kjernen ligger i hvordan utviklingstankegangen må endres med AI som premiss, og hvordan utviklerens og organisasjonens roller må rekonfigureres i tråd med denne endringen. For dette formål har vi systematisert AI-utviklingsmetodologien gjennom en 3-trinns analyse nedenfor.
AI-avhengig utvikling
AI-avhengig utvikling er stadiet der AI betraktes som beslutningstakeren, og resultatene aksepteres ukritisk. På dette stadiet oppfatter utviklere AI som en enhet som organiserer og implementerer deres ideer, og de aksepterer den som en erstatning som de til og med kan delegere beslutninger og ansvar til.
Denne metoden ser ut til å øke produktiviteten eksplosivt på overflaten. I realiteten akkumuleres imidlertid uforklarlig og uansvarlig kode raskt. Når det oppstår problemer med kode som er produsert på denne måten, kan ingen med sikkerhet avgjøre hvorfor strukturen ble slik den ble, eller hvilke valg som var de riktige.
På dette stadiet produserer AI kun upålitelige resultater, og utvikleren forblir i rollen som forbruker av disse resultatene. Som et resultat blir både AI og utvikleren kun brukt på en utmattende måte, og reell kompetanse akkumuleres ingen steder.
AI-assistert utvikling
AI-assistert utvikling er et stadium som observeres hos mer erfarne utviklere. På dette stadiet oppfatter utvikleren AI ikke som en erstatning for beslutninger, men som et kraftig verktøy som øker produktiviteten. Utvikleren på dette stadiet forblir beslutningstakeren for design og endelige vurderinger, og delegerer repeterende og kostbare oppgaver som kode generering, refactoring, debugging og dokumentsammendrag til AI. Denne metoden reduserer utviklerens andel av repeterende oppgaver betydelig og kan dramatisk øke produktiviteten samtidig som tilliten opprettholdes.
Denne metoden har imidlertid en strukturell begrensning i den forstand at designkonteksten og vurderingene ikke sirkuleres. Siden utviklingsretningen og beslutningsprosessen forblir i utviklerens personlige tankegang og ikke deles med AI, klarer ikke AI å akkumulere utviklerens endringer og vekst. Som et resultat blir designkonteksten og vurderingsevnen isolert hos utvikleren.
Dette forhindrer dannelsen av en læringssyklus mellom utvikleren og AI, og AI-utnyttelsesevnen utvides ikke utover utviklerens eksisterende kompetanse. Veksten tilskrives individet, og over tid øker kompetansegapet mellom utviklere. Videre avslører denne kompetansen begrensninger ved at den er vanskelig å akkumulere eller gjenskape på organisasjonsnivå.
AI-native utvikling
AI-native utvikling er et stadium som går utover å stole på eller bruke AI som et verktøy, og innebærer å innlemme AI i utviklingsstrukturen og beslutningsprosessen, samt en struktur der AI og mennesker interagerer og vokser sammen. På dette stadiet fungerer AI som et interagerende medlem som deler utviklerens vurderinger og kontekst.
Kjernen i denne strukturen er at AI og utvikleren sirkulerer i to retninger, ikke bare i én. Utvikleren deler kontinuerlig designintensjonen og begrunnelsen for vurderingene med AI, og AI akkumulerer utviklerens tankegang og organisasjonens kontekst gjennom dette. Som et resultat utvikler AI seg fra å være et verktøy som bare behandler forespørsler, til å presentere skreddersydde alternativer for organisasjonen og assistere og korrigere utviklerens vurderinger.
AI-native utvikling er ikke avhengig av spesifikke individers ferdigheter eller knep. Hvis AI-konteksten opprettholdes selv om medlemmene byttes ut, kan lignende spørsmål stilles om samme problem, og bedre beslutninger kan tas basert på tidligere valg og deres årsaker. Utviklingskompetansen er ikke knyttet til individet, men akkumuleres og kan gjenskapes i hele organisasjonen.
Til syvende og sist er det AI-native utvikling sikter mot, ikke en spesifikk arkitektur eller utviklingsmetodikk, men selve utviklingsprosessen der AI og menneskelig vurdering og læring kontinuerlig forsterkes. I denne strukturen erstatter utvikleren og AI ikke hverandre. I stedet deler de det samme problemområdet og utvikler seg til et forhold der de sammen skaper bedre vurderinger og en mer robust struktur.