Ich lese zur Zeit immer wieder von „Vibe Coding“ und davon, wie einfach das Programmieren mit KI doch geworden ist.
Dabei wird jedoch häufig vergessen, dass das eigentliche „Programmieren“ nur ein kleiner Teil der Software Entwicklung (engl. Software Engineering) ist und je nach Vorgehensmodell sogar nur für weniger als 20% der Projektaufwände (oder auch -zeit) verantwortlich ist.
D.h. wenn jemand „Vibe Coding“ nutzt, um Anwendungen zu bauen, hat er auch nur 20% der Lösung fertig.
Für einen Prototypen => super!
Für eine Hobby-Anwendung => Mega!
Um ein wenig anzugeben => chapeau!
Um Kreativprozesse zu unterstützen => unbedingt!
Um Business-Anwendungen zu bauen => bitte nur ergänzend!
Denn in Business-Anwendungen (oder auch in allen anderen geschäftskritischen Bereichen) brauchen wir solides Software-Engineering (gerne KI-gestützt). Inklusive der restlichen 80% für
• Requirement Engineering
• Konzeption und Planung (insbesondere der nichtfunktionalen Requirements)
• Test und Qualitätssicherung
• Change Management
Warum?
Weil wir sonst irgendwelchen Code einfach „live“ nehmen würden. Weil wir nicht wüssten, wie wir ihn betreiben oder weiterentwickeln sollen, weil wir nicht wüssten, ob er stabil funktioniert, ob er sicher ist, gehackt werden kann, weil wir nicht mal wüssten, ob er überhaupt das Problem löst, weswegen wir die Anwendung gebaut haben. Und somit wüssten wir auch nicht ob / wann wir fertig sind.
Insbesondere der „Betrieb“ kann hier zum Bumerang werden: in vielen Projekten hat man über eine Laufzeit von 5 Jahren 80% der Gesamtkosten in den Betrieb investieren müssen – auch, weil man in früheren Phasen „gespart“ hat oder weil es „schnell gehen“ musste.
Software Entwicklung braucht Weitblick, Strategie und muss zum Unternehmen passen. Moderne Software muss flexibel, erweiterbar, aber auch langfristig eingesetzt werden können. KI kann hier wunderbar ergänzen, aber vom „ersetzen“ sind wir meiner Meinung nach noch sehr weit entfernt. Denn auch wenn KI ein guter „Programmierer“ ist, zum Software Engineer reicht das noch lange nicht 😉
P.S.: die besagten 20% des eigentlichen Programmierens liegen zwischen Konzeption und Qualitätssicherung
P.P.S.: was man in der Praxis zusätzlich berücksichtigen muss, sind Legacy-Systeme und Schnttstellen. Aber das ginge jetzt hier zu weit….