De opkomst van generatieve AI in softwareontwikkeling

21 september 2023

Gene­ra­tieve AI en LLM’s zijn geen compleet nieuwe tech­no­lo­gieën. Toch is de wereld er de afgelopen jaren, mede dankzij de intro­ductie van ChatGPT, steeds bekender mee geworden. Het grote publiek was gelijk gefas­ci­neerd door het opvallend mense­lijke vermogen van de AI. Maar het bracht ook zorgen met zich mee. Zo was men bang dat het verkeerde infor­matie zou produ­ceren en poten­tieel partijdig kan zijn. Ook de mogelijke impact op werk­ge­le­gen­heid, inclusief die van soft­wa­re­ont­wik­ke­laars, is één van die zorgen. Alleen zijn deze zorgen wel gegrond? Eigenlijk niet. AI zal wel effect gaan hebben op het werk van soft­wa­re­ont­wik­ke­laars, maar niet op een manier waarop soft­wa­re­ont­wik­ke­laars overbodig gaan worden. Inte­gen­deel, het wordt eerder een samenwerking.

Consensus over automatisering

AI-onder­steunde soft­wa­re­ont­wik­ke­ling is de laatste jaren explosief toege­nomen en voegt zich bij andere tech­no­lo­gieën die al werden gebruikt om de produc­ti­vi­teit van ontwik­ke­laars te verhogen. In het verleden werd het gebruik van tools in soft­wa­re­ont­wik­ke­ling met argwaan bekeken. Zo vond men de inzet van low-code platforms om processen te auto­ma­ti­seren en te versnellen niet schaal­baar, ​ te simplis­tisch of niet krachtig genoeg. Door de opkomst van gene­ra­tieve AI, worden derge­lijke misvat­tingen nu weerlegd. Tegen­woordig is er over het algemeen consensus dat auto­ma­ti­se­ring een positieve ontwik­ke­ling is, die ontwik­ke­laars helpt om hun werk aanzien­lijk te verbe­teren. De komende jaren zullen waar­schijn­lijk steeds meer soft­wa­re­ont­wik­ke­laars 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 oplos­singen die de hele levens­cy­clus van soft­wa­re­ont­wik­ke­ling direct aanpakken.

Vrezen voor werk?

Deson­danks betekent dit niet dat AI een bedrei­ging vormt voor de arbeids­markt binnen de soft­wa­re­ont­wik­ke­ling. Inte­gen­deel, volgens het Ameri­kaanse Bureau of Labor Statis­tics zal de totale werk­ge­le­gen­heid voor soft­wa­re­ont­wik­ke­laars, kwali­teits­ana­listen en testers tussen 2021 en 2031 naar verwach­ting met 25 procent groeien – veel sneller dan het gemid­delde voor alle beroepen in de Verenigde Staten. De kloof tussen orga­ni­sa­ties die behoefte hebben aan software en het aantal ontwik­ke­laars, blijft enorm groot. Soft­wa­re­ont­wik­ke­laars hoeven dan ook niet bang te zijn dat ze door de opkomst van gene­ra­tieve AI hun baan zullen verliezen. Sterker nog, gene­ra­tieve 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 verlei­de­lijke belofte van AI, brengt deze tech­no­logie ook nieuwe uitda­gingen met zich mee. De voor­naamste uitdaging heeft te maken met vertrouwen. Want wanneer gene­ra­tieve AI wordt gebruikt ter onder­steu­ning van tradi­ti­o­nele codering, is het belang­rijk dat soft­wa­re­ont­wik­ke­laars er zeker van kunnen zijn dat deze veilig is en goed blijft presteren. Maar gene­ra­tieve AI is voorlopig nog vrij wille­keurig; gege­ne­reerde antwoorden variëren, afhan­ke­lijk van speci­fieke contexten en prompts. En dit brengt een niveau van onvoor­spel­baar­heid met zich mee. Hierdoor wordt het toezicht van codeer­ex­perts extra belang­rijk voor het beoor­delen en toetsen van de antwoorden.

Daarbij komt dat soft­wa­re­ont­wik­ke­ling van nature een cyclisch proces is. Wat vandaag wordt ontwik­keld, heeft morgen weer aanpas­singen nodig. Zelfs als een bedrijf bereid is de zekere mate van onze­ker­heid te accep­teren en besluit te vertrouwen op AI voor het genereren van code, zal het voor ontwik­ke­laars steeds lastiger worden om het werk van de AI te door­gronden naarmate er meer code wordt gege­ne­reerd. Het is daarom essen­tieel dat teams van soft­wa­re­ont­wik­ke­laars zicht­baar­heid en controle houden over de code die AI maakt. Iemand moet in staat zijn om het te begrijpen, aangezien de code uitein­de­lijk weer aangepast moet worden om technical debt – het cumu­la­tieve effect van snelle en minder optimale oplos­singen in soft­wa­re­ont­wik­ke­ling – te voorkomen.

Technical debt minimaliseren

AI brengt innovatie in een stroom­ver­snel­ling, waardoor ontwik­ke­laars 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 afwij­kende situatie, terwijl het eigenlijk een algemene (N) situatie is. Dit kan leiden tot complexe en moeilijk te onder­houden code. De grootste kosten­post van een appli­catie is immers niet het creëren daarvan, maar het beheer op lange termijn. En als orga­ni­sa­ties al worstelden met techical debt, bijvoor­beeld omdat er code is achter­ge­laten door ontwik­ke­laars die uit dienst zijn of door leve­ran­ciers die apps buiten gebruik stellen, staan ze nu voor de uitdaging om enorme hoeveel­heden AI-gege­ne­reerde code te verwerken die hun ontwik­ke­laars misschien niet eens begrijpen.
​​
​Hoewel het verlei­de­lijk kan zijn voor CIO’s om aan te nemen dat ze teams kunnen trainen om alle benodigde antwoorden uit AI te halen, is het effi­ci­ënter om te inves­teren in tech­no­lo­gieën waarmee gene­ra­tieve AI op zichtbare, contro­leer­bare en betrouw­bare manieren kan worden ingezet. Een voorbeeld van zo’n tech­no­logie is een low-code platform. Deze onder­steunt realtime visuele weergaven van app-wijzi­gingen en maakt het testen, inrichten en monitoren van appli­ca­ties veel efficiënter.

Geen vooruitgang zonder vertrouwen

Hoewel het zeker is dat AI inno­va­ties binnen orga­ni­sa­ties versnelt, blijft de vraag: hoe ver kan het gaan? Er zijn verschil­lende manieren om bijvoor­beeld DevOps te verbe­teren en ontwik­ke­laars te ontlasten, zodat ze zich kunnen richten op inte­res­santer werk. Maar de echte winst wordt behaald door tech­no­logie die enorme sprongen maakt zonder het vertrouwen van ontwik­ke­laars en IT-leiders aan te tasten. De combi­natie van AI, low-code en mense­lijke crea­ti­vi­teit is de kans om dit te bereiken.

Pin It on Pinterest

Share This