Wenn ich erklären möchte, wie stark sich meine Softwareentwicklung durch KI verändert hat, brauche ich dafür eigentlich keine theoretischen Beispiele. Ich kann stattdessen drei eigene Projekte nebeneinanderstellen, die unter sehr unterschiedlichen Bedingungen entstanden sind und dadurch ziemlich gut zeigen, wie sich meine Arbeitsweise innerhalb relativ kurzer Zeit verschoben hat.
Sara wurde noch weitgehend klassisch entwickelt. Ich habe Anforderungen überlegt, Entscheidungen getroffen, die Architektur aufgebaut und die konkrete Umsetzung selbst programmiert. Bei Kosmos ist KI inzwischen ein fester Bestandteil fast aller Entwicklungsphasen, von der Konzeptarbeit über die Aufteilung der Aufgaben bis zur eigentlichen Implementierung. Linea entsteht wiederum zu einem Zeitpunkt, an dem viele Erfahrungen aus dieser neuen Arbeitsweise bereits vorhanden sind und deshalb von Anfang an berücksichtigt werden können.
Die drei Projekte sind für mich deshalb nicht nur unterschiedliche Anwendungen. Sie dokumentieren gleichzeitig drei Entwicklungsstände meiner eigenen Arbeitsweise.
Bei Sara lagen Planung und Umsetzung weitgehend bei mir selbst
Sara ist eine Angebots- und Rechnungsanwendung, die ursprünglich für einen konkreten praktischen Anwendungsfall entstanden ist. Die Entwicklung lief noch auf eine Art, die ich über viele Jahre als völlig selbstverständlich betrachtet hätte: Ich überlege, wie eine Funktion aussehen soll, entscheide mich für einen technischen Ansatz, schreibe den Code, probiere die Funktion aus, finde Fehler und entwickle von dort aus weiter.
Natürlich gab es auch dabei Planung, Architekturentscheidungen und Tests. Trotzdem lag ein erheblicher Teil des Projektwissens direkt bei mir. Wenn ich eine Klasse angelegt oder eine bestimmte Struktur gewählt hatte, wusste ich, warum sie existiert. Viele kleinere Entscheidungen musste ich nicht ausführlich dokumentieren, weil Planung und Umsetzung im selben Kopf stattfanden.
Das ist bei einem einzelnen Entwickler durchaus effizient. Man kann während der Implementierung nachdenken, Entscheidungen spontan anpassen und auf neue Erkenntnisse reagieren, ohne sie vorher formal an jemand anderen übergeben zu müssen. Gleichzeitig bedeutet diese Arbeitsweise aber auch, dass sehr viel Wissen nirgendwo explizit festgehalten wird.
Mein Kopf war damit gewissermaßen ein Teil der Projektdokumentation.
Viele Produktentscheidungen entstanden erst während des Programmierens
Bei klassischer Einzelentwicklung ist es verlockend, relativ früh mit der Umsetzung zu beginnen, sobald die Grundidee verstanden ist und die grobe Richtung feststeht. Offene Details lassen sich schließlich später klären, wenn man tatsächlich an der entsprechenden Stelle angekommen ist.
Das kann sehr gut funktionieren, führt aber auch dazu, dass zahlreiche fachliche Entscheidungen erst während der Implementierung entstehen. Man stößt auf einen Sonderfall, entscheidet direkt, wie er behandelt werden soll, erkennt einen Konflikt zwischen zwei Anforderungen und löst ihn dort, wo er im Code sichtbar wird. Manchmal stellt sich während der Arbeit heraus, dass die ursprünglich geplante Struktur nicht ideal ist, und dann wird sie eben angepasst.
Solange derselbe Mensch sowohl die fachliche Idee als auch die technische Umsetzung trägt, ist dieser Prozess relativ natürlich. Die Grenze zwischen Denken und Programmieren ist fließend.
Genau diese Selbstverständlichkeit verändert sich, sobald ein großer Teil der Umsetzung an eine KI abgegeben wird.
Bei Kosmos muss ich Gedanken sichtbar machen, die früher einfach in meinem Kopf lagen
Kosmos ist deutlich umfangreicher und modularer als Sara und entsteht inzwischen sehr stark mit Unterstützung von ChatGPT und Codex. Dadurch reicht es nicht mehr, dass ich selbst ungefähr weiß, was ich mit einer Funktion meine.
Codex kann nicht wissen, welche Überlegungen ich irgendwann nebenbei angestellt habe, welche Entscheidung ich vor drei Monaten getroffen habe oder welche spätere Erweiterung ich bei einer heutigen Architekturentscheidung bereits im Hinterkopf hatte. Was für mich selbstverständlich erscheint, existiert für einen KI-Arbeiter zunächst nicht, solange es nicht im Code, in einer Dokumentation oder in einer konkreten Aufgabenbeschreibung sichtbar wird.
Deshalb muss ich heute wesentlich mehr Dinge ausdrücklich formulieren. Ich muss beschreiben, was eine Funktion tun soll, was sie ausdrücklich nicht tun soll, welche vorhandenen Komponenten betroffen sind, welche Entscheidungen bereits feststehen und welche Punkte Codex selbst entscheiden darf. Fehlerfälle, Abgrenzungen, Abhängigkeiten und spätere Erweiterungen müssen früher bedacht werden, weil ich vermeiden möchte, dass während der Umsetzung stillschweigend Produktentscheidungen getroffen werden, die eigentlich bei mir liegen sollten.
Dadurch hat sich meine Konzeptarbeit stark verändert. Größere Ideen bespreche ich heute zunächst ausführlich mit ChatGPT und lasse daraus eine strukturierte Spezifikation entstehen, bevor Codex mit der eigentlichen Umsetzung beginnt.
Das ist zunächst mehr Vorarbeit als früher. Gleichzeitig übernimmt Codex anschließend einen erheblichen Teil der technischen Arbeit, für die ich zuvor selbst viele Stunden vor der Entwicklungsumgebung verbracht hätte.
Kosmos entwickelt inzwischen sogar den eigenen Entwicklungsprozess mit
Bei Kosmos geht diese Veränderung inzwischen noch einen Schritt weiter, weil ich dort mit Agenda ein System entwickle, das wiederum Entwicklungsarbeit organisieren soll. Ein größeres Konzept wird zunächst ausgearbeitet und anschließend von Codex im Kontext des vorhandenen Repositories analysiert. Daraus entstehen konkrete Aufgaben, die in Agenda landen, dort mit Abhängigkeiten und Status versehen werden können und erst nach einer bewussten Freigabe tatsächlich ausgeführt werden.
Damit trenne ich Konzept, Planung und Umsetzung stärker voneinander, ohne sie vollständig voneinander zu isolieren. Codex soll ein großes Vorhaben nicht einfach in einem einzigen Durchlauf umsetzen, sondern daraus sinnvolle Arbeitseinheiten bilden, die einzeln nachvollziehbar und kontrollierbar bleiben.
Später soll dieser Prozess noch weitergehen. Automatisierte Tests sollen versuchen, Fehler in der Umsetzung zu finden, und auch das Deployment möchte ich weitgehend automatisieren. Der Schritt in eine produktive Umgebung soll allerdings weiterhin eine bewusste menschliche Freigabe benötigen.
Bei Sara habe ich in erster Linie eine Anwendung entwickelt. Bei Kosmos entwickle ich zunehmend zusätzlich den Prozess, durch den weitere Software entsteht.
Linea beginnt bereits mit den Erfahrungen aus dieser neuen Arbeitsweise
Linea ist für mich deshalb besonders interessant, weil das Projekt nicht erst nachträglich an eine KI-gestützte Arbeitsweise angepasst werden muss. Viele der Erfahrungen, die ich bei Kosmos gesammelt habe, sind bereits vorhanden und können von Anfang an in die Planung und Struktur einfließen.
Ich weiß heute beispielsweise wesentlich genauer, welche Informationen eine KI für eine gute Umsetzung benötigt und welche Dinge ich nicht einfach als selbstverständlich voraussetzen darf. Entscheidungen werden bewusster dokumentiert, Abhängigkeiten früher betrachtet und größere Konzepte so formuliert, dass sie nicht nur für mich selbst verständlich sind, sondern auch für einen späteren KI-Arbeiter.
Dadurch verschiebt sich bereits der Start des Projekts. Bei klassischer Einzelentwicklung konnte ich mir erlauben, manche Teile der Architektur erst während der eigentlichen Umsetzung vollständig zu verstehen, weil ich selbst sowohl die offenen Fragen als auch die technischen Konsequenzen im Blick hatte. Heute versuche ich, größere fachliche Entscheidungen früher sichtbar zu machen.
Das bedeutet nicht, dass anschließend nichts mehr geändert werden darf. Im Gegenteil: Änderungen gehören weiterhin zum Entwicklungsprozess. Sie lassen sich aber wesentlich besser beurteilen, wenn dokumentiert ist, warum eine vorherige Entscheidung überhaupt getroffen wurde.
KI führt bei mir nicht zu weniger Planung, sondern zu anderer Planung
Das hat mich selbst durchaus überrascht. Man könnte zunächst erwarten, dass ein leistungsfähiger Coding-Agent Planung weniger wichtig macht, weil sich eine grobe Idee sehr schnell in eine erste funktionierende Umsetzung verwandeln lässt.
Bei kleinen und klar abgegrenzten Änderungen kann das durchaus funktionieren. Bei größeren Themen halte ich inzwischen allerdings eher das Gegenteil für richtig. Je mehr konkrete Umsetzung ich abgebe, desto genauer muss ich wissen, welches Ergebnis ich eigentlich erreichen möchte, denn ansonsten überlasse ich der KI nicht nur die Implementierung, sondern unbemerkt auch einen Teil der Produktentscheidung.
Meine Rolle verschiebt sich deshalb zunehmend von der konkreten Umsetzung hin zu Konzeption, Entscheidungen und Kontrolle. Das Tippen des Codes nimmt weniger Raum ein, während die Qualität der Anforderungen, die Klarheit der Abgrenzungen und die Frage nach dem eigentlichen Ziel wichtiger werden.
Hohe Geschwindigkeit verändert auch die Art der Fehler
KI macht Entwicklung schnell, und das ist meistens ein großer Vorteil. Dieselbe Geschwindigkeit kann aber problematisch werden, wenn eine falsche Entscheidung zugrunde liegt, weil auch eine ungeeignete Lösung in sehr kurzer Zeit erstaunlich weit umgesetzt werden kann.
Wenn ich selbst mehrere Stunden oder Tage benötige, um eine größere Änderung zu programmieren, habe ich während dieser Arbeit zwangsläufig viele Gelegenheiten, über meine ursprüngliche Idee nachzudenken. Manche Probleme fallen erst beim Schreiben des Codes auf, andere werden sichtbar, weil die Umsetzung komplizierter wird als erwartet.
Wenn Codex dieselbe Arbeit deutlich schneller erledigt, fällt ein Teil dieser natürlichen Denkzeit weg. Genau deshalb versuche ich heute, mehr von dieser Reflexion bewusst in die Konzeptphase zu verschieben und mich vor der Umsetzung intensiver mit Sonderfällen, Abhängigkeiten und offenen Entscheidungen zu beschäftigen.
Die vielen Fragen in ChatGPT sind damit kein Selbstzweck. Sie ersetzen teilweise die Denkzeit, die früher ganz automatisch während des Programmierens entstanden ist.
Auch das Testing muss sich an die neue Arbeitsweise anpassen
Mit zunehmender Automatisierung stellt sich zwangsläufig die Frage, wer eigentlich die Arbeit der KI kontrolliert. Codex kann Tests schreiben und ausführen, und ein spezialisierter Tester-Agent kann gezielt versuchen, Fehler in der Implementierung zu finden. Trotzdem bleibt dabei ein grundsätzliches Problem bestehen, solange Entwickler und Tester auf derselben grundlegenden Technologie basieren.
Wenn beide dieselbe Anforderung falsch interpretieren, kann eine falsche Umsetzung genau die Tests bestehen, die auf derselben falschen Interpretation beruhen. Für mich ist unabhängiges Testing deshalb eines der noch nicht vollständig gelösten Themen dieser Arbeitsweise.
Auch daran zeigt sich, dass es nicht genügt, klassische Entwicklungsprozesse einfach nur schneller mit KI auszuführen. Manche Teile müssen neu gedacht werden, weil sich die Rollen, Geschwindigkeiten und Abhängigkeiten verändern.
Die drei Projekte stehen nicht für drei fertige Methoden
Ich würde Sara, Kosmos und Linea deshalb nicht als drei sauber voneinander getrennte Entwicklungsmodelle betrachten. Meine Arbeitsweise verändert sich währenddessen ständig weiter, und manche Dinge, die ich heute für sinnvoll halte, werde ich wahrscheinlich in einem Jahr schon wieder anders lösen.
Sara zeigt mir rückblickend vor allem, wie ich gearbeitet habe, bevor KI ein fester Bestandteil meiner Entwicklung wurde. Kosmos ist gleichzeitig Produkt und Experimentierfeld, in dem ich ausprobiere, wie weit sich Konzeptarbeit, Aufgabensteuerung, Implementierung, Testing und später auch Deployment automatisieren lassen. Linea kann bereits von vielen Erkenntnissen profitieren, ohne dieselbe Entwicklung erst noch durchlaufen zu müssen.
Genau deshalb finde ich den Vergleich interessant. Er zeigt nicht nur drei Softwareprojekte, sondern auch die Entwicklung meiner eigenen Arbeitsweise.
Die größte Veränderung betrifft nicht den Code
Wenn ich nur auf die reine Implementierung schauen würde, wäre die Geschichte schnell erzählt: Früher habe ich den Code selbst geschrieben, heute übernimmt Codex einen zunehmenden Anteil davon.
Das greift aber zu kurz.
Die eigentliche Veränderung betrifft den gesamten Prozess. Ich formuliere Anforderungen anders, dokumentiere Entscheidungen früher, teile größere Vorhaben anders auf und beschäftige mich viel intensiver mit der Übergabe von Wissen. Gleichzeitig entstehen neue Fragen zur Koordination mehrerer KI-Arbeiter, zur unabhängigen Qualitätssicherung und dazu, an welchen Stellen ein Mensch weiterhin bewusst eine Entscheidung oder Freigabe treffen muss.
Sara, Kosmos und Linea sind deshalb für mich mehr als drei unterschiedliche Projekte. Sie zeigen ziemlich anschaulich, wie sich meine Rolle vom klassischen Einzelentwickler hin zu jemandem verändert, der zunehmend Ziele, Regeln und Rahmenbedingungen definiert, während KI einen immer größeren Teil der operativen Umsetzung übernimmt.