Zum Inhalt springen
Hand aus CPU Strängen tippt auf Tastatur

KI in der Softwareentwicklung: müssen wir jetzt noch coden?

Ob GitHub Copilot, eigenes Modell oder ChatGPT: KI ist in der Softwareentwicklung gefragt wie nie. Was bringen die Künstlichen Intelligenzen? Und müssen wir überhaupt noch selbst coden?

KI ist das Hypethema, das sämtliche Schlagzeilen beherrscht. Kein Wunder: Generative Systeme auf Basis des OpenAI-Spachmodells haben schon heute enormen Einfluss darauf, wie wir in vielen Bereichen arbeiten.

Auch in Sachen Softwareentwicklung: Hier sind es vor allem professionelle Tools wie Copilot von GitHub, die bereits „Milliarden von Codezeilen analysiert haben und natürlichsprachliche Eingabeaufforderungen in Codierungsvorschläge in Dutzenden von Sprache verwandeln.“ Laut GitHub geht es dabei um nicht weniger als „74 Prozent mehr Fokus für erfüllende Aufgabe, 88 Prozent mehr Produktivität und 96 Prozent mehr Geschwindigkeit für sich wiederholende Aufgaben.“

Niedrigere Einstiegshürden, höhere Produktivität

Ob die Prozentangaben stimmen oder nicht – was klar ist und wohl viele erfahrene Developer:innen nicht gerne hören, ist die Tatsache, dass KI die Einstiegshürden beim Programmieren deutlich reduziert.

Sprich: Der Gap zwischen erfahrenen Entwickler:innen und denen, die gerade erst anfangen, verringert sich dramatisch. Denn mit der KI können auch Neulinge rasant ein hohes Produktivitätslevel erreichen. Dabei ist die Qualität des Codes meist nicht beeinträchtigt, da man hier mittels KI auf das Wissen von Millionen von Entwickler:innen zurückgreift. Auch bei den Themen Bugfixing und Testing bietet die künstliche Intelligenz eine helfende Hand.

Im Ergebnis lassen sich viele zeitfressende Aufgaben, die man gestern noch manuell erledigen musste, von einer KI in Sekundenschnelle erledigen. Und das beschleunigt den Entwicklungsprozess enorm.

Mehr Speed in Sachen Softwareentwicklung?

Agile und funktionsübergreifende Teams sind in der Softwareentwicklung ein beliebtes Organisationsmuster: Ein Teil der Arbeit ist technischer Natur, ein anderer beinhaltet die interne und externe Kommunikation, wieder ein anderer die kreative Lösungsfindung, das Design und die Planung.

Wird das Team nun von einer KI unterstützt, fallen all diese Arbeiten nicht weg. Aber die eigentliche Zeit, die es dann noch fürs Programmieren der besprochenen Lösungsansätze braucht, kann sich auf ein paar Sekunden verringern. Und so lässt sich die Arbeit einer ganzen Woche vielleicht an nur einem Tag erledigen?

Verglichen mit der manuellen Programmierung lassen sich damit auch mehr Iterationen in einer kürzeren Zeitspanne erreichen. Und selbst wenn die ersten paar Iterationen noch nicht gut sind, lässt sich die Anwendung dank der hohen Geschwindigkeit sehr schnell verbessern.

„Hey ChatGPT, was bringt die Softwarentwicklung mit KI?“

Der Einsatz Künstlicher Intelligenz kann eine Reihe von Vorteilen bieten. Und wenn Eigenlob auch stinkt, haben wir mal ChatGPT gefragt, was eine generative KI dazu meint:

Automatisierung repetitiver Aufgaben: KI kann verwendet werden, um repetitive Aufgaben wie das Schreiben von Boilerplate-Code, Testen und Debuggen zu automatisieren. Dies kann die Produktivität der Entwickler:innen steigern und ihnen mehr Zeit für komplexe Aufgaben geben.

Verbesserte Genauigkeit: Künstliche Intelligenz kann helfen, menschliche Fehler zu reduzieren, indem sie Code überprüft und deraufhinweist. Dies kann die Qualität der Software verbessern und den Zeit- und Kostenaufwand für das Beheben von Fehlern verringern.

Erweiterte Analyse: KI-Tools können große Mengen an Code analysieren und Muster oder Anomalien erkennen, die für menschliche Prüfende schwierig zu finden wären. Dies kann zur Identifizierung von Sicherheitslücken oder Leistungsproblemen beitragen.

Unterstützung bei der Entscheidungsfindung: KI kann dabei helfen, fundiertere Entscheidungen zu treffen, indem sie komplexe Daten analysiert und Einblicke liefert. So kann sie die optimalen Technologien für ein bestimmtes Projekt auswählen oder Auswirkungen verschiedener Designentscheidungen bewerten.

Können Entwickler:innen noch Mehrwert generieren?

Wenn die KI-gestützte Softwareentwicklung zum Mainstream wird, steht fest: Entwickler:innen, die nicht ins Hintertreffen geraten möchten, müssen sich selbst weitentwickeln und lernen, mit den entsprechenden Tools umzugehen. Es gilt, neue Nischen zu erkunden und auszufüllen.

Letztendlich wird eine Künstliche Intelligenz Softwareentwickler:innen aber nicht vollständig ersetzen können. Denn eine generative KI kann nur auf das zurückgreifen, was es schon gibt und ist nicht in der Lage, etwas völlig Neues zu kreieren. Das Denken „out-of-the-box“ liegt nun mal nicht in ihrer Natur: Sie lernt aus vorhandenen Daten, kombiniert diese, kann in hoher Komplexität Muster entdecken und eine wahrscheinliche und strukturierte Lösung für ein bekanntes Problem liefern.

Kann Künstliche Intelligenz kreativ sein?

Ohnehin ist es eine der wichtigsten Fähigkeiten von Entwickler:innen, nach Informationen zu suchen, vorhandene Frameworks zu finden, zu nutzen und herauszufinden, wie sie in das Gesamtbild passen. Um Geschäftsanforderungen zu lösen, geht es heute schon mehr um Kommunikation und Integration als ums coden, da alle grundlegenden Probleme bereits gelöst sind und das Rad nicht neu erfunden werden muss.

Somit können uns Copilot & Co. vor allem an neuralgischen Stellen der Softwareentwicklung unterstützen und einen enormen Produktivitätschub liefern – aber alleine, ohne den Menschen, können auch sie keine ausgezeichnete Anwendung programmieren. 

Können wir dem KI-Code vertrauen?

Stellen wir uns folgendes Gedankenspiel vor: Wenn der Computer eine Anwendung ausführt, wird der Quellcode in einen effizienten Maschinencode kompiliert, der im Wesentlichen aus Einsen und Nullen besteht und den die Maschine direkt ausführen kann. Warum sollte eine KI dann überhaupt einen Programmcode schreiben, bei dem es sich ja ohnehin nur um eine Übersetzungsebene handelt, in der der Mensch ausdrückt, was der Computer tun soll?

Die Antwort lautet: Es geht um Kontrolle und Transparenz. Oder drastischer ausgedrückt: Das Verständnis dafür, welchen Output die Künstliche Intelligenz aus unserem Input generiert, darf uns auf keinen Fall verloren gehen. Dazu kommen Fragen der Ethik und Verantwortung, wenn Entscheidungen automatisiert werden.

Nur, wenn wir der KI-basierten Software vertrauen, kann sie erfolgreich sein. Und deshalb sind Auditierung und Zertifizierung, Ethik und anderer Compliance-Vorgaben bei der Nutzung sehr wichtig. Daher existieren auch zunehmend Frameworks und Prüfwerkzeuge, die das leisten können.

Intellectual Property: Ist das alles nur geklaut?

Wenn man eine Blackbox nutzt, die auf „Knopfdruck“ Programmcode generiert, stellt sich auch die Frage: Mit welchen Daten wurde sie trainiert? Welche Implikationen ergeben sich daraus? Mache ich mich strafbar, wenn ich meine Ergebnisse auf Basis eines Modells veröffentliche, das lizenzrechtlich beschränkt ist? Und wenn ich ein offenes Modell nutze, muss ich meinen Code dann ebenfalls unter Open-Source-Lizenz stellen?

Die Antworten bleiben bisher vage: Es gibt bislang keine eindeutigen Richtlinien. Um auf Nummer sicher zu gehen, kann man Lösungen verwenden, die nur copyleft-freie Lizenzen als Trainingsdaten verwenden (z. B. StarCoder). Wer sichergehen möchte, dass eigene Daten nicht für das Training der nächsten KI-Generation verwendet werden und Unternehmensdaten das Unternehmen nicht verlassen, sollte eigene Modelle vor Ort hosten. Nicht zuletzt bleibt es eine individuelle Frage der Compliance, wie man mit dem Thema umgehen will.

Sind Softwareentwickler jetzt überflüssig?

Wie bereits angedeutet: Wohl eher nicht und obwohl es zutrifft, dass gerade Big Tech wie Google, Amazon & Co. ihre Workforce auch dank KI rationalisieren, werden die meisten Jobs nicht komplett verschwinden. Eher werden sie sich wandeln: Es wird eine große Konsolidierung stattfinden, aber letztendlich werden alle wieder irgendwo beschäftigt sein.

Dazu kommt, das wir hierzulande ohnehin ein großes Bottleneck haben: Deutschland und Europa sind industriell sehr stark, aber in Sachen Softwareentwicklung hinken wir hinterher. Das KI-gestützte Coden kann uns möglicherweise helfen, die Lücke zu verringern.

So führt Künstliche Intelligenz auch in der Softwareentwicklung dazu, dass Rollen sich wandeln und neue entstehen. Der Mittelbau wird ausgedünnt: Man braucht nicht mehr so viele seniorige Developer:innen, um bestimmte Aufgaben zu lösen. Andererseits braucht man umso mehr Expert:innen, um die richtig komplexen Herausforderungen anzugehen. Der Bereich, der in der Mitte liegt, wird zum Großteil durch KI-Unterstützung von Junior:innen abdeckbar sein.

"Je nach Anwendungsfall sprechen wir von einer Produktivitätssteigerung von 40 bis 80 %."
Dr. Andre Bojahr

Kann die Softwareentwicklung auf KI verzichten?

Ein klares Nein: KI wird nicht nur in der Softwarentwicklung, sondern für viele Aufgaben und Prozesse in Unternehmen eingeführt. Und die Unternehmen, die darauf verzichten, werden schneller ins Hintertreffen geraten, als ihnen lieb sein kann. Immerhin reden wir je nach Anwendungsfall von einer Produktivitätssteigerung von 40 bis 80 Prozent.

Unsere Empfehlung ist es, sich nicht vor der Technologie zu verschließen, aber behutsam mit ihr umzugehen. Entwickler:innen sollten sich nicht die Frage stellen, ob sie KI nutzen möchten, sondern wie sie nutzen wollen.

Dabei rücken dann menschliche Qualitäten wie das Empathieempfinden, kreatives Denken und die innovative Lösungsfindung wieder in den Vordergrund, während die KI uns die Fließbandarbeit abnimmt. Und so bleibt uns mehr Zeit, die wir den wirklich wertschöpfenden und erfüllenden Aufgaben widmen können.

Insights