Software-Qualität trotz oder dank KI?
Anfang Juli hatte ich das Vergnügen, an einer Abend-Veranstaltung im Rahmen des Nürnberger Digitalfestivals in der Fürther Kofferfabrik teilzunehmen. Das Thema: Software-Qualität trotz oder dank KI?
In entspannter Atmosphäre wurden durch ein Planspiel Wissen sowie wertvolle Erfahrungen vermittelt, wie:
💡 Nutzung von KI während der Entwicklung
- Mit Hilfe von GitHub Copilot wurde veranschaulicht, wie Funktionen in Echtzeit vervollständigt werden können
- Weiterhin erleichtert Copilot das Verständnis von Funktionen, Klassen oder Code-Schnipseln durch die Beschreibung der Funktionalität, was vor allem bei komplexen Projekten von Vorteil ist
💡 Unterstützung bei Code-Reviews
- Code-Reviews sind häufig zeitaufwendig und werden dadurch gerne vernachlässigt oder gar nicht durchgeführt
- Hierbei kann GitHub Copilot unterstützen, indem es auf potentielle Bugs und unvorteilhafte Naming Conventions hinweist
- Besonders interessant ist die Möglichkeit, den bestehenden Sourcecode auf Unternehmens-Styleguides überprüfen zu lassen
Grundsätzlich bleibt die Notwendigkeit, generierten KI-Content nochmal zu verifizieren! Es sollte in jedem Fall darauf verzichtet werden, KI-generierten Sourcecode blind von der KI wieder reviewen zu lassen.
Aktuelle Trends zeigen, dass immer mehr Code von KI's generiert wird. Die entscheidende Frage ist doch, ob und wann Sourcecode jemals vollkommen frei von Schwachstellen generiert werden kann? In einigen Jahren wird vermutlich die Frage aufkommen, ob Code-Reviews dann überhaupt noch notwendig sind, sollte der Sourcecode mit Hilfe einer KI erstellt worden sein. Derzeit und wahrscheinlich noch viele Jahre lang bleibt die menschliche Kontrolle jedoch unerlässlich. Gerade deshalb sollten real existierende Entwickler den Review- und Testaufwand intensivieren, um Bugs durch Missinterpretationen der KI zu verhindern.
Angesichts des hohen Kostenfaktors für das Verstehen und Warten von Code erachte ich die Nutzung von KI vor allem in Legacy-Projekten als äußerst nützlich. Hierdurch kann die Einarbeitungszeit sicherlich reduziert sowie das Bewusstsein über potentiell mögliche Auswirkungen auf andere Code-Stellen geschaffen werden.
Es gibt viele Gründe, weshalb Entwickler in den kommenden Jahren höchstwahrscheinlich nicht vermeiden können, sich intensiver mit den Möglichkeiten, aber auch Pflichten der KI im Entwicklungsprozess auseinanderzusetzen. Ethische und sicherheitsrelevante Verantwortlichkeiten werden zu wichtigen Diskussionen führen, insbesondere wenn generierter Code sich anders verhält als erwartet.
Es liegt in der Verantwortung der Unternehmen, das Potential von KI im Entwicklungsprozess auszuschöpfen, um zahlreiche wirtschaftliche Vorteile erzielen zu können, darunter:
↘️ Kosten- und Zeiteinsparungen durch effizientere Prozesse
↗️ Gewinn- und Umsatzsteigerungen durch bessere Skalierbarkeiten
Dafür müssen allerdings Maßnahmen ergriffen werden, wie beispielsweise:
❗️ Sicherstellung des Datenschutzes bei der Nutzung
❗️ Innovationsförderung durch Pilotprojekte
❗️ Regelmäßige Weiterbildungsmaßnahmen sowie Schulungsmöglichkeiten für Entwickler
Es bleibt abzuwarten, in welchen Bereichen die KI Verantwortung für Software-Qualität übernimmt und wo die menschliche Kontrolle weiterhin unverzichtbar bleibt.
Über den Autor
Oliver Daßdorf arbeitet als technischer Projekt-Ingenieur mit dem Schwerpunkt Embedded bei der MATHEMA GmbH. Dabei optimiert er Prozesse von Unternehmen durch Einsatz moderner Methoden der Digitalisierung, KI oder anderer technischer Neuheiten.