Schwächen werden insbesondere auch bei der Weiterentwicklung bestehender Software deutlich. «Gerade bei Änderungen zeigen sich die Grenzen heutiger KI-basierter Entwicklung», erklärt Clemens Meier. Denn in solchen Fällen müsse KI erneut grosse Teile der Anforderungen und des bestehenden Codes analysieren, Zusammenhänge erkennen und ermitteln, welche Stellen es anzupassen gelte. «Das kostet Rechenleistung und Energie und kann neue Fehler oder Widersprüche erzeugen. Im ungünstigsten Fall wird bestehender Code eher neu erzeugt als gezielt weiterentwickelt.»
Gemäss Meier können ausführbare fachliche Beschreibungen dieses Problem stark reduzieren. «Änderungen würden so an einer klaren Quelle vorgenommen und ohne erneute Interpretation immer auf dieselbe Weise umgesetzt.»
Derzeit arbeitet er an einem Prototyp namens SPEX. Die Abkürzung steht für «Executable Specifications», also ausführbare Spezifikationen. Fachliche Regeln werden dabei in einem vereinfachten Englisch so festgehalten, dass sie auch ohne Programmierkenntnisse verständlich sind. SPEX übersetzt diese Regeln direkt in ein ausführbares Programm. Das soll Missverständnisse vermeiden und sicherstellen, dass eine einmal festgelegte Vorgabe von der Software immer gleich umgesetzt wird. Wo hingegen noch Entscheidungen offen sind, können Menschen oder KI die weitere Umsetzung übernehmen.
Mehrwert schaffen durch Kombination der Stärken
Kombiniert man die jeweiligen Stärken von KI und Mensch, kann Mehrwert entstehen. Für Clemens Meier ist es denkbar, dass die derzeitigen Entwicklungen das Software Engineering nicht nur verändern, sondern der Branche auch einen zusätzlichen Schub verleihen. «Wenn Softwareentwicklung durch den sinnvollen Einsatz von KI effizienter und günstiger wird, könnte zugleich die Nachfrage nach neuer Software steigen. Es ist deshalb gut möglich, dass künftig insgesamt mehr Software entsteht.»
Michael Inden sieht KI dank ihrer Geschwindigkeit als leistungsfähige Assistenz. «Der eigentliche Mehrwert der KI entsteht dabei aber nicht durch möglichst viel generierten Code, sondern durch die Möglichkeit und Fähigkeit von Softwareengineers, aus verschiedenen Implementierungsalternativen diejenige auszuwählen, die langfristig wartbar, verständlich und für das konkrete System am besten geeignet ist.»
Beurteilung durch Menschen wird immer notwendig sein
Bei aller Leistungsfähigkeit der KI bleibt der Mensch dort gefragt, wo es um den Überblick, um Verständnis, Abwägung und Verantwortung geht. «Menschen müssen letztlich festlegen, welches Problem gelöst werden soll, welche Regeln gelten und wer Verantwortung für die Folgen übernimmt», sagt Clemens Meier. KI könne zwar Vorschläge machen und fehlende Angaben ergänzen, jedoch nicht zuverlässig erkennen, ob ihre Annahmen tatsächlich der Absicht der Beteiligten entsprechen. Genau hier setzt auch Michael Inden an. Für ihn bleiben die Analyse von Anforderungen, Architekturentscheidungen und die Priorisierung von Qualitätsmerkmalen zentrale Aufgaben des Menschen. «Denn selbst wenn KI geeignete Lösungsansätze vorschlägt, muss letztlich jemand beurteilen, ob diese unter den konkreten fachlichen und technischen Bedingungen tatsächlich die richtige Wahl sind.»