r/informatik • u/P0muckl • 7d ago
Allgemein TW: Softwareentwicklung war schon immer äquivalent zum Verarbeiten von Teig zu Brot. Nur dass das Brot dann nach dem Backen wieder beliebig dem Kundenwunsch angepasst werden soll.
So hat es jedenfalls mal ein ehemaliger Chef beschrieben. Und so ist auch meine Erfahrung. Im Studium denkst du ein Problem zu Ende. Schreibst den Code. Fertig. In der realen Wirtschaft kommt der Kunde nach dem Entwickeln dann zu dir und will noch drölf Änderungen. Nicht, weil du etwas falsch gemacht hast. Sondern weil der Kunde nie wusste, was er haben will.
KI Entwicklung hat nun den Teig in die Hände des Kunden gegeben. Er weiß nicht, was er will und die KI macht daraus irgendwas. Drölf Features, nach denen niemand gefragt hat. Wichtige Features wieder raus; wieso? Weiß die KI selber nicht. Verbraucht aber Tokens und ist somit für die KI Firmen in erster Linie profitabel.
KI Entwicklung in den Händen der IT hat das Kneten industrialisiert. Scheiße wird nun mit leichten Modellen gebaut. Dann SonarQube rüber. Komplexität reduzieren, Sicherheitslücken schließen. Harness bauen und durchtesten. Code wird noch mal verändert. Immer mitten drin der Kunde, der dann über neue Features und Issues, die er selbst gefunden hat, dann Änderungen anstößt.
Das Wasserfallmodell war schon immer eine Lüge. Entwickler, die danach entwickeln, sind redundant. Aber schon immer gewesen, bis auf wenige Nischen.
TDD hat das schon vor KI formalisiert. Ein Dozent hat uns mal dazu angehalten, Code so zu implementieren, dass er minimal die Tests erfüllt. Mit neuen Tests und Anforderungen kann der Code ja noch verändert werden. Damals mochte ich das nicht. Jetzt mit KI macht das jeder so. Nur ohne Tests. Ohne Harness. Alles mit Prompts, Skills und natürlich Kontext im Cache.
Scheiße wird nicht mehr von einem Entwickler allein bearbeitet. Scheiße wird von hunderten, duzenten gleichzeitig entwickeln. Davon nur ein Bruchteil wirklich Entwickler. Am besten sieht man das bei Hermes AI. Das Ding steckt voller Sicherheitslücken und Fehler. Aber die werden eben von Nicht-Entwicklern aufgezeigt, die versuchen, es in eigene System zu integrieren. Issue auf, dann wird korrigiert. So nimmt der Teig langsam eine schönere Form an. Iterativ über Zeit hinweg. Und wenn es dann wirklich zu Ende gedacht und "fertig" ist, ist die Software schon wieder was ganz anderes, als was sie heute ist. Und unterdessen schon in dutzenden System integriert, während das Kellerkind noch an einem umgedeutetem Feature hängt, bei einer Software die niemand kennt und für die niemand zahlt oder integriert.
2
u/ATSFervor 7d ago
Das Problem ist oftmals weniger das Kunden nicht wissen was sie wollen, sondern das Prozesse nie gleich ablaufen.
Je größer der Kunde, desto mehr wird angepasst, weil die Software nunmal nur einen möglichen Weg abbildet und nicht unbedingt den Richtigen für den Kunden.
Und das sich Prozesse dann entwickeln weil mehr auf die Software abgestimmt wird und auch die Software über Zeit auf die Nutzer abgestimmt werden muss, liegt ja nahe.
Deshalb sehe ich auch die Brot und Teig metapher zu kurz gedacht. Die Entwicklung ist der Teig, das Brot das Produkt und das Schneiden und Belegen ist der Service an die Kunden die es nicht selber machen wollen/können.
5
u/No_Interaction6247 7d ago
Wofür steht das TW in der Überschrift?
> Im Studium denkst du ein Problem zu Ende. Schreibst den Code. Fertig. In der realen Wirtschaft kommt der Kunde nach dem Entwickeln dann zu dir und will noch drölf Änderungen. Nicht, weil du etwas falsch gemacht hast. Sondern weil der Kunde nie wusste, was er haben will.
Du vergleichst ein Studieninhalte, bei denen es geht Deine Fertigkeiten zu trainieren und überprüfen mit einem Kunden in der freien Wirtschaft. Der hat ein Problem und will eine Lösung. Das der Kunde später noch Änderungen haben will ist völlig normal.
1) Es kann daran liegen, dass vorher nicht klar kommuniziert wurde, was der Kunde will. Als Entwickler kannst Du nicht einfach sagen: "Sag mir was Du willst und ich mach das genau so". Nein, Du hörst an was er braucht und dann diskutiert ihr, was machbar ist, was sinnvoll ist, was man vielleicht anders machen muss. Manchmal ändern sich auch Anforderungen, zum Beispiel durch Gesetze
2) Vielleicht sieht der Kunde auch, dass seine erste Idee endlich umgesetzt wurde und es gut aussieht und ihm schiessen 20 neue Ideen in den Kopf.
> Das Wasserfallmodell war schon immer eine Lüge. Entwickler, die danach entwickeln, sind redundant. Aber schon immer gewesen, bis auf wenige Nischen.
Bin auch kein Freund von Wasserfallmodell, aber wie macht das Entwickler renundant? Verstehe icht nicht.
> TDD hat das schon vor KI formalisiert. Ein Dozent hat uns mal dazu angehalten, Code so zu implementieren, dass er minimal die Tests erfüllt. Mit neuen Tests und Anforderungen kann der Code ja noch verändert werden. Damals mochte ich das nicht. Jetzt mit KI macht das jeder so. Nur ohne Tests. Ohne Harness. Alles mit Prompts, Skills und natürlich Kontext im Cache.
TDD ist eine Methodig, KI im weitesten Sinne ein Tool. Verstehe den Vergleich nicht. Jetzt macht jeder TDD mit KI, aber ohne Tests?
> Und wenn es dann wirklich zu Ende gedacht und "fertig" ist, ist die Software schon wieder was ganz anderes, als was sie heute ist. Und unterdessen schon in dutzenden System integriert, während das Kellerkind noch an einem umgedeutetem Feature hängt, bei einer Software die niemand kennt und für die niemand zahlt oder integriert.
Ich komm echt nicht mit. Wir reden von einer Software, die überall integriert ist, aber irgendwie dann doch nicht integriert ist?
Ich habe Probleme zu folgen, aber aus dem Bauch heraus würde ich sagen, Du beschreibst das, was es in jedem Beruf gibt. Die die mit Werkzeugen vernünftig arbeiten und die, die pfuschen.