OutSystems, een belangrijke Europese ontwikkelaar van een high-performance low-code platform, is zeer actief als het gaat om het integreren van AI voor zowel developers als business managers. Deze ontwikkelingen beloven de manier waarop software wordt ontwikkeld en bedrijven kunnen innoveren aanzienlijk te veranderen.
“Bij OutSystems zijn we er van overtuigd dat AI een high-performance low-code oplossing als wij leveren enorme kansen biedt”, vertelt Nuno Carneiro. Hij is AI Principal Product Manager bij OutSystems. “Daarom hebben we een speciale groep binnen het bedrijf die kijkt naar tal van AI-technologieën. Dat gaat beduidend verder dan ‘enkel en alleen’ de Large Language Models die dankzij ChatGPT en Google Bard nu erg populair zijn. Natuurlijk zien wij veel in conversationele AI op basis van chatbots, maar we zien klanten bijvoorbeeld ook met computer vision aan de slag gaan om productherkenning in hun apps in te bouwen. Dat biedt enorm interessante kansen.”
Drie pilaren
Het van oorsprong Portugese bedrijf hanteert op het gebied van AI een aanpak die steunt op drie ‘pillars’:
- AI-mogelijkheden voor business: OutSystems streeft ernaar om AI-functies zoals chatbots, fotoherkenning en Large Language Models (LLMs) toegankelijk te maken voor business-gebruikers. Hierdoor kunnen deze bijvoorbeeld op een low-code manier apps ontwikkelen waarmee consumenten dankzij beeldherkenning een foto van een product maken, waarna de app informatie over het product in die foto opzoekt en mogelijkheden voor koop aanbiedt.
- Verbetering van developer-productiviteit: Door middel van AI hoopt OutSystems het ontwikkelproces te stroomlijnen, waardoor code van hogere kwaliteit sneller kan worden geproduceerd. Door AI toe te passen, kunnen developers bijvoorbeeld dubbele stukken code ontdekken en verwijderen of bijvoorbeeld code identificeren die binnen een app niet wordt gebruikt maar wel in de app is opgenomen.
- Application lifecycle management: Het gebruik van AI voor het beheren en onderhouden van applicaties speelt een cruciale rol in het platform van OutSystems.
AI Mentor System en kwaliteitsbeheer
Zowel de business-organisatie als de developers die de business bij low-code projecten helpen, hebben veel baat bij het toevoegen van AI-technologieën. Om de productiviteit van developers verder te verbeteren heeft OutSystems onlangs een zogeheten ‘AI Mentor System’ ontwikkeld. De kreet ‘mentor’ is hierbij interessant: het neemt namelijk niet zozeer de rol van de developer over, maar biedt ‘guidance’ zoals een mentor dat geeft aan een leerling of nieuwe medewerker.
De mentoren bieden nogal wat mogelijkheden:
- Code Mentor – Deze tool geeft developers suggesties over de volgende stappen die in het ontwikkeltraject gezet moeten worden, doet een voorstel voor de beste optie en voegt deze toe aan de code, volledig geconfigureerd en aangepast aan de bedrijfslogica en context. Daarnaast stelt Code Mentor ontwikkelaars in staat om natuurlijke taal te gebruiken om complexe gegevens te beschrijven die nodig zijn voor een applicatie. De ingebouwde AI genereert vervolgens automatisch de juiste SQL-query, wat developers veel tijd bespaart.
- Architectuur Mentor – Dit is een op AI gebaseerde softwarematige ‘enterprise architect’ die code beoordeelt om ervoor te zorgen dat deze voldoet aan de normen die in de enterprise architectuur zijn vastgelegd.
- Security Mentor – Op AI gebaseerde functionaliteit die code beoordeelt om kwetsbaarheden in de code die tijdens het ontwikkelingsproces zijn geïntroduceerd te identificeren.
- Performance Mentor – Deze beoordeelt de code om mogelijke prestatieknelpunten te identificeren en ervoor te zorgen dat apps consequent presteren op het gewenste prestatieniveau.
- Maintainability Mentor – Op AI gebaseerde analysefunctionaliteit die het applicatieportfolio van een bedrijf of organisatie scant op zoek naar mogelijkheden om de onderhoudbaarheid van de code te verbeteren. Dit gebeurt door bijvoorbeeld meermalen geschreven code voor dezelfde functionaliteit op te sporen.
AI helpt hierbij dus heel nadrukkelijk de developer om sneller betere code te maken. Daar staat tegenover dat we soms berichten lezen als zouden AI-tools software developers op termijn overbodig maken omdat deze tools zelf ook in staat zijn code te schrijven. Zo’n vaart zal dit niet lopen, meent Carneiro. “Natuurlijk biedt AI developers enorm veel kansen. Denk aan het automatiseren van repetitieve taken. Maar zoals je aan de diverse mentor-oplossingen kunt zien, biedt AI vooral veel mogelijkheden om developers te helpen betere code te maken. En dan bovendien code die beter aansluit op wat de business nodig heeft. Doordat de developer meer kan doen in minder tijd en bovendien betere code oplevert, heeft hij of zij ook veel meer tijd om zich bezig te houden met wat de business nu echt wil. Met andere woorden, de developer kan zich veel meer richten op het helpen van de business als het gaat om innovatie door middel van digitale applicaties. Dat is natuurlijk bijzonder nuttig voor de business.”
Project Morpheus
Hij wil maar zeggen: innoveren staat bij vrijwel ieder bedrijf tegenwoordig gelijk aan digitaliseren. Er zijn eerder meer dan minder developers nodig, meent hij. Nog mooier wordt het als deze developers zich bovendien op die business-innovatie kunnen richten, omdat veel klassieke development-taken via AI geautomatiseerd worden.
Relevant is hier ook het Project Morpheus van OutSystems. Dit project levert technologie op waarmee developers applicaties kunnen bouwen die voldoen aan unieke vereisten, met snelle iteraties en AI-ondersteuning. Belangrijke kenmerken zijn:
- Applicaties genereren met behulp van conversationele prompts.
- Werken met een AI-ondersteunde applicatie-editor die voortdurend suggesties geeft.
- Realtime, full-stack visuele weergaven van applicatiewijzigingen.
De rol van playgrounds
Carneiro benadrukt dat OutSystems zich vooral ziet als een vendor die klanten helpt om veel sneller dan voorheen te innoveren. Daarbij speelt uiteraard het low-code-karakter van de tools van het bedrijf een belangrijke rol. Business-mensen kunnen immers relatief eenvoudig hun eigen frontend applicaties maken, zonder dat daar al te veel development-werk bij komt kijken. Dat op zich is al een grote stap vooruit voor veel business-organisaties, die gewend zijn aan trage en stroperige IT-trajecten die maanden of langer in beslag kunnen nemen.
De toevoeging van AI versnelt het ontwikkelen van frontend applicaties aanzienlijk. Bovendien biedt AI volop mogelijkheden voor de business. De vraag is alleen wel of business-mensen voldoende kennis van AI hebben om de mogelijkheden die hierdoor ontstaan op waarde te schatten. Dat is inderdaad een punt van aandacht, vertelt Carneiro. “Voor tal van situaties biedt een combinatie van low-code en AI enorme kansen. Maar als je met name de AI-kennis onvoldoende in huis hebt, wordt het lastig die kansen te herkennen.”
Daarom adviseert OutSystems bedrijven en organisaties om zogeheten ‘playgrounds’ in te richten. Dit zijn – letterlijk – digitale speeltuinen waarin business-mensen samen met developers kunnen experimenteren. Dan ontdekken zij al gauw hoe snel een app met dit soort development tools kan worden gebouwd, is de ervaring van Carneiro. “Ook kunnen zij dan zelf ontdekken wat er mogelijk is als bijvoorbeeld computer vision of natural language processing aan een app wordt toegevoegd. Zo ontstaat dan een oplossing als hiervoor beschreven en waarbij een klant een foto van een product als startpunt voor een shopping-ervaring kan gebruiken. Of neem apps waarbij de gebruiker simpelweg in natuurlijke taal een vraag stelt en met grote mate van nauwkeurigheid een antwoord van de app krijgt.”
Conversational chatbots op basis van Large Language Models stelen weliswaar momenteel de show, maar de wereld van AI biedt nog veel meer kansen, stelt Carneiro. Daarom onderzoekt de speciale afdeling die OutSystems voor AI heeft opgezet ook andere AI-technieken. Denk dan aan technieken als machine learning, graph neural networks en bijvoorbeeld automated reasoning voor codegeneratie. Deze laatste aanpak wordt door OutSystems bijvoorbeeld toegepast om tijdens een ontwikkeltraject suggesties aan developers te doen.