- Warum es so schwierig ist, Entwickler durch KI zu ersetzen
- In vielen Nachrichten heißt es, KI werde Entwickler ersetzen, aber beim Aufbau von Software ist der schwierigste Teil nicht das Coden, sondern das Erstellen klarer und präziser Anforderungen
- "Das ist kein Bug, das ist ein Feature. Äh, Moment, es ist doch ein Bug"
- Unklare Anforderungen erzeugen Bugs
- "Wenn KI Entwickler ersetzen soll, müssen Kunden genau erklären können, was sie wollen. Wir sind also sicher"
Die Realität von KI: Schach vs. autonomes Fahren
- KI wurde in Bereichen mit begrenzten und klaren Regeln wie Schach erfolgreich eingesetzt, aber autonome Fahrzeuge sind wegen unendlich vieler Variablen und Ausnahmesituationen eine deutlich komplexere Herausforderung für KI
- In der Tech-Branche sind fünf oder sechs Neunen bei der Availability der Standard (99.999 % bis 99.9999 %)
- 99 % zu erreichen kostet nicht besonders viel. 99 % bedeutet, dass Ihre Website pro Jahr weniger als 3 Tage ausfällt (87,6 Stunden)
- Aber mit jeder zusätzlichen Neun steigen die Kosten dafür exponentiell
- Für 99.9999 % darf die Ausfallzeit nur 31,5 Sekunden pro Jahr betragen (99,9 % sind 526 Minuten/8,76 Stunden, 99,99 % 52 Minuten, 99,999 % 5,2 Minuten)
- Dafür sind enorme Planung und Anstrengung nötig, und natürlich ist es teuer
- Egal wie gut KI wird, ein Restrisiko für Unfälle bleibt immer
- Ich weiß nicht, wie viele Unfälle akzeptabel wären, aber mindestens so gut wie Menschen müsste sie schon sein
KI kann keine Software bauen, sondern nur Code erzeugen
- Software zu entwickeln und zu warten hat viel mehr mit Fahren als mit Schach gemeinsam
- Es gibt unzählige Variablen, und Regeln werden durch Urteilsvermögen bestimmt
- Beim Erstellen von Software gibt es zwar ein gewünschtes Ergebnis, aber es ist nicht so einfach wie beim Schach
- Software ist fast nie wirklich fertig. Sie ist eine fortlaufende Übung, bei der ständig Funktionen ergänzt und Bugs behoben werden
- Anders als Software ist eine Schachpartie beendet, sobald man gewinnt oder verliert
- In der Softwareentwicklung haben wir ein Werkzeug, das Softwaredesign zu etwas wie der Regel-Engine im Schach machen soll: technische Spezifikationen
- Im besten Fall sagen diese technischen Spezifikationen das Verhalten der Nutzer und den Programmablauf voraus
- Aber das ist selten. Viel zu oft bekommen wir eine Wishlist als Funktionsspezifikation oder ein auf eine Serviette gekritzeltes Wireframe oder vage Anforderungsdokumente und sollen dann nach bestem Wissen entscheiden
- Noch schlimmer: Anforderungen ändern sich oder werden ignoriert
- Unmögliche Anforderungen. Im Originaltext wird ein Projektbeispiel erwähnt, bei dem eine COVID-Umfrage per SMS an einem Ort ohne WIFI durchgeführt werden sollte. Es wäre richtig gewesen, es nicht zu machen
- Wäre KI mit so einer Situation überhaupt in der Lage umzugehen?
- Damit KI funktionierende Software erstellen kann, muss man genau wissen, was man will, und es klar und präzise definieren können
- In den letzten zehn Jahren hat die Softwarebranche von Waterfall zu Agile gewechselt
- Bei Waterfall dachte man, Stakeholder wüssten, was sie wollen, und könnten es dokumentieren, aber es scheiterte, weil sie bei der Auslieferung des Endprodukts oft sehr enttäuscht waren
- Agile ist eine Lösung für diesen Prozess
- KI eignet sich möglicherweise am besten dafür, bereits vorhandene Software für moderne Hardware und neue Sprachen neu zu schreiben
- Es gibt noch viele Orte, an denen mit COBOL geschriebene Software im Einsatz ist, aber kaum noch jemand lernt diese Sprache
- KI kann bereits existierende Software vielleicht schneller als Menschen nachbauen, aber nur deshalb, weil sich bereits jemand Gedanken darüber gemacht hat, wie die Software gebaut werden sollte
- Mit dem Waterfall-Prozess, den wir auch Todesmarsch nennen, kann KI Software ziemlich gut bauen
- Wer ist in Waterfall furchtbar? Der Mensch
- Nicht nur beim Schreiben des Dokuments, das an das Programmierteam übergeben wird, sondern bei allem davor
- KI kann einige erstaunliche Dinge tun, aber sie kann weder Gedanken lesen noch Ihnen sagen, was Sie wollen
8 Kommentare
Ich denke, das gilt nicht nur für die Softwareentwicklung, sondern für alle Bereiche, in denen es Bedenken gegenüber KI insgesamt gibt.
Die Technologien zur Automatisierung der Validierung von Anforderungen werden sich wohl stark weiterentwickeln. Die Testautomatisierung dürfte dadurch noch stärker glänzen ... Kommt jetzt eine Welt, in der Menschen nur noch Testfälle verwalten ...?
„Wer ist im Wasserfall am schrecklichsten? Ganz klar: der Mensch.“
Als jemand, der das erlebt hat, kann ich dem nur zustimmen.
Ich habe den guten Artikel gelesen, also gehen wir jetzt los und fassen die Issues zusammen.
Auch wenn es für KI schwierig sein mag, Entwickler zu ersetzen, könnte es nicht sein, dass die KI das Coden übernimmt, wenn Entwickler ihr nur ein paar Schlüsselwörter zuwerfen?
Vielleicht wird das früher scherzhaft erwähnte „Mund-Coding“ ja Wirklichkeit..
Entwickelt man heute nicht genau so mit Copilot oder anderen AIs?
Wenn man in den Kommentaren auf Englisch beschreibt, was man braucht, wird es automatisch erstellt, und man muss nur noch prüfen, ob es dem entspricht, was man will oder nicht.
Dem kann ich sehr zustimmen. Ich denke, dass künftige Softwareingenieure alle TPM-ähnliche Fähigkeiten mitbringen und dass dies von ihnen verlangt werden wird.