Menu

Kan AI al een developer vervangen? Onze IT’ers bouwden een SAP-applicatie

Geschreven door Max Stubbe

Aan de hand van een proof of concept (PoC) voor een kleine SAP-applicatie onderzochten we de mogelijkheden van AI-tools voor verschillende stappen van het ontwikkelproces. We begonnen met de teksttool ChatGPT en zetten vervolgens in SAP Build Code ook copilot Joule in. Tot slot testten we GitHub Copilot, een tool die kan helpen bij het schrijven van code. 

Hoe geavanceerd zijn deze AI-tools inmiddels? Zijn ze veilig in gebruik? En kunnen ze ontwikkelaars al vervangen? Je leest het in dit blog-item. 

Functioneel ontwerp genereren met ChatGPT

Normaal gesproken wordt het functioneel ontwerp voor een applicatie aangeleverd door één van onze collega’s of door de organisaties waar we voor werken. Voor deze PoC pakten we het anders aan. We zetten ChatGPT in voor het schrijven van functionele documentatie en testten als vergelijkbare tool ook Microsoft Copilot. 

Allereerst gaven we ChatGPT de context van het probleem dat we wilden oplossen. We deden ook een suggestie voor de gewenste oplossing en gaven aan dat de output een functioneel document moest zijn. Hieronder zie je een voorbeeld van de documentatie die ChatGPT genereert. De output, een dataobject, kunnen we in de volgende stap inzetten. Het document blijkt een goede basis te zijn, maar het is belangrijk het altijd eerst handmatig te controleren en te verfijnen. Zo weet je zeker dat het geen fouten bevat. 

SAP Build Code en Joule

SAP Build Code is een cloud-omgeving voor het ontwikkelen van code. De tool bevat de AI-gestuurde copilot Joule. We gaven Joule het door ChatGPT gegenereerde functionele document voor het realiseren van een back-endapplicatie. De output bestond uit een datamodel en de bijbehorende services, gebouwd met CAP (Cloud Application Programming model). De code die Joule oplevert is aanpasbaar en uitbreidbaar en er wordt meteen testdata gegenereerd (waarin de context meegenomen wordt). Het resultaat blijkt dus wederom een goed startpunt te zijn voor verdere ontwikkeling. 

Fiori-app met Fiori Elements

We hadden de backend-app nu gerealiseerd, maar we beschikten nog niet over een front-end-applicatie. Voor dit scenario genereerden we op basis van de door Joule gegenereerde datamodellen en services een Fiori-app met Fiori Elements. Met Fiori Elements kun je zonder te programmeren snel apps genereren aan de hand van vaste templates (Layouts en Floorplans). De app werkte meteen en bevatte de basisfunctionaliteiten die je van een Fiori-app mag verwachten, zoals zoeken, filteren, aanmaken, verwijderen en bewerken. 

Apps aanpassen met AI 

Met de hiervoor beschreven tools konden we dus snel een basisapp realiseren (frond-end en back-end). Wat meteen opviel, was dat bepaalde functionaliteiten ontbraken, zoals het valideren van nieuwe data. Dit bleken we te kunnen realiseren met behulp van GitHub Copilot of door Joule weer te vragen. Beide tools geven codesuggesties op basis van de code die je schrijft en de context van je project. De output is niet exact wat je nodig hebt, maar het zit er negen van de tien keer dichtbij. 

AI en veiligheid: een belangrijk topic

AI leert van de data die je invoert, maar je wilt natuurlijk niet dat gevoelige bedrijfsinformatie zomaar in een AI-tool terechtkomt. De gratis versie van ChatGPT bijvoorbeeld, slaat in het geval van standaard instellingen je gesprekken op om van te leren. Als alternatief kun je tegen betaling ook AI-modellen trainen op interne data binnen een afgeschermde omgeving. Stel in ieder geval duidelijke bedrijfsrichtlijnen op voor het gebruik van AI-tools en controleer de output altijd handmatig. 

Conclusie: AI kan helpen, maar het kan geen ontwikkelaar vervangen

Voor alle AI-toepassingen geldt: de kwaliteit van de output hangt sterk af van de kwaliteit van je prompt. De applicaties die je vervolgens met SAP Build Code en Joule kunt genereren zijn een goed startpunt, maar missen vaak nog de nodige verfijning. Complexere use cases kunnen AI-tools vaak (nog) niet zelfstandig oplossen. Ook blijft handmatige controle en verfijning onmisbaar en hiervoor is meestal de nodige kennis en ervaring vereist. Toch kunnen code-suggesties ontwikkelaars helpen efficiënter te werken en ook weten we dat AI-tools bijvoorbeeld kunnen ondersteunen bij het genereren van unit-tests. 

Joule wordt steeds beter in het genereren van SAP-applicaties

Bij Ideo volgen we de ontwikkelingen, die razendsnel gaan, op de voet. We verwachten dat Joule steeds beter wordt in het genereren van SAP-applicaties. Wil je meer weten over het verantwoord toepassen van AI en de impact die het kan hebben op jouw organisatie? Onze mensen zijn je graag van dienst.