De opkomst van generatieve AI in softwareontwikkeling

21 september 2023

Generatieve AI en LLM’s zijn geen compleet nieuwe technologieën. Toch is de wereld er de afgelopen jaren, mede dankzij de introductie van ChatGPT, steeds bekender mee geworden. Het grote publiek was gelijk gefascineerd door het opvallend menselijke vermogen van de AI. Maar het bracht ook zorgen met zich mee. Zo was men bang dat het verkeerde informatie zou produceren en potentieel partijdig kan zijn. Ook de mogelijke impact op werkgelegenheid, inclusief die van softwareontwikkelaars, is één van die zorgen. Alleen zijn deze zorgen wel gegrond? Eigenlijk niet. AI zal wel effect gaan hebben op het werk van softwareontwikkelaars, maar niet op een manier waarop softwareontwikkelaars overbodig gaan worden. Integendeel, het wordt eerder een samenwerking.

Consensus over automatisering

AI-ondersteunde softwareontwikkeling is de laatste jaren explosief toegenomen en voegt zich bij andere technologieën die al werden gebruikt om de productiviteit van ontwikkelaars te verhogen. In het verleden werd het gebruik van tools in softwareontwikkeling met argwaan bekeken. Zo vond men de inzet van low-code platforms om processen te automatiseren en te versnellen niet schaalbaar, ​ te simplistisch of niet krachtig genoeg. Door de opkomst van generatieve AI, worden dergelijke misvattingen nu weerlegd. Tegenwoordig is er over het algemeen consensus dat automatisering een positieve ontwikkeling is, die ontwikkelaars helpt om hun werk aanzienlijk te verbeteren. De komende jaren zullen waarschijnlijk steeds meer softwareontwikkelaars dan ook gebruik gaan maken van AI-tools om projecten te versnellen, variërend van LLM’s die stukjes code genereren tot zeer complexe low-code oplossingen die de hele levenscyclus van softwareontwikkeling direct aanpakken.

Vrezen voor werk?

Desondanks betekent dit niet dat AI een bedreiging vormt voor de arbeidsmarkt binnen de softwareontwikkeling. Integendeel, volgens het Amerikaanse Bureau of Labor Statistics zal de totale werkgelegenheid voor softwareontwikkelaars, kwaliteitsanalisten en testers tussen 2021 en 2031 naar verwachting met 25 procent groeien – veel sneller dan het gemiddelde voor alle beroepen in de Verenigde Staten. De kloof tussen organisaties die behoefte hebben aan software en het aantal ontwikkelaars, blijft enorm groot. Softwareontwikkelaars hoeven dan ook niet bang te zijn dat ze door de opkomst van generatieve AI hun baan zullen verliezen. Sterker nog, generatieve AI zal hen juist helpen om veel meer te bereiken in minder tijd. Teams zullen veel sneller kunnen starten met projecten en sneller problemen die voorheen vaak zorgden voor stagnatie kunnen oplossen – mits ze bereid zijn om te leren en hun werkwijze aan te passen.

Een kijkje onder de motorkap

Ondanks de verleidelijke belofte van AI, brengt deze technologie ook nieuwe uitdagingen met zich mee. De voornaamste uitdaging heeft te maken met vertrouwen. Want wanneer generatieve AI wordt gebruikt ter ondersteuning van traditionele codering, is het belangrijk dat softwareontwikkelaars er zeker van kunnen zijn dat deze veilig is en goed blijft presteren. Maar generatieve AI is voorlopig nog vrij willekeurig; gegenereerde antwoorden variëren, afhankelijk van specifieke contexten en prompts. En dit brengt een niveau van onvoorspelbaarheid met zich mee. Hierdoor wordt het toezicht van codeerexperts extra belangrijk voor het beoordelen en toetsen van de antwoorden.

Daarbij komt dat softwareontwikkeling van nature een cyclisch proces is. Wat vandaag wordt ontwikkeld, heeft morgen weer aanpassingen nodig. Zelfs als een bedrijf bereid is de zekere mate van onzekerheid te accepteren en besluit te vertrouwen op AI voor het genereren van code, zal het voor ontwikkelaars steeds lastiger worden om het werk van de AI te doorgronden naarmate er meer code wordt gegenereerd. Het is daarom essentieel dat teams van softwareontwikkelaars zichtbaarheid en controle houden over de code die AI maakt. Iemand moet in staat zijn om het te begrijpen, aangezien de code uiteindelijk weer aangepast moet worden om technical debt – het cumulatieve effect van snelle en minder optimale oplossingen in softwareontwikkeling – te voorkomen.

Technical debt minimaliseren

AI brengt innovatie in een stroomversnelling, waardoor ontwikkelaars niet meer vanaf een nulpunt hoeven te beginnen. Maar het probleem van 1=N blijft bestaan: het ontwerp van een systeem is gebaseerd op een enkel geval (1) dat wordt behandeld als een speciale of afwijkende situatie, terwijl het eigenlijk een algemene (N) situatie is. Dit kan leiden tot complexe en moeilijk te onderhouden code. De grootste kostenpost van een applicatie is immers niet het creëren daarvan, maar het beheer op lange termijn. En als organisaties al worstelden met techical debt, bijvoorbeeld omdat er code is achtergelaten door ontwikkelaars die uit dienst zijn of door leveranciers die apps buiten gebruik stellen, staan ze nu voor de uitdaging om enorme hoeveelheden AI-gegenereerde code te verwerken die hun ontwikkelaars misschien niet eens begrijpen.
​​
​Hoewel het verleidelijk kan zijn voor CIO’s om aan te nemen dat ze teams kunnen trainen om alle benodigde antwoorden uit AI te halen, is het efficiënter om te investeren in technologieën waarmee generatieve AI op zichtbare, controleerbare en betrouwbare manieren kan worden ingezet. Een voorbeeld van zo’n technologie is een low-code platform. Deze ondersteunt realtime visuele weergaven van app-wijzigingen en maakt het testen, inrichten en monitoren van applicaties veel efficiënter.

Geen vooruitgang zonder vertrouwen

Hoewel het zeker is dat AI innovaties binnen organisaties versnelt, blijft de vraag: hoe ver kan het gaan? Er zijn verschillende manieren om bijvoorbeeld DevOps te verbeteren en ontwikkelaars te ontlasten, zodat ze zich kunnen richten op interessanter werk. Maar de echte winst wordt behaald door technologie die enorme sprongen maakt zonder het vertrouwen van ontwikkelaars en IT-leiders aan te tasten. De combinatie van AI, low-code en menselijke creativiteit is de kans om dit te bereiken.

Paulo Rosado

Paulo Rosado

Paulo Rosado is oprichter en CEO van OutSystems

Pin It on Pinterest

Share This