GoSuda

KI-native Entwicklungsmethodologie

By gosunuts
views ...

AI und Entwickler

Die Perspektive von Entwicklern auf AI ist komplex. Einerseits ermöglichen AI eine beispiellose Produktivitätssteigerung sowie Informationsbeschaffung, andererseits verändert sich dadurch die Rolle von Entwicklern grundlegend. Einige prognostizieren, dass AI sich zu AGI entwickeln und die Mehrheit der Entwickler ersetzen wird, während andere AI als ein überbewertetes Tool abtun und behaupten, der intrinsische Wert von Entwicklern bleibe unverändert. Diese Haltungen scheinen an der Oberfläche diametral entgegengesetzt zu sein, ähneln sich jedoch auf erstaunliche Weise darin, dass sie AI anhand traditioneller Denkmuster beurteilen.

Der entscheidende Punkt hierbei ist jedoch nicht, AI zu beurteilen oder zu bewerten. Der eigentliche Kern liegt vielmehr darin, wie sich das Denken bezüglich der Softwareentwicklung unter der Prämisse von AI verändern muss und wie die Rollen von Entwicklern und Organisationen entsprechend dieser Transformation neu strukturiert werden sollten. Zu diesem Zweck wurde die AI-Entwicklungsmethodik in den folgenden drei Phasen zusammengefasst.

AI-abhängige Entwicklung

Die AI-abhängige Entwicklung ist eine Phase, in der AI als Subjekt der Entscheidungsfindung fungiert und deren Ergebnisse unkritisch akzeptiert werden. Entwickler in dieser Phase betrachten AI als ein Wesen, das ihre eigenen Ideen ordnet und implementiert, und akzeptieren sie darüber hinaus als Ersatz, an den sogar Entscheidungen und Verantwortung delegiert werden können.

Dieser Ansatz scheint oberflächlich betrachtet die Produktivität explosionsartig zu steigern. Realistisch gesehen häufen sich jedoch schnell Codebasen an, die weder erklärbar noch verantwortbar sind. Der auf diese Weise erstellte Code führt dazu, dass im Falle von Problemen niemand mehr eine fundierte Entscheidung darüber treffen kann, warum eine solche Struktur entstanden ist oder welche Entscheidungen korrekt waren.

In dieser Phase produziert AI lediglich unzuverlässige Ergebnisse, während Entwickler auf die Rolle des Konsumenten dieser Ergebnisse beschränkt bleiben. Infolgedessen werden sowohl AI als auch Entwickler auf verschwenderische Weise eingesetzt, ohne dass tatsächliche Kompetenzen irgendwo akkumuliert werden.

AI-gestützte Entwicklung

Die AI-gestützte Entwicklung ist eine Phase, die bei versierteren Entwicklern zu beobachten ist. In dieser Phase betrachten Entwickler AI nicht als Ersatz für Urteilsvermögen, sondern als mächtiges Tool zur Steigerung der Produktivität. Entwickler in dieser Phase bleiben die Subjekte von Design und finaler Entscheidungsfindung, während sie repetitive und kostenintensive Aufgaben wie Code-Generation, Refactoring, Debugging und Dokumentationszusammenfassungen an AI delegieren. Dieser Ansatz senkt den Anteil repetitiver Aufgaben von Entwicklern erheblich und steigert die Produktivität dramatisch, während gleichzeitig das Vertrauen gewahrt bleibt.

Dieser Ansatz weist jedoch eine strukturelle Limitation auf: Der Kontext des Designs und die Urteilsfindung zirkulieren nicht. Da die Richtung der Entwicklung und der Prozess der Urteilsfindung ausschließlich im privaten Denken des jeweiligen Entwicklers verbleiben und nicht mit AI geteilt werden, kann AI die Veränderungen und das Wachstum des Entwicklers nicht akkumulieren. Infolgedessen verbleiben Designkontext und Urteilsvermögen isoliert beim Entwickler.

Aus diesem Grund bildet sich kein Lernkreislauf zwischen Entwickler und AI heraus, und die Fähigkeit zur Nutzung von AI erweitert sich nicht über die bestehenden Kompetenzen des Entwicklers hinaus. Das Wachstum verbleibt beim Individuum, und mit der Zeit vergrößert sich das Kompetenzgefälle zwischen den Entwicklern. Zudem offenbart sich die Einschränkung, dass diese Kompetenzen auf organisatorischer Ebene nur schwer zu akkumulieren oder zu reproduzieren sind.

AI-native Entwicklung

Die AI-native Entwicklung geht über die Phasen des Vertrauens in AI oder der Nutzung von AI als Tool hinaus; sie bedeutet eine Struktur, in die AI in die Entwicklungsstruktur sowie in den Prozess der Urteilsfindung integriert ist, wobei AI und Menschen interagieren und gemeinsam wachsen. In dieser Phase fungiert AI als interagierendes Mitglied, das die Urteile und den Kontext des Entwicklers teilt.

Der Kern dieser Struktur liegt darin, dass AI und Entwickler in einem bidirektionalen statt in einem unidirektionalen Kreislauf stehen. Entwickler teilen kontinuierlich die Designintentionen und die Grundlagen ihrer Entscheidungen mit AI, wodurch AI das Denken des Entwicklers sowie den Kontext der Organisation akkumuliert. Infolgedessen entwickelt sich AI über ein bloßes Tool zur Bearbeitung von Anfragen hinaus zu einer Instanz, die organisationsangepasste Optionen aufzeigt und die Urteile des Entwicklers unterstützt sowie korrigiert.

Die AI-native Entwicklung ist nicht von den spezifischen Fertigkeiten oder Kniffen einzelner Personen abhängig. Selbst bei einem Personalwechsel können ähnliche Perspektiven auf dasselbe Problem angewendet werden, sofern der AI-Kontext erhalten bleibt, und auf Basis vergangener Entscheidungen sowie deren Gründe können bessere Entscheidungen getroffen werden. Die Entwicklungskompetenz verbleibt nicht beim Individuum, sondern wird über die gesamte Organisation hinweg akkumuliert und reproduzierbar.

Letztendlich zielt die AI-native Entwicklung nicht auf eine bestimmte Architektur oder Entwicklungsmethodik ab, sondern auf den Entwicklungsprozess selbst, in dem die Urteilsfindung und das Lernen zwischen AI und Menschen kontinuierlich gestärkt werden. Innerhalb dieser Struktur ersetzen sich Entwickler und AI nicht gegenseitig. Stattdessen teilen sie denselben Problemraum und evolvieren zu einer Beziehung, in der sie gemeinsam bessere Entscheidungen und robustere Strukturen erschaffen.