Zephyrnet-logo

9 manieren waarop de productiviteit van ontwikkelaars een boost krijgt door generatieve AI – IBM Blog

Datum:


9 manieren waarop de productiviteit van ontwikkelaars een boost krijgt door generatieve AI – IBM Blog



Zakenvrouw brainstormen op kantoor met behulp van een tablet voor onderzoek

Software ontwikkeling is een arena waar we al aanzienlijke gevolgen van zien generatieve AI hulpmiddelen. De voordelen zijn talrijk en aanzienlijke productiviteitswinsten zijn momenteel beschikbaar voor bedrijven die deze tools omarmen. A McKinsey-studie beweert dat softwareontwikkelaars codeertaken tot twee keer zo snel kunnen voltooien met generatieve AI.

Uit het onderzoek van het adviesbureau bleek, niet verrassend, dat complexe codeertaken niet ernstig werden beïnvloed door het gebruik van generatieve AI, dus de zorgen over AI die ontwikkelaars zou vervangen kunnen veilig worden weggenomen. Er zijn echter ‘laaghangend fruit’-gebruiksscenario’s waarbij AI de teamproductiviteit drastisch kan versnellen en de productiviteit kan verbeteren ontwikkelaarservaring.

Maar voordat we ingaan op de manier waarop generatieve AI-tools impact kunnen hebben, willen we het eerst in het algemeen hebben over het verbeteren van de productiviteit van ontwikkelaars met methodologieën, raamwerken en best practices. Generatieve AI is slechts één hulpmiddel in de gereedschapsriem.

Het meten en verbeteren van de productiviteit van ontwikkelaars

Het meten van de productiviteit van ontwikkelaars, een subset van productiviteit van werknemers, vertegenwoordigt een veelzijdige uitdaging. Traditionele meetgegevens, zoals geschreven coderegels of gewerkte uren, schieten vaak tekort bij het vastleggen van de complexiteit van complexe workflows. Het kan zijn dat ze de kwaliteit of de bredere impact van het werk van een ontwikkelaar niet adequaat weerspiegelen, en voor een goede evaluatie kan het nodig zijn externe factoren, zoals klanttevredenheid, mee te nemen. Het is van cruciaal belang om te erkennen dat de productiviteit van ontwikkelaars verder gaat dan alleen het genereren van code; het omvat de levering van producten van hoge kwaliteit die klanten consequent tevreden stellen, terwijl het risico op burn-out wordt verkleind. Een opgebrande ontwikkelaar is meestal een onproductieve ontwikkelaar.

DevOps Research and Assessment-statistieken (DORA), inclusief statistieken zoals implementatiefrequentie, doorlooptijd en gemiddelde tijd om te herstellen, dienen als maatstaf voor het evalueren van de efficiëntie van softwarelevering. Deze productiviteitsstatistieken voor ontwikkelaars stellen technische managers en Chief Technology Officers (CTO's) in staat om de prestaties van individuen en teams nauwkeurig te meten.

Projectmanagementtools, zoals het algemeen aanvaarde Jira, houden de voortgang bij, beheren taken en vergemakkelijken de analyse van bijdragen. De implementatie van het SPACE-framework – Software-engineering, Productiviteit, Analyse, Samenwerking en Efficiëntie – biedt een holistische benadering van softwareontwikkeling. Key Performance Indicators (KPI's), zoals storypoints en realtime productiviteitstools, dienen als benchmarks voor het consistent meten en verbeteren van de productiviteit van softwareontwikkelaars.

Het diversifiëren van productiviteitsmetingen die verder gaan dan individuele prestaties vereist een alomvattend inzicht in de teamdynamiek. Samenwerkingsplatforms zoals GitHub fungeren als katalysator voor een cultuur van open communicatie, gezamenlijke codebeoordelingen en eenvoudig te faciliteren pull-aanvragen. Dergelijke platforms stellen teamleden niet alleen in staat om van elkaar te leren, maar bieden ook een collectieve ruimte voor het verbeteren van vaardigheden. De strategische introductie van nieuwe functies en de consistente levering van code van hoge kwaliteit versterken niet alleen de concurrentiepositie van het product, maar dragen ook aanzienlijk bij aan de tevredenheid van de eindgebruikers.

DevOps naar voren gekomen als een transformatieve methodologie die ontwikkelings- en operationele praktijken naadloos integreert, waardoor de efficiëntie van de levenscyclus van softwareontwikkeling wordt geoptimaliseerd. Door de samenwerking tussen ontwikkelaars en operationele teams te bevorderen, wil DevOps processen stroomlijnen, de doorlooptijd minimaliseren en de implementatiefrequentie verhogen. Door dit te doen, maakt het de weg vrij voor een omgeving die bevorderlijk is voor voortdurende innovatie en verbetering. DevOps helpt knelpunten aan te pakken en technische schulden proactief te beheren, waardoor een werkomgeving ontstaat waarin ontwikkelaars tevreden zijn en mee kunnen blijven sjouwen.

Engineeringmanagers kunnen regelmatig bijdragenanalyses uitvoeren en deze informatie gebruiken om nieuwe tools te integreren en problemen met de werknemerservaring aan te pakken, waardoor een gunstige omgeving voor de productiviteit van ontwikkelaars ontstaat. De adoptie van het YES-model (Your Engineering Success) onderstreept het belang van het cultiveren van een positieve en ondersteunende cultuur binnen het team, waarbij een sfeer wordt bevorderd die innovatie en creativiteit aanmoedigt. Deze holistische benadering zorgt ervoor dat de productiviteit van ontwikkelaars wordt gemeten en geoptimaliseerd op een manier die niet alleen de individuele en teamprestaties verbetert, maar ook het algehele welzijn van het ontwikkelingspersoneel bevordert.

Hoe generatieve AI kan helpen

Er zijn een aantal manieren waarop AI ontwikkelingsworkflows kan stroomlijnen. Hier zijn enkele meer algemene gebruiksscenario's:

Het elimineren van repetitieve taken

Coderen omvat vaak eenvoudige, soms vervelende taken, en dit is waar generatieve AI-tools de neiging hebben om te schitteren. Repetitief, routinematig werk, zoals het uittypen van standaardfuncties, kan worden versneld met functies voor automatisch aanvullen. Tools zoals OpenAI's Codex kunnen coderegels of hele functies voorstellen op basis van beschrijvingen in natuurlijke taal. Codedocumentatie kan worden versneld door ontwikkelaars te helpen zich automatisch aan specifieke documentatieformaten te houden.

Natuurlijke taalinterfaces

Generatieve AI kan dit faciliteren natuurlijke taal interfaces voor softwareontwikkeltools. Ontwikkelaars kunnen mogelijk communiceren met ontwikkelomgevingen, foutopsporings- en versiecontrolesystemen met behulp van natuurlijke taalopdrachten, waardoor het toegankelijker wordt voor mensen zonder uitgebreide programmeerkennis.

Codesuggestie

Generatieve AI kan beginners ook helpen door contextbewuste suggesties, uitleg en begeleiding te bieden bij het schrijven van code. Dit kan de leercurve voor nieuwe ontwikkelaars versnellen en de toegang tot softwareontwikkeling democratiseren.

Codeverbetering

Generatieve AI kan verbeteringen aan bestaande code voorstellen door overbodige of inefficiënte delen te identificeren. Dit kan helpen bij het behouden van de kwaliteit en prestaties van de code in de loop van de tijd. Problemen die misschien lastig te lokaliseren waren, kunnen veel sneller worden gevonden en verholpen door door AI voorgestelde oplossingen te implementeren, wat zelfs automatisch kan worden gedaan.

Code vertaling

Generatieve AI kan ook code van de ene taal naar de andere vertalen, waardoor de codeconversie wordt gestroomlijnd modernisering van apps projecten, zoals het updaten van oudere applicaties door COBOL naar Java te transformeren.

Code testen

Generatieve AI kan worden gebruikt bij het automatisch creëren van testgevallen. Het kan code analyseren en testinvoer genereren, waardoor de testdekking wordt verbeterd en potentiële problemen vroeg in het ontwikkelingsproces worden geïdentificeerd.

Bugdetectie

Door grote codebases te analyseren, kan generatieve AI softwareontwikkelingsteams helpen bij het identificeren en zelfs automatisch oplossen van bugs. Dit kan leiden tot robuustere en betrouwbaardere software, maar ook tot snellere ontwikkelingscycli.

Gepersonaliseerde ontwikkelomgevingen

Generatieve AI kan helpen bij het creëren van gepersonaliseerde ontwikkelomgevingen die zich aanpassen aan de voorkeuren en codeerstijlen van individuele ontwikkelaars. Dit zou de productiviteit verhogen en de codeerervaring comfortabeler maken voor programmeurs.

Verbeterde documentatie

Generatieve AI kan technische teams helpen bij het genereren van documentatie door codefunctionaliteiten samen te vatten, algoritmen uit te leggen en context te bieden. Dit kan handig zijn voor het bijhouden van duidelijke en actuele projectdocumentatie.

Hoe generatieve AI voor codeersoftware werkt

Generatieve AI bij het coderen werkt door gebruik te maken van machine learning modellen die zijn getraind op grote datasets met code. Deze modellen zijn in staat de structuur en syntaxis van programmeertalen te begrijpen.

Het model vooraf trainen

Generatieve AI-modellen zijn vooraf getraind op enorme datasets met diverse voorbeelden van code geschreven in verschillende programmeertalen. Tijdens de pre-training leert het model het volgende woord of token in een codereeks te voorspellen op basis van de context van de voorgaande woorden. Met dit proces kan het model de syntaxis, semantiek en patronen vastleggen die inherent zijn aan verschillende programmeertalen.

Context begrijpen

Wanneer het generatieve AI-model een coderingsprompt of -vraag krijgt, verwerkt het de invoer en gebruikt het de aangeleerde kennis om de context en bedoeling te begrijpen. Het model houdt rekening met de relaties tussen verschillende code-elementen, zoals variabelen, functies en besturingsstructuren, om relevante en syntactisch correcte code te genereren.

Codegeneratie

Met behulp van de aangeleerde patronen en contextueel begrip genereert het generatieve AI-model codefragmenten als output. De gegenereerde code is gebaseerd op de invoerprompt en volgt de structuur en stijl van de programmeertalen waarin het model is getraind.

Aanpassen aan feedback van gebruikers

Generatieve AI-modellen beschikken vaak over mechanismen om zich aan te passen en te verbeteren op basis van gebruikersfeedback. Ontwikkelaars kunnen feedback geven op de gegenereerde code, waardoor het model het inzicht ervan kan verfijnen en toekomstige resultaten kan verbeteren. Deze iteratieve feedbacklus draagt ​​bij aan het vermogen van het model om in de loop van de tijd nauwkeurigere en contextueel relevante code te genereren.

Hoewel generatieve AI bij het coderen een krachtig hulpmiddel is, is het geen vervanging voor de creativiteit, probleemoplossing en domeinexpertise van menselijke ontwikkelaars. Het dient als een augmentatietool die ontwikkelaars helpt bij codeertaken, suggesties geeft en mogelijk bepaalde aspecten van het ontwikkelingsproces versnelt. Ontwikkelaars moeten generatieve AI op een verantwoorde manier gebruiken, de gegenereerde code grondig valideren en de resultaten ervan aanvullen met hun eigen expertise en inzicht.

Een hypothetische use-case

Stel je een programmeur voor die de taak heeft om een ​​complexe functie voor een webapplicatieproject te implementeren. Geconfronteerd met de uitdaging van ingewikkelde gegevensmanipulatie en dynamische weergave van inhoud, besluit ze generatieve AI te integreren in haar ontwikkelingsworkflow om het codeerproces te versnellen. Ze begint met het zorgvuldig definiëren van de vereisten van de nieuwe functie, waarbij ze de kernlogica en structuur samenvat in een coderingsprompt. Met behulp van een generatieve AI-tool die is getraind op een diverse dataset met webontwikkelingscode, voert ze haar coderingsprompt in, waardoor het model autonoom een ​​voorlopig codefragment genereert dat is afgestemd op de gespecificeerde vereisten. Deze gegenereerde code bevat functies voor gegevensverwerking, gebeurtenisafhandeling en dynamische weergave van inhoud.

Ze gaat een iteratief proces aan van het verfijnen en afstemmen van de gegenereerde code. Door deze interactie zorgt ze ervoor dat de door AI gegenereerde code voldoet aan de coderingsconventies en architectonische nuances van het project. Nu de gegenereerde code aan haar tevredenheid voldoet, integreert ze deze in de bestaande codebase van de webapplicatie. Ondanks het versnelde ontwikkelingsproces dat wordt gefaciliteerd door generatieve AI, erkent ze de onmisbare rol van menselijke validatie bij grondige tests om de juistheid, het reactievermogen en de betrouwbaarheid van de functie te garanderen.

De integratie van generatieve AI in haar workflow versnelt niet alleen het codeerproces, maar stelt haar ook in staat meer tijd te besteden aan ontwerpaspecten op een hoger niveau, overwegingen voor de gebruikerservaring en uitgebreide tests. Deze use case illustreert hoe generatieve AI als een waardevolle bondgenoot dient, de mogelijkheden van ontwikkelaars vergroot en bijdraagt ​​aan de algehele efficiëntie en kwaliteit van de levenscyclus van softwareontwikkeling.

Aan de slag

IBM Watsonx-codeassistent maakt gebruik van generatieve AI om de ontwikkeling te versnellen, terwijl de principes van vertrouwen, veiligheid en compliance centraal blijven staan. Ontwikkelaars en IT-operators kunnen de modernisering van applicaties versnellen en automatisering genereren om IT-omgevingen snel te schalen. watsonx Code Assistant wordt mogelijk gemaakt door de IBM Granite-basismodellen die state-of-the-art grote taalmodellen bevatten die zijn ontworpen voor code, gericht om IT-teams te helpen code van hoge kwaliteit te creëren met behulp van door AI gegenereerde aanbevelingen op basis van natuurlijke taalverzoeken of bestaande bronnen code.

Ontdek watsonx Code Assistant

Was dit artikel behulpzaam?

JaNee


Meer uit Gegevens en analyses




Waarom je generatieve AI zou moeten gebruiken voor het schrijven van Ansible Playbooks

2 min gelezen - Generatieve kunstmatige intelligentie (gen AI) kan een nieuw tijdperk van productiviteit van ontwikkelaars inluiden door de manier waarop het werk wordt gedaan te verstoren. Codeerassistenten kunnen ontwikkelaars helpen door inhoudsaanbevelingen te genereren op basis van natuurlijke taalprompts. Naarmate de huidige hybride cloud-architecturen in omvang en complexiteit toenemen, kunnen ontwikkelaars en operators van IT-automatisering profiteren van het toepassen van gen-AI op hun werk. In een IBM-enquête uit 2023 onder 3,000 CEO’s wereldwijd meldden drie op de vier dat hun concurrentievoordeel zou afhangen van wie de…




6 voordelen van datalijn voor financiële diensten

5 min gelezen - De financiële dienstverleningssector is al meer dan tien jaar bezig met het moderniseren van zijn databeheer. Maar naarmate we dichter bij de mondiale economische neergang komen, is de behoefte aan eersteklas bestuur steeds dringender geworden. Hoe kunnen banken, kredietverenigingen en financiële adviseurs gelijke tred houden met de veeleisende regelgeving, terwijl ze tegelijkertijd strijden tegen beperkte budgetten en een hoger personeelsverloop? Het antwoord is data-afstamming. We hebben zes belangrijke redenen verzameld waarom financiële organisaties zich tot lineage-platforms zoals Manta wenden om…




Introductie van gegevenswaarneming voor Azure Data Factory (ADF)

<1 min gelezen - In deze IBM Databand-productupdate kondigen we met trots onze nieuwe ondersteuningsgegevenswaarneming voor Azure Data Factory (ADF) aan. Klanten die ADF gebruiken als tool voor het orkestreren en transformeren van datapijplijnen, kunnen nu gebruikmaken van de mogelijkheden voor observatie en incidentbeheer van Databand om de betrouwbaarheid en kwaliteit van hun data te garanderen. Waarom Databand gebruiken met ADF? End-to-end pijplijnmonitoring: verzamel metagegevens, statistieken en logboeken van alle afhankelijke systemen. Trendanalyse: bouw historische trends op om proactief afwijkingen te detecteren en te waarschuwen voor potentiële…

IBM-nieuwsbrieven

Ontvang onze nieuwsbrieven en onderwerpupdates die de nieuwste thought leadership en inzichten over opkomende trends bieden.

Abonneer nu

Meer nieuwsbrieven

spot_img

Laatste intelligentie

spot_img