Blog Post 1

Eine neue, schnellere und günstigere Art der Softwareentwicklung

Die Softwareentwicklung mit KI wird die Industrie, insbesondere die Softwaremanufakturen, tiefgreifend verändern. Vorgehensmodelle, Prozesse und Methoden werden sich nicht mehr auf den Softwareentwickler als zentralen Teil des Teams fokussieren. Menschen, die in der Lage waren, natürlichsprachliche Beschreibungen in Programmcode umzusetzen, waren bisher die wichtigsten Mitglieder von Produktentwicklungsteams. Das ändert sich gerade grundlegend. Es reicht nun aus, einem GenAI-System zu beschreiben, was man haben möchte, und den resultierenden Programmcode dann in die entsprechenden Dateistrukturen einzufügen. Siehe dazu unser Bild, unsere Trainingskurse und unser Buch. Dafür wird eine neue Rolle entstehen, die des AI-Powered Software Creators. Diese Personen können, ähnlich wie ein agiler Product Owner, das Produkt in seinem Kontext sehen und dessen Entwicklungsschritte gestalten. Aber sie können auch kreative Design-Sessions mit anderen Menschen abhalten und andererseits das System konstruieren. Diese letzte Fähigkeit war bisher eher bei den Softwarearchitekten angesiedelt. Der AI-Powered Software Creator ist also eine Person, die genau weiß, WAS WANN zu bauen ist, und dies in die Gestaltung von Systemteilen mit ihren Eigenschaften und Verantwortlichkeiten umsetzen kann.

Der geschichtliche Weg hierher

Der OO-Designer

Als in den 1990er Jahren die Objektorientierung als Denkmodell und Designprinzip für die Strukturierung von Softwaresystemen aufkam, musste man auch größere Systeme bauen. Dies sollte durch die Arbeitsteilung nach tayloristischem Vorbild möglich sein: Ein sogenannter Software-Designer liest die Beschreibungen des Kunden, versteht (hoffentlich) was der Kunde geschrieben hat (was oft nicht möglich ist – abgesehen davon, dass das, was der Kunde geschrieben hat, wenig mit dem zu tun hat, was er wirklich braucht). Daraufhin setzt der OO-Designer sein Verständnis des OO-Denkmodells und der "relevanten" Designprinzipien um und gestaltet so das neue System. Er drückt sich mithilfe einer formalen Sprache aus, der UML (Unified Modeling Language). Der Designer gestaltet so das gesamte System – man war damals der Meinung, dass jeder Systemteil mit Identität so gestaltet werden kann, dass die Programmierer dann einfach die Methoden und Attribute aus UML in die Programmiersprache übersetzen und das System dann funktionieren wird. Man glaubte, der Designer könne "alles sehen" – oberhalb der Programmiersprache, oberhalb des auch nur laufenden Codes.

Die Irrtümer dieser Vorgehensweise

  • Der Designer kann alles verstehen, was der Kunde aufgeschrieben hat – nicht die Worte, sondern die Intention, also was "gemeint war".
  • Der Designer kann sein resultierendes Verständnis der Kundenwünsche in OO-Modelle übersetzen und diese Modelle dann anderen Menschen verständlich machen.
  • Der tayloristische Ansatz der Arbeitsteilung ist völlig ungeeignet für Wissensarbeit.
  • Der Designer kann nicht codieren.
  • Die Zusammenarbeit von Menschen unterschiedlicher Denkmodelle und Nutzenfunktionen ist komplex. In einem solchen Kontext kann man nicht nach Prozessen und Denkweisen der Kompliziertheit agieren und gute Ergebnisse erwarten.

Die Konsequenz daraus

Ende der 90er Jahre wurden der OOSE und andere Vorgehensmodelle obsolet – durch das Aufkommen der Agilität. Vor allem in SCRUM wurde die Arbeitsteilung vollständig aufgegeben – zumindest was die formalen Rollendefinitionen betraf. Alle Macht ging zu den Programmierern bzw. zu den Programmierteams. Wer aus dem Business kreative, neue Ideen hatte und dafür Software brauchte, kam und kommt nicht an den Programmierteams vorbei – bis jetzt. Wir stehen am Beginn eines dramatischen Umbruchs der Softwareindustrie – auch wenn praktisch alle Mitglieder dieser Industrie dies nicht wahrhaben wollen.

Aufkommen der KI

Jetzt haben wir die Möglichkeit, kreative Menschen aus dem Business mit Fähigkeiten und einem Instrument auszustatten, mit dem sie Softwareprodukte allein innerhalb von Tagen erstellen können, für die sie vorher ein Team über Wochen beschäftigen mussten. Jetzt ist möglich, was zu Beginn der OO nicht möglich war: Eine Person artikuliert ihre Vorstellungen vom System "geeignet", gibt diese Beschreibung an eine Maschine und kann innerhalb von Minuten das Ergebnis verifizieren und validieren. Wenn Anpassungen nötig sind, was praktisch immer der Fall ist, so können diese durch Rückgabe des Codes an das GenAI-System direkt beauftragt werden. Das ist nichts anderes als revolutionär: Eine einzelne Person, früher der PO, muss jetzt nicht mit einem Team von Menschen in aufwendigen Workshops bzw. SCRUM-Ceremonies seine Ideen mittels "User Stories" oder Zeichnungen übertragen. Er kann nun, vorausgesetzt er hat die Fähigkeiten, sich auszudrücken (siehe dazu unseren Trainingskurs), direkt, ohne Kommunikationsverluste mit der Maschine reden, die ihm den Code gibt. So kann er und ggf. ein Team sich voll auf ihre menschlichen Stärken der Mustererkennung, Kreativität und Intuition konzentrieren. Ja, in diesem Bereich werden ab jetzt deutlich weniger Menschen tätig sein. Diese werden aber eine viel größere Wirkung erzielen und dabei mehr Spaß an der Arbeit haben.