SAP AwardWeltweit beste Projektqualität
Zu unserer Auszeichnung

KI: Der Big Bang in der Softwareentwicklung?

5 Fragen an Jan Rode (Head of Competence Center Application Development bei Sybit)

In welchem Bereich bzw. für welche Aufgaben nutzt Sybit bereits künstliche Intelligenz in der Entwicklung von Software Welchen Mehrwert bietet KI? Was sind die Herausforderungen und was müssen Unternehmen beachten, wenn sie KI in der Softwareentwicklung einsetzen? Wir geben Antwort!

KI ist in aller Munde. In welchem Bereich bzw. für welche Aufgaben nutzt Sybit bereits künstliche Intelligenz in der Entwicklung von Software?

Jan: In der Softwareentwicklung gibt es derzeit viel Bewegung im Bereich der Künstlichen Intelligenz (KI). Viele große Anbieter wie GitHub, GitLab, JetBrains und Google definieren gerade ihre Angebote für Lösungen in der KI-gestützte Softwareentwicklung.
Für Sybit besteht die Herausforderung darin, nicht jedem neuen Trend hinterherzulaufen, aber gleichzeitig die Chancen zu nutzen, frühzeitig neue Technologien auszuprobieren und zu prüfen, wie sie im eigenen Kontext funktionieren können. Der Aufbau von ersten Erfahrungen ist für uns gerade sehr wichtig.

Viele Software-Entwickler bei Sybit nutzen bereits GitHub Copilot, um Code-Vorschläge im Autocomplete-Stil beim Programmieren zu erhalten. Das ist nicht nur nützlich beim Programmieren, sondern auch beim Schreiben von Konfigurationen oder Anlegen von Übersetzungen für mehrsprachige E-Commerce-Shops.
Tools wie ChatGPT oder Copilot-Chat werden für Fehlerbehebungen, Analyse von Logmeldungen, Generierung von Tests und Verbesserungsvorschläge im Quellcode in Sachen Performance, Security oder Verständlichkeit eingesetzt.

Darüber hinaus experimentiert Sybit mit selbst gehosteten Sprachmodellen (LLMs) und Chatbots wie GPT4All. Es werden auch Proof-of-Concepts mit Flowise AI (LangchainJS) durchgeführt, um eigene Datenquellen wie Dokumentation oder Quellcode in bestehende Open-Source-LLMs zu integrieren, um Vorschläge und Antworten auf die bei Sybit eingesetzten Technologie-Stacks hin zu optimieren.

Das alles hat zum Ziel, unseren Entwicklern die Werkzeuge zu Verfügung zu stellen, mit denen sie effiziente und qualitativ hochwertige Lösungen für unsere Kunden entwickeln können.

 

Welchen Mehrwert bietet euch die KI und wo siehst Du weitere Potenziale in der Zukunft?

Jan: Die KI bietet uns bei Sybit aktuell einen erheblichen Mehrwert, insbesondere durch die Einsparung von Zeit bei der Fehleranalyse, die Automatisierung von Routineaufgaben und die Unterstützung beim Schreiben von "Boilerplate"-Code. Sie hilft nicht nur erfahrenen Entwicklern, sondern erleichtert auch Berufseinsteigern das Arbeiten in fremden Technologie-Stacks. Zum Beispiel können Backend-Entwickler mit Unterstützung von KI leichter Anpassungen im Frontend vornehmen, auch wenn ihnen die Syntax und Konzepte noch nicht ganz klar sind. Dies ist im Projektalltag und in der Ausbildung von großem Nutzen.

Das größte Potenzial sehe ich jedoch in der Möglichkeit, das kollektive Wissen unseres Unternehmens besser zugänglich zu machen. Wenn wir in der Lage sind, sämtlichen Quellcode, Dokumentation und Konfiguration unserer Projekte über Embeddings oder Fine-Tuning in ein Sybit-eigenes Sprachmodell zu integrieren, bietet dies eine großartige Gelegenheit, dieses Wissen jedem Entwickler in Form von Code-Vorschlägen oder Chatbots zur Verfügung zu stellen.
Dieser Zugang zu einem reichhaltigen Reservoir an internem Wissen trägt dazu bei, die Qualität unserer Arbeit zu steigern und ermöglicht es uns, noch besser auf die individuellen Bedürfnisse unserer Kunden einzugehen.

 

Gibt es auch Bedenken oder besondere Herausforderungen?

Jan: Natürlich birgt die Nutzung von KI auch Herausforderungen mit sich.
Ein Hauptpunkt ist die unveränderte Verantwortung des Entwicklers für den entstandenen Quellcode. KI-Vorschläge sind hilfreich, aber die finale Entscheidung und kritische Prüfung liegen immer beim Menschen. Vorschläge der KI sollten nicht mehr Vertrauen genießen als der geschriebene Quellcode von Teamkollegen, der ja ebenfalls im Code Review kritisch überprüft wird.

Ein weiterer wichtiger Aspekt ist die IT-Sicherheit und der Datenschutz. Gerade bei der Verwendung von Tools wie ChatGPT ist es unabdingbar, dass Mitarbeiter nicht unbedarft sensible Geschäftsdaten posten oder sonstige sicherheitskritische Informationen preisgeben. Aus diesem Grund investieren wir in die frühzeitige Aufklärung unserer Teams. Es muss jedem klar sein, was in Ordnung ist, wo Vorsicht geboten ist und wie die KI-Tools sicher und effektiv genutzt werden können.

Insgesamt sehen wir in der KI ein großes Potenzial, aber es ist ein Werkzeug, das mit Bedacht und Verantwortungsbewusstsein eingesetzt werden muss. Durch gezielte Schulungen und klare Richtlinien stellen wir sicher, dass die Technologie uns unterstützt, ohne unsere grundlegenden Prinzipien von Qualität, Sicherheit und Datenschutz zu kompromittieren.

 

Wie verändert der Einsatz von KI die Skills von Entwicklern wie Dir? Gibt es dadurch neue Anforderungsprofile in Deinem Beruf?

Jan: Der Einsatz von KI in der Softwareentwicklung verändert definitiv das Anforderungsprofil für Entwickler. KI übernimmt Routineaufgaben und spart Zeit, aber sie stellt uns auch vor neue Herausforderungen. Jetzt geht es weniger darum, jede Zeile Quellcode selbst zu schreiben, und mehr darum, die Vorschläge der KI sinnvoll zu interpretieren und in die bestehende Softwarearchitektur zu integrieren.

Die Fähigkeit zur kritischen Beurteilung von automatisch generiertem Code wird also immer wichtiger. Hier kommen etablierte Prinzipien der „Softwarecraftsmanship“-Bewegung ins Spiel, wie etwa die Praktiken des Clean Codes, automatische Qualitätskontrollen durch CI/CD-Systeme und ein fundiertes Verständnis für Softwarearchitektur. Diese Prinzipien bilden eine solide Grundlage, die uns hilft, KI-Tools effektiv und sicher nutzen zu können. Sie gewährleisten, dass die Integrität der Software auch bei der Nutzung diverser KI-gestützter Funktionen nicht gefährdet ist. So können wir die Vorteile der KI voll ausschöpfen und auch Experimente zulassen, ohne Kompromisse bei der Qualität und Sicherheit unserer Software zu machen.

Die KI-Unterstützung hat auch einen entscheidenden Vorteil beim Einarbeiten in fremde Technologie-Stacks. Früher war es eine Herausforderung, sich schnell in neuen Umgebungen zurechtzufinden, aber durch KI-gestützte Vorschläge und Analysen wird dieser Prozess erheblich beschleunigt. Entwickler, die normalerweise im Backend arbeiten, können nun beispielsweise leichter Anpassungen im Frontend vornehmen, ohne sich intensiv in die neue Syntax einarbeiten zu müssen. Das Tool gibt Hinweise und Vorschläge, die den Einstieg erleichtern.

 

Was würdest Du Unternehmen raten, wenn sie KI in der Entwicklung von Applikationen einsetzen möchten?

Jan: Für Unternehmen, die KI in der Softwareentwicklung einsetzen möchten, sind mehrere Faktoren entscheidend:

  • Strategie festlegen: Klar definierte Ziele und Anwendungsfälle für KI sind essenziell. Überlegen Sie, wo und wie KI den meisten Mehrwert bringt.
  • Verantwortung und Sicherheit: Beachten Sie von Anfang an IT-Sicherheit, Datenschutz und Verantwortlichkeiten. Ein fundiertes Verständnis für bewährte Softwareentwicklungspraktiken trägt dazu bei, potenzielle Risiken zu reduzieren.
  • Teams schulen: Investieren Sie in Weiterbildung, um sicherzustellen, dass Teams mit den neuen Tools umgehen können und Entwickler Strategien kennen, KI-generierten Code effektiv zu prüfen und die Vorschläge in ihrem Sinne beeinflussen können.
  • Klein anfangen: Ein Proof-of-Concept ermöglicht es, KI risikoarm zu testen und die Technologie auf ihre Tauglichkeit für Ihr spezifisches Umfeld zu prüfen.
  • Prozesse anpassen: Seien Sie bereit, Arbeitsabläufe zu ändern. KI wird nicht nur die Tools, sondern auch die Prozesse beeinflussen.