Was ist KI-gestützte Entwicklung?

Bei KI-gestützter Entwicklung handelt es sich um eine Funktion, die Anwender durch den Softwareentwicklungsprozess führt, indem sie die aus Millionen anonymisierten Codemustern gewonnenen Einsichten nutzt. Damit empfiehlt sie Entwicklern die richtigen Tools und Pattern für jede möglich Situation. Das Ziel des Ganzen ist, die Konzentration und Produktivität von Entwicklern zu steigern, da sich logische Abläufe so schneller und zuverlässiger erstellen lassen, selbst bei komplexen Aufgaben.

Zudem ist aber auch „Just-in-Time“-Hilfe möglich, die auf Referenzdokumente und andere Informationsquellen verweist, und Vorschläge für vorgefertigte Komponenten bietet, die Reibung und Wissenslücken beseitigen.

Vorteile von KI-gestützter Entwicklung

Es gibt zwei Hauptvorteile von KI-gestützter Entwicklung.

Zum einen kann sie sowohl die Softwareentwicklung für Personen ohne Programmierkenntnisse zugänglicher machen als auch die Skills vorhandener Entwickler verbessern, und so für eine höhere Effizienz und Produktivität sorgen. Angesichts einer Million offener Stellen für Entwickler allein in den USA kann KI-gestützte Entwicklung dazu beitragen, den vorhandenen Fachkräftemangel zu beheben.

Der zweite Vorteil besteht darin, dass KI bewährte Entwicklungspraktiken ermitteln und durchsetzen kann. Eine Missachtung dieser Best Practices kann dazu führen, dass Software langsam oder anfällig für Fehler oder Sicherheitslücken ist. KI-gestützte Entwicklung kann dies verhindern und sicherstellen, dass die Software zukunftssicher, leistungsfähig und resilient ist.

Wie kann KI Entwickler unterstützen?

Bevor wir zum Kern des Themas kommen, wollen wir darauf eingehen, was genau wir unter Künstlicher Intelligenz (KI) verstehen.

Bei OutSystems verwenden wir den Begriff, um eine Reihe von Technologien wie maschinelles Lernen und automatisierte Entscheidungsfindung zu beschreiben. Ihr Zweck besteht darin, eine Aufgabe zu beschleunigen und zu automatisieren – in diesem Fall das Schreiben von Code.

Der Ansatz von OutSystems für den Einsatz von KI basiert auf dem Respekt vor dem Individuum. Maschinelles Lernen wird mit dem Ziel eingesetzt, Entwickler zu unterstützen und sicherzustellen, dass sie Aufgaben schneller und mit weniger Fehlern erledigen können.

Die Art und Weise, wie KI zur Unterstützung des Entwicklungsprozesses im gesamten Softwareentwicklungszyklus (SDLC) eingesetzt wird, basiert bei uns auf drei Säulen. Der bereits genannte virtuelle Experte erfüllt die Rolle des technischen Leiters. Er gibt Anleitungen, führt einige gängige Aufgaben aus und übernimmt die Codeprüfung sowie die Validierung der Softwarequalität.

  • Anleitung: In Momenten, in denen Entwickler nicht weiter kommen, nutzen wir KI, damit sie die benötigte Unterstützung erhalten und schneller weiterarbeiten können. Unsere Smart-Guidance-Funktion bietet beispielsweise eine kontextbezogene Suchfunktion, die von der Entwicklungsumgebung aus aufgerufen wird und Online-Ressourcen vorschlägt, die bei der jeweiligen Aufgabe hilfreich sein könnten. Zudem bieten wir bei logischen Abläufen Vorschläge für die nächsten Schritte. So müssen Entwickler nicht mehr das Seitenmenü aufrufen und das gewünschte Element aus einer langen Liste möglicher Knoten und Daten auswählen, sondern erhalten eine Liste mit 1 bis 6 Vorschlägen.
  • Automatisierung: Viele gängige Vorgänge lassen sich automatisieren. Maschinelles Lernen eignet sich bestens für repetitive oder zeitaufwändige Aktionen. Für Aufgaben, die über die Fähigkeiten von unerfahreneren Entwicklern hinausgehen, können wir Erkenntnisse anwenden, die von früheren ähnlichen Programmieraufgaben erfasst wurden. Dies hilft Entwicklern, produktiver und motivierter zu arbeiten.
  • Validierung: Unsere Discovery-Tools nutzen KI, um die Abhängigkeiten zwischen Modulen zu analysieren, Verstöße zu erkennen und die Elemente (Aktionen, Bildschirme, Entitäten) aufzuzeigen, die an der falschen Stelle assembliert sind. So setzen z. B. unsere Architecture-Discovery-Tools Best Practices durch und identifizieren doppelten Code. Dies trägt dazu bei, technische Schulden zu reduzieren.

Auch in den Testtools unserer Partner spielt KI eine wichtige Rolle, um die kritischen Bereiche zu identifizieren, in denen Tests erforderlich sind. Zudem werden anschließend durchgeführte Tests automatisiert, damit sie mit den beschleunigten Produktionsplänen der DevOps-Ära Schritt halten können.

Wenn eine Applikation einen Test nicht besteht, kann die KI dem Entwickler Rückmeldung über die Bereiche geben, die überarbeitet werden müssen.

Die Zukunft der KI-gestützten Entwicklung

Die besten DevOps-Anwender geben mehrmals täglich fehlerfreien Code in Produktionsumgebungen aus. Ohne die durch KI ermöglichte Automatisierung lässt sich eine solche Geschwindigkeit nicht aufrechterhalten, geschweige denn steigern.

Für die Zukunft sehen wir eine noch größere Rolle von KI im Entwicklungsprozess. KI kann dafür sorgen, dass einfache Aufgaben leicht und komplexe Ziele gut umsetzbar sind, indem unnötige und repetitive Aufgaben reduziert bzw. beseitigt werden. Zugleich kann KI die für komplexe Applikationen erforderliche Leistung beibehalten.

Die Mission von OutSystems besteht darin, jedem Unternehmen Innovationen durch Software zu ermöglichen. Durch die Einbindung von KI in alle Phasen des Entwicklungsprozesses hilft die OutSystems-Plattform Entwicklerteams, ihre vorhandenen Fähigkeiten zu maximieren. So können sie sich auf die Software konzentrieren, die einen Unterschied macht, statt ihre Zeit mit Instandhaltungsmaßnahmen zu verschwenden.

Jenseits des Lebenszyklus der Softwareentwicklung wird KI auch eingesetzt, um das Erlebnis in Endnutzer-Applikatonen zu verbessern. Möglich ist dies z. B. durch die Bereitstellung einer automatischen Bilderkennung oder Stimmungsanalyse. Die entsprechenden Funktionen lassen sich leicht über die OutSystems-Plattform implementieren.

Wie bereits erläutert, wird bei der KI-gestützten Entwicklung technische Expertise bereitgestellt, die Entwickler – wie mit einem technischen Leiter an der Seite – durch den Prozess führt. Dies macht Entwicklung einem deutlich größeren Personenkreis zugänglich und befreit Experten von den repetitiven Aspekten des Codeschreibens. So können sie einen noch größeren Beitrag für ihre Organisation leisten.