Wat je als start-up ondernemer moet weten over AI & ChatGPT voor softwareontwikkeling en coderen

Je kunt er tegenwoordig niet meer om heen. Waarschijnlijk staat je LinkedIn tijdlijn er vol mee, en wordt er zelfs over gepraat op de borrel.

We hebben het natuurlijk over ChatGPT. Als je in de startup-wereld zit, is de kans groot dat je gehoord hebt van de nieuwe ontwikkelingen in AI.

Maar waar het vaak wordt besproken in de context van marketing, sales of scholieren die het gebruiken voor hun huiswerk, is er ook een hele andere wereld van AI waar start-up founders hun voordeel mee kunnen doen: softwareontwikkeling.

In deze blog gaan we dieper in op hoe ChatGPT en andere AI-tools kunnen helpen bij software testing en andere aspecten van softwareontwikkeling.

Bij IGNE maken we namelijk altijd gebruik van de nieuwste tools om zo de beste tech partner te kunnen zijn voor start-ups. Omdat we transparantie zo belangrijk vinden, hebben we deze blog geschreven om je mee te nemen in een aantal manieren waarop wij ChatGPT toepassen in ons developmentproces. 

Deze blog is speciaal geschreven voor ondernemers zonder veel technische achtergrond. Het lezen van de blog zal je helpen beter te kunnen communiceren met developers, of zelfs om aan je eigen code te kunnen werken.

ChatGPT: wat is het en welke risico's zijn eraan verbonden?

Laten we eerst starten bij het begin. ChatGPT is een AI-model ontwikkeld door OpenAI dat speciaal is opgeleid om te communiceren met mensen via tekst. In andere woorden: je kan met ChatGPT praten alsof het een mens is.

Maar naast dat je leuke gesprekken kan voeren met ChatGPT, kun je er nog veel meer mee doen. Het is een krachtig model dat in staat is om allerlei taken te automatiseren die normaal gesproken veel menselijke inspanning vragen.

Een van de vele handige toepassingen is als ondersteuning bij softwareontwikkeling. Het bijzondere aan ChatGPT is namelijk dat je in "normale taal" tegen de tool kunt praten, maar dat ChatGPT dat kan omzetten in (simpele) code. Zie hier een voorbeeld:

Risico's aan het gebruik van ChatGPT voor code

Pas wel op, want ChatGPT is absoluut geen vervanging voor een developer. Zo is uit wetenschappelijk onderzoek gebleken dat code geschreven met behulp van AI vaak grote veiligheidsrisico's bevat.

En ook heeft Stack Overflow (een bekende Q&A site voor developers) antwoorden die gemaakt zijn met AI tijdelijk verboden. Waarom? Omdat de antwoorden vaak logisch en goed klinken, maar toch vaak van lage kwaliteit bleken te zijn.

Tot slot moet je altijd wel weten wat je doet als je AI gebruikt voor coderen. Je moet namelijk weten wat je precies aan ChatGPT wilt vragen. En ook begrijpen waarom code wel of niet werkt.

Maar, dat gezegd hebbende, bij zorgvuldig gebruik is ChatGPT erg handig bij softwareontwikkeling!

Hoe je ChatGPT kunt inzetten voor softwareontwikkeling

Nu je weet wat ChatGPT is, maar ook de risico's kent, gaan we eens kijken naar een paar manieren waarop je ChatGPT kunt gebruiken voor softwareontwikkeling.

Automatisch realistische content produceren om te testen

Testen is een van de belangrijkste onderdelen van softwareontwikkeling. Het is namelijk de enige manier om te weten of de code in de praktijk ook zo werkt als verwacht.

Maar testen kan een hele klus zijn als je realistische inhoud moet produceren om levensechte scenario's te simuleren. En in de praktijk blijkt het vaak lastig om álle scenario's te voorzien.

Ook daarin komt ChatGPT erg handig van pas. Met ChatGPT kan je automatisch realistische content produceren.

De mogelijkheden hierin zijn eindeloos, maar laten we naar 2 voorbeelden kijken.

Stel je bent een chatbot aan het ontwikkelen. Dan kun je ChatGPT gebruiken om de gesprekken tussen de chatbot en de gebruiker automatisch te genereren. Dit zorgt voor een realistische testomgeving waarin je de chatbot kunt uitproberen en eventuele fouten kunt ontdekken.

Een ander voorbeeld is als je een software ontwikkelt die financiële gegevens analyseert. Dan kun je ChatGPT gebruiken om gegevens te genereren die op echte financiële gegevens lijken.

Let wel op, je moet er duidelijk bij zetten dat het om een voorbeeld gaat, anders zal ChatGPT de taak niet uitvoeren vanwege veiligheidsregels. En in het echt zal je waarschijnlijk iets meer moeten specificeren hoe deze transacties eruit moeten komen te zien. ;-)

De zoektocht naar bugs

Het kan zelfs de meest geniale programmeur soms uren kosten om één stomme bug te vinden en op te lossen.

Gelukkig kan ChatGPT hierbij helpen. Je kan een stuk code delen en vragen of ChatGPT de bug kan vinden en een oplossing kan suggereren. Erg handig! Vervolgens is het de taak van de developer om te oordelen of dit inderdaad de beste oplossing is, en om de oplossing op de juiste manier in de code te verwerken.

ChatGPT heeft hierbij wel een aantal beperkingen. Zo kan je alleen korte stukken tekst als input geven, dus niet je hele code. Ook loop je risico dat de code die ChatGPT schrijft, al eerder letterlijk zo op het internet heeft gestaan. Dat betekent dat je (per ongeluk) plagiaat pleegt. Houd hier dus altijd rekening mee.

Het uitbreiden van testdocumentatie en bug reports

Het aannemen en opleiden van nieuwe software developers is altijd een uitdaging. Vooral als het gaat om het geven van de juiste instructies en het geven van inzicht in de werking van de software. Daarom is het toevoegen van documentatie aan je project zo belangrijk.

Je kunt hier ook ChatGPT gebruiken ter ondersteuning. Je kunt bijvoorbeeld een lijst geven van alle bugs en fouten die in de software zijn gevonden, en hun oplossingen. ChatGPT kan deze informatie vervolgens gebruiken om gedetailleerde instructies te genereren over hoe deze bugs werden opgelost en hoe soortgelijke bugs moeten worden voorkomen. Op deze manier kan je eenvoudig de testdocumentatie uitbreiden zonder dat je developers er teveel kostbare tijd aan kwijt zijn.

Het schrijven van testscenario's

Een software tester maakt een uitgebreide lijst met testscenario's om ervoor te zorgen dat alle mogelijke gebruikersacties worden getest. Als je als ondernemer zelf je software test, kan het zijn dat je niet aan elk testscenario denkt of simpelweg niet de tijd hebt om alle scenario's uit te denken.

Ook hierbij komt ChatGPT weer handig van pas. Want ChatGPT kan scenario's genereren in een fractie van de tijd die het jou zou kosten om ze te brainstormen.

Je kunt beginnen met het invoeren van enkele van je eigen testscenario's en ChatGPT vragen om soortgelijke gestructureerde scenario's te maken voor andere gebruikersacties. Of de situatie beschrijven en vragen om testscenario's. Zo kom je snel tot een uitgebreide lijst van testscenario's!

ChatGPT alternatieven voor softwareontwikkeling

De bekendste AI-tool op dit moment is ChatGPT. Maar dit is zeker niet de enige tool die er is. Als je dieper in de wereld van softwareontwikkeling met behulp van AI wilt duiken, zijn er verschillende tools om te verkennen:

Github Co-Pilot

Een tool die vaak door developers wordt gebruikt is Github Co-Pilot. Het is gemaakt door Github en OpenAI, het bedrijf dat ook achter ChatGPT zit. Het maakt dus gebruik van dezelfde software als ChatGPT, maar is dan speciaal getraind op het ontwikkelen van code.

Het helpt developers door automatisch code-suggesties te doen op basis van de inhoud van het huidige bestand en de locatie van de cursor. Je kan het gebruiken met populaire code-editors zoals Visual Studio Code en Neovim en biedt ondersteuning voor de meeste bekende talen.

Mintlify

Met Mintlify kun je documentatie schrijven voor jouw code. De tool begrijpt (stukken van) jouw code en zet dit om in documentatie voor gebruikers. Ook kan je stukken code selecteren en snel begrijpen wat iemand anders' functie doet. Voor jou als ondernemer dus ook handig om snel stukken code van de voor jou ontwikkelde software te begrijpen.

Tabnine

Ook Tabnine helpt software developers door middel van AI-gegenereerde code suggesties. Zeker een aanrader als je je code sneller wilt schrijven. De tool is beschikbaar voor bijna alle programmeertalen en code-editors, en is ook gratis beschikbaar.

Tot slot: hulp nodig?

In deze blog hebben we onderzocht hoe ChatGPT en AI-tools de softwareontwikkeling van een start-up kunnen verbeteren. ChatGPT is een krachtig AI-model dat communiceert via tekst en in staat is om taken te automatiseren.

Het is niet bedoeld als vervanging voor een developer, maar als aanvulling en kan helpen bij software testing en softwareontwikkeling.  Als ondernemer zonder technische achtergrond, kan ChatGPT je ook helpen om beter te communiceren met de developers.

Heb je hulp nodig bij het bouwen van je app of website? IGNE is als tech partner gespecialiseerd in het helpen van startups met het ontwikkelen van hun app en website. We helpen je graag, dus schroom niet om contact op te nemen als je vragen hebt of op zoek bent naar tips!

Let's talk

ready to ignite?

UP