AI som hjelper til, men ikke tar over
Utvikling med AI: Hvorfor rask kode ikke løser alt
AI-verktøy skriver i dag kode som hadde tatt en utvikler hele dagen. Likevel føles det ikke som om vi leverer ferdig programvare noe raskere. Hvorfor?
Svaret er enkelt: å skrive kode er ikke det samme som å bygge programvare.
Kodegenereringens paradoks
Det er fascinerende å se en AI lage en hel funksjon på sekunder. Men så begynner diskusjonene. Er dette egentlig den riktige funksjonen å bygge? Hvilke konsekvenser får det for resten av systemet? Teamet bruker ofte like lang tid på å avklare og vurdere endringen, som det ville tatt å skrive den fra bunnen.
Dette er ikke en svakhet ved AI. Det er et tegn på at flaskehalsen aldri lå i selve kodingen – den lå i alt det andre.
Hva programvareutvikling egentlig handler om
Koding er oversettelsen av en spesifikasjon til kjørbare instruksjoner. AI gjør dette raskere enn noensinne. Men programvareutvikling er noe mer.
Når noen ber om «legge til team-invitasjoner», er det sjelden en klar beskrivelse. Det er en idé. Før noen skriver kode, må man avklare:
- Skal det sendes e-post eller bare en lenke?
- Hvem kan sende invitasjoner?
- Hva skjer når en invitasjon utløper?
- Hvordan påvirker det eksisterende rettigheter?
Det er disse avklaringene som avgjør om funksjonen blir bra eller bare blir et problem.
Entropi og programvare
Programvareutvikling kan tenkes som å redusere kaos. En vag idé må gå gjennom flere steg:
- Produktarbeid – avklarer mål og avgrenser hva som skal bygges
- Design – definerer atferd og unntakstilfeller
- Implementasjon – skriver selve koden
- Gjennomgang og utrulling – sikrer at ingenting går i stykker
Dersom man skaffer seg fast kode uten å ha avklart de tidligere stegene, kan man øke kaoset i stedet for å redusere det. Fast kode med dårlige avklaringer ofte gir flere problemer under gjennomgang og i produksjon.
Ny arbeidsflyt for utvikling
De teamene som har funnet en god balanse med AI, har ikke bare lagt til et tool. De har endret hvordan de arbeider rundt det.
Fase 1: Klargjøre kontekst
Man må være tydeligere enn før om hva man er på jakt etter. Vage ideer gir dårligere resultater både hos mennesker og hos AI.
Fase 2: Veiledning underveis
Man styrer ikke et ferdig resultat, <|eos|>