Ich arbeite allein. Es gibt keine Angestellten, kein Entwicklerteam, keine Testabteilung und keinen Projektmanager, der Arbeit verteilt oder mir einen Teil davon abnimmt. Entwicklung, Konzeption, Testing, Betrieb, Consulting, Vertrieb und die vielen Entscheidungen dazwischen landen letztlich bei mir.
Erschreckend, aber wahr.
Genau deshalb finde ich KI für meine Arbeitsweise so interessant. Mir geht es längst nicht mehr nur darum, mit Codex schneller Programmcode zu erzeugen. Ich versuche vielmehr, mir schrittweise einen Arbeitsprozess aufzubauen, in dem ChatGPT, Codex, Agenda und verschiedene technische Agenten Teile der operativen Arbeit übernehmen, während die eigentlichen Ziele, Prioritäten und Freigaben weiterhin bei mir liegen.
Für diesen Zielzustand habe ich inzwischen einen etwas augenzwinkernden Maßstab: den Gartenstuhl-Test.
Wenn ein Thema vorher sauber ausgearbeitet wurde, möchte ich irgendwann in meinem Gartenstuhl sitzen, Agenda auf dem Smartphone öffnen, eine vorbereitete Aufgabe freigeben und anschließend im Wesentlichen dabei zusehen, wie mein Codex-Kontingent kleiner wird.
Der Gartenstuhl steht eigentlich für Unabhängigkeit vom Entwicklungsrechner
Natürlich geht es mir nicht darum, Softwareentwicklung grundsätzlich nur noch im Garten zu betreiben. Der Gartenstuhl ist vielmehr ein einfaches Bild für eine technische und organisatorische Frage: Wie stark hängt ein vorbereiteter Arbeitsauftrag noch davon ab, dass ich persönlich am Entwicklungsrechner sitze und jeden einzelnen Schritt begleite?
Wenn ich Codex eine Aufgabe gebe und anschließend zwanzig Minuten daneben bleiben muss, weil ständig Rückfragen auftauchen, einzelne Befehle freigegeben, Tests ausgewertet oder technische Kleinigkeiten entschieden werden müssen, dann habe ich zwar einen KI-Assistenten, aber noch keinen weitgehend automatisierten Prozess.
Der entscheidende Schritt kommt für mich erst dann, wenn ich eine ausreichend vorbereitete Aufgabe starten kann und sie danach selbstständig durch die technischen Arbeitsschritte läuft, bis entweder ein überprüfbares Ergebnis vorliegt oder tatsächlich eine Entscheidung erforderlich wird, die nur ich treffen kann.
Die eigentliche Arbeit beginnt weit vor Agenda
Bevor überhaupt eine Aufgabe freigegeben werden kann, muss ich zunächst ziemlich genau wissen, was ich erreichen möchte. Größere Ideen erarbeite ich deshalb ausführlich mit ChatGPT, wobei aus einer zunächst groben Vorstellung durch viele Rückfragen nach und nach ein konkretes Konzept entsteht.
Erst danach bekommt Codex diese Spezifikation und kann sie im Kontext des vorhandenen Repositories analysieren. Bei größeren Vorhaben möchte ich außerdem vermeiden, dass daraus direkt eine riesige Änderung entsteht. Stattdessen soll Codex das Konzept in sinnvolle, möglichst eigenständige Arbeitspakete zerlegen und diese in Agenda eintragen.
Damit entsteht zwischen meiner Idee und der eigentlichen Umsetzung eine kontrollierte Kette.
Ich denke das Thema durch.
ChatGPT hilft mir beim Hinterfragen und Strukturieren.
Codex prüft die technische Umsetzbarkeit und bereitet Aufgaben vor.
Agenda verwaltet diese Aufgaben.
Und erst wenn ich eine Aufgabe tatsächlich freigebe, beginnt die operative Umsetzung.
Agenda übernimmt Arbeit, die vorher ebenfalls bei mir lag
Agenda ersetzt bei mir keinen Projektmanager, weil ich nie einen hatte. Es automatisiert vielmehr einen Teil der organisatorischen Arbeit, die ich bisher zusätzlich zu allem anderen selbst erledigen musste.
Solange ich eine einzige Aufgabe nach der anderen bearbeite, kann ich viele Zusammenhänge problemlos im Kopf behalten. Sobald aber mehrere ChatGPT-Gespräche parallel laufen, Codex gleichzeitig verschiedene Konzepte verarbeitet und zusätzlich bereits vorbereitete Aufgaben auf ihre Ausführung warten, wird diese Arbeitsweise schnell unübersichtlich.
Agenda soll deshalb festhalten, welche Aufgaben existieren, welche voneinander abhängen, welche freigegeben wurden und was gerade mit ihnen passiert.
Dadurch kann ich mehrere Arbeitsstränge vorbereiten, ohne jedes Detail ständig selbst im Gedächtnis halten zu müssen.
Das wird umso wichtiger, je stärker ich KI parallel einsetze.
Freigeben ist etwas anderes als begleiten
Mein Ziel ist ausdrücklich nicht, dass Codex irgendwann selbst entscheidet, was mein Unternehmen oder meine Software als Nächstes braucht.
Ich entscheide weiterhin, welche Ideen sinnvoll sind, welche Anforderungen gelten, welche Priorität eine Aufgabe hat und ob eine bestimmte Änderung tatsächlich umgesetzt werden darf.
Wenn diese Entscheidungen allerdings einmal getroffen und sauber dokumentiert wurden, sehe ich keinen Grund, jeden technischen Arbeitsschritt persönlich zu begleiten.
Codex darf dann Dateien verändern, Builds ausführen, technische Fehler untersuchen und Korrekturen vornehmen. Wenn eine Detailentscheidung eindeutig aus der vorhandenen Architektur hervorgeht, muss sie nicht jedes Mal wieder bei mir landen.
Anders sieht es bei einer offenen fachlichen Entscheidung aus. Wenn aus der Spezifikation nicht hervorgeht, wie sich das Produkt verhalten soll, möchte ich keine erfundene Annahme. Dann soll die Aufgabe sauber blockiert werden und genau diese Frage wieder bei mir landen.
Der Gartenstuhl-Test ist deshalb erst bestanden, wenn ich nicht alle paar Minuten auf mein Smartphone schauen muss.
Auch die Tests sollen ohne ständige manuelle Begleitung laufen
Eine Aufgabe ist für mich nicht fertig, nur weil Codex Code erzeugt und der Build anschließend erfolgreich durchläuft.
Meine automatisierten Tests sollen anschließend gezielt versuchen, Fehler in der Umsetzung zu finden. Dazu können normale automatisierte Tests ebenso gehören wie ein spezialisierter Test-Agent, der zusätzliche Grenz- und Fehlerfälle erzeugt.
Auch diese Schritte möchte ich möglichst weitgehend automatisieren.
Wenn ein Test einen Fehler findet, soll daraus nicht zwangsläufig sofort wieder eine manuelle Aufgabe für mich entstehen. Soweit der Fehler eindeutig technisch ist und sich aus der vorhandenen Spezifikation ableiten lässt, kann Codex ihn korrigieren und die Tests erneut ausführen.
Erst wenn sich zeigt, dass eine fachliche Entscheidung fehlt oder zwei Anforderungen miteinander kollidieren, brauche ich wieder einzugreifen.
Genau das ist für mich der Unterschied zwischen Automatisierung und bloßer Fernbedienung.
Das Deployment soll ebenfalls Teil der Kette werden
Langfristig möchte ich auch das Deployment in diesen Ablauf integrieren.
Codex kann die Auslieferung vorbereiten, die notwendigen Schritte prüfen und die neue Version technisch bereitstellen. Der tatsächliche Schritt in eine produktive Umgebung soll aber weiterhin eine bewusste Freigabe von mir benötigen.
Dieses Human Gate ist mir wichtig, weil an dieser Stelle nicht mehr nur eine Entwicklungsumgebung betroffen ist.
Nach meiner Freigabe darf Codex das Deployment allerdings selbst durchführen. Anschließend muss wiederum automatisch geprüft werden, ob das Ergebnis tatsächlich funktioniert.
Ein erfolgreicher Deployment-Befehl reicht dafür nicht aus.
Die erwartete Version muss aktiv sein, notwendige Dienste müssen laufen, zentrale Funktionen erreichbar bleiben und neue Fehler in Logs oder Healthchecks dürfen nicht einfach ignoriert werden.
Erst wenn diese Prüfungen erfolgreich sind, sollte Agenda eine Aufgabe wirklich als abgeschlossen betrachten.
KI ersetzt für mich keine Mitarbeiter, die es vorher gegeben hätte
Wenn ich diesen Prozess beschreibe, klingt es leicht so, als würde ich ein klassisches Team durch KI ersetzen.
Das trifft meine Situation aber nicht.
Ich habe kein Team, das durch ChatGPT oder Codex verdrängt wird. Ich mache diese Arbeit heute selbst.
Die KI gibt mir vielmehr die Möglichkeit, Tätigkeiten zu automatisieren, für die ich sonst entweder zusätzliche Zeit aufbringen oder irgendwann tatsächlich weitere Personen beschäftigen müsste.
ChatGPT hilft mir bei der Konzeptarbeit und beim Hinterfragen meiner Ideen. Codex kann technische Aufgaben umsetzen. Automatisierte Tests und Test-Agenten prüfen Ergebnisse. Agenda koordiniert die Arbeit und hält Zustände fest.
Die Verantwortung bleibt trotzdem bei mir.
Mein eigener Flaschenhals verschiebt sich
Je besser diese Automatisierung funktioniert, desto deutlicher entsteht allerdings ein neues Problem: Ich selbst kann zum Flaschenhals werden.
Wenn Codex mehrere Aufgaben wesentlich schneller abarbeitet, als ich sie anschließend beurteilen und freigeben kann, habe ich zwar die technische Umsetzung beschleunigt, aber noch keinen wirklich skalierbaren Prozess geschaffen.
Deshalb ist für mich entscheidend, dass die Automatisierung nicht nur mehr Code erzeugt, sondern die Ergebnisse auch sinnvoll zusammenfasst, prüft und nur dann meine Aufmerksamkeit verlangt, wenn sie tatsächlich gebraucht wird.
Ich möchte nicht fünf fertige Aufgaben bekommen und anschließend jeweils eine halbe Stunde Quellcode lesen müssen, nur um herauszufinden, ob die Spezifikation eingehalten wurde.
Je verlässlicher automatisierte Tests, technische Prüfungen und klare Ergebnisberichte werden, desto stärker kann ich mich auf die Entscheidungen konzentrieren, die sich nicht sinnvoll automatisieren lassen.
Der Gartenstuhl ist deshalb nur das sichtbare Ende einer langen Kette
Der eigentliche Gartenstuhl-Test beginnt nicht mit dem Smartphone.
Er beginnt viel früher bei der Qualität des Konzepts, der Klarheit der Spezifikation, der Aufteilung der Arbeit und der Frage, wie gut Codex zwischen eigenen technischen Entscheidungen und offenen fachlichen Entscheidungen unterscheiden kann.
Danach kommen Aufgabensteuerung, Umsetzung, Tests, Fehlerbehandlung und irgendwann das Deployment.
Wenn all diese Schritte so weit automatisiert sind, dass ich nur noch an klar definierten Stellen eingreifen muss, dann ist es tatsächlich weitgehend egal, ob ich gerade am Entwicklungsrechner, im Garten oder irgendwo anders sitze.
Und genau darin liegt für mich der eigentliche Wert.
Nicht darin, dass ich gar nichts mehr tun muss, sondern darin, dass meine Arbeit zunehmend dort stattfindet, wo ich tatsächlich gebraucht werde: bei Ideen, Entscheidungen, Prioritäten und Verantwortung.
Alles andere darf gerne mein Codex-Kontingent erledigen.