Van code naar context: de rolverdeling tussen developer en AI verandert fundamenteel
Kunnen developers nog zonder AI? In korte tijd zijn AI-tools als GitHub Copilot en ChatGPT onmisbare assistenten geworden voor ontwikkelteams. Uit een onderzoek van StackOverflow onder 65.000 developers blijkt dat al 60% gebruik maakt van AI-tools in hun dagelijks werk. In deze samenwerking tussen mens en machine tekent zich langzaam maar zeker een verschuiving af.
“Je ziet dat AI de rol van developers ingrijpend verandert”, aldus Willem Meints, Chief AI Architect bij Info Support: “Nu gebruiken veel developers AI nog als een geavanceerde vorm van Google: ze stellen een concrete vraag, plakken een stukje code of vragen hoe ze iets moeten implementeren in bijvoorbeeld ASP.NET Core. Dat zal gaan veranderen. We zullen minder tijd besteden aan hoe oplossingen worden uitgedrukt in programmeertaal, en ons meer richten op wat we precies willen bereiken met software. AI kan deze vraag vervolgens doorvertalen naar softwarecomponenten.”
Om deze nieuwe rolverdeling tussen developers en AI in goede banen te leiden, heeft Info Support het AI Augmented Software Development Maturity Model ontwikkeld. Dit dient als kompas om de juiste stappen te zetten en de juiste vragen te stellen.
Van syntax naar specificatie
De nieuwe rolverdeling zal allerminst betekenen dat developers overbodig worden of zelfs minder belangrijk, benadrukt Willem: “Een ervaren copywriter werkt beter met ChatGPT dan iemand die nooit teksten schrijft. Een designer haalt meer uit Midjourney dan een leek. Voor developers geldt hetzelfde; onze expertise als professional wordt niet vervangen, maar versterkt. Recent wetenschappelijk onderzoek, gepubliceerd door het Social Science Research Network, toont aan dat ontwikkelaars met AI-assistentie tot 20% productiever zijn in hun werk. AI is een hefboom waarmee we sneller en meer kunnen bereiken met minder handmatig werk.”
De samenwerking tussen developers en AI heeft wel wat inzichten opgeleverd: “Software engineering is veel meer dan alleen het schrijven van code en het onthouden van syntax. Een AI-systeem kan niet zelfstandig nadenken over concepten; het genereert code op basis van de instructies die het krijgt. De komende jaren zullen we het pure programmeerwerk steeds vaker overlaten aan AI, terwijl de developer zich richt op het ontwerpen en architectureel uitwerken van oplossingen om de juiste input te geven aan AI.”
Ook is het de rol van de developer om rekening te houden met zaken als security, validatie en logging. “Code die door AI wordt gegenereerd werkt vaak wel, maar kan inefficiënt zijn of zelfs onveilig. Developers moeten dus nog altijd de kennis hebben van softwarearchitectuur en best practices om de juiste specificaties te kunnen schrijven en de gegenereerde code kritisch te reviewen.”
De evolutie van ontwikkeltools
Deze toekomstige rolverdeling is voorlopig nog geen feit. “De huidige generatie AI-modellen kent nog best wel wat beperkingen”, aldus Willem. “Snelheid is een cruciale factor. Hoewel de modellen al veel sneller zijn geworden, is er nog te veel wachttijd tussen input en output. Dit vertraagt het iteratieproces, wat extra belangrijk is omdat we de AI-output regelmatig moeten verfijnen om het gewenste resultaat te krijgen.”
Een andere uitdaging ligt in de interface tussen mens en machine. Willem: De huidige chat-interface werkt prima voor gesprekken, maar is niet ideaal voor softwareontwikkeling. Ontwikkelaars switchen bijvoorbeeld tussen ChatGPT en hun code editor. We hebben behoefte aan volledig geïntegreerde ontwikkelomgevingen waar de AI naadloos meedenkt en assisteert. Tools als Copilot Workspace laten al zien hoe het beter kan: zo is er een nieuwe functionaliteit waarmee je een foto van een whiteboard-diagram kunt uploaden; AI analyseert het diagram en bepaalt welke bestanden aangepast moeten worden, welke tests geschreven moeten worden en hoe de verschillende componenten samenhangen. Dit sluit perfect aan bij hoe ontwikkelteams daadwerkelijk werken: samen een ontwerp maken en dat vertalen naar werkende code. Hoewel deze features nog in ontwikkeling zijn, laten ze zien dat we toe bewegen naar een natuurlijkere manier om met AI samen te werken in het ontwikkelproces.”
Het AI Augmented Software Development Maturity Model
Om ontwikkelteams te helpen bij deze transitie, heeft Info Support het AI Augmented Software Development Maturity Model ontwikkeld. “We werken vaak in hybride teams samen met opdrachtgevers, waarin we teams begeleiden bij de adoptie van AI-tools. Het AI Augmented Software Development Maturity Model is een gestructureerde methode om AI-adoptie in softwareontwikkeling naar een hoger plan te tillen.”
De meeste ontwikkelteams experimenteren op dit moment vooral met AI voor kleine, afgebakende taken zoals het genereren van unit tests of het schrijven van individuele functies. Willem: “Dat is de eerste fase, van waaruit je met kleine stappen geleidelijk meer ervaring kunt opdoen en het gebruik van AI gaat uitbreiden naar complexere taken. De volgende stap is om complete features te ontwikkelen met behulp van AI. Door deze gefaseerde aanpak krijgen ontwikkelaars de tijd om te wennen aan de nieuwe werkwijze.”
Een ander belangrijk aspect van het model is de nadruk op kwaliteit en veiligheid. “We moeten realistisch zijn over de beperkingen van AI. Onderzoek van professor Armando Solar-Lezama, leider van M.I.T.’s Computer Assisted Programming Group, toont aan dat AI-modellen nog steeds worstelen met fundamentele aspecten van softwareontwikkeling, zoals probleemanalyse en het opsporen van bugs in grotere systemen. Het maakt nog steeds aannames die niet altijd kloppen, bijvoorbeeld over welk testframework je gebruikt. Het is cruciaal dat developers de output kritisch blijven beoordelen en begrijpen wat er gegenereerd wordt. Code review wordt daarom belangrijker dan ooit. Dit vereist niet alleen de juiste tools, maar ook investering in veiligheidsmaatregelen en review-processen.”
Wat als we dit door AI laten oplossen?
Het mag duidelijk zijn dat de rol van AI in softwareontwikkeling de komende jaren alleen nog maar zal toenemen. Willem: “Dat is goed nieuws, want AI maakt developers productiever. En we kunnen ons concentreren op de aspecten waar menselijke expertise écht waarde toevoegt: het begrijpen van klantbehoeften, het maken van architecturale keuzes en het waarborgen van kwaliteit en veiligheid.”
Het AI Augmented Software Development Maturity Model kan daarbij als kompas dienen om de juiste stappen te zetten. Dit wordt steeds belangrijker: Google CEO Sundar Pichai rapporteerde recent dat al meer dan een kwart van hun nieuwe code door AI wordt gegenereerd, zij het onder nauwkeurig toezicht van ervaren engineers. “Het helpt om voortdurend de vraag te stellen: wat als we dit door AI laten oplossen? Waarbij we niet alleen kijken naar de mogelijkheden, maar ook naar de mogelijke beperkingen en risico’s. Het model helpt om deze transitie in goede banen te leiden, door de kansen te plukken en de uitdagingen te benoemen.”