Der KI-Entwicklungszyklus von Software ( SDLC ) stellt die Integration von KI-Tools und -Systemen in jeder Phase des traditionellen SDLC dar, um menschliche Entwickler zu unterstützen. Dadurch sollen Geschwindigkeit, Qualität und Entscheidungsfindung in allen Phasen der Softwareentwicklung verbessert werden.
Die Integration künstlicher Intelligenz in das traditionelle SDLC ist Teil eines fortlaufenden Wandels hin zu KI-gesteuerten Methoden in Geschäftsprozessen und ist wohl die wichtigste Komponente dieses Wandels. KI und maschinelles Lernen werden zunehmend grundlegend für die Disziplin der Codierung, wobei Unternehmen aus nahezu jeder Branche mit neuen KI-Entwicklungs-Tools und -Ansätzen experimentieren. Einige Tech-Influencer haben sogar begeistert das Ende der traditionellen Codierung als anspruchsvolle Disziplin verkündet und fragen sich, ob es sich überhaupt noch lohnt, die Codierung auf die altmodische Art zu lernen. KI-Code-Generierung ist keine Neuheit mehr, sondern zentral für die Praxis der Codierung.
Agentische KI-Systeme dienen nun als Copiloten der Programmierer. Plattformen, die auf großen Sprachmodellen (LLMs) basieren, demokratisieren die Praxis der Softwareentwicklung, öffnen sie für Praktiker mit minimaler oder gar keiner Codierungserfahrung und beseitigen einen Großteil der mühsamen Arbeit. Mithilfe dieser Tools können Entwickler mehr Zeit auf die Entwicklung spannender neuer Systeme verwenden, anstatt einige der notwendigen, aber routinemäßigen Aufgaben zu erledigen, die mit der Codierung einhergehen.
Experten warnen jedoch vor einer übermäßigen Abhängigkeit von KI-gestützten Tools. Während KI den klaren Vorteil hat, SDLC schneller, besser, günstiger und sogar unterhaltsamer zu machen, haben diese Tools auch ihre Nachteile. Für Unternehmen bleibt es eine Herausforderung, Workflows zu entwickeln, die den Nutzen von KI mit dem Fachwissen und den Funktionen erfahrener menschlicher Entwickler verbinden.
Erhalten Sie kuratierte Einblicke in die wichtigsten – und faszinierendsten – KI-Neuheiten. Abonnieren Sie unseren wöchentlichen Think-Newsletter. Weitere Informationen in der IBM Datenschutzerklärung.
Der Zweck des SDLC ist es, Software von höchster Qualität zu den niedrigsten Kosten in kürzester Zeit zu produzieren. Im Laufe der Geschichte der Softwareentwicklung haben verschiedene Methodiken die Praxis geprägt. In den 1970er Jahren wurde der Prozess durch die Wasserfallmethodik definiert, die verschiedene aufeinanderfolgende Phasen mit Funktionen vorsieht, wobei jede Phase abgeschlossen sein muss, bevor die Entwickler zur nächsten Phase übergehen können.
Im folgenden Jahrzehnt wich die starre Wasserfallmethode der iterativen Entwicklung mit Phasen, die eine teilweise Implementierung, Benutzerfeedback und Verfeinerung ermöglichten. Die 2000er Jahre brachten den flexiblen Entwicklungsansatz hervor, wodurch sich die Disziplin hin zu Zusammenarbeit, verbessertem Feedback und iterativeren Entwicklungszyklen verlagerte. Im folgenden Jahrzehnt setzte sich die DevOps-Praxis durch. Dieses Set kultureller Philosophien, Praktiken und Werkzeuge integrierte die Entwicklung mit den Betriebsteams, um kontinuierliche Integration und kontinuierliche Bereitstellung (CI/CD) zu ermöglichen.
Diese Innovationen haben den Entwicklungszyklus von Software drastisch verbessert, dennoch birgt der Prozess weiterhin seine Frustrationspotenziale. Entwickler verbringen immer noch ihre Zeit damit, Brände zu löschen, obwohl sie lieber neue Systeme bauen würden. Sie haben es immer noch mit isolierten und fragmentierten Workflows zu tun. In vielen Unternehmen müssen sie sich mit technischen Schulden auseinandersetzen, die sich aus jahrzehntelangen unkoordinierten Lösungen und schnellen Patches ergeben, die nicht mit einer langfristigen Vision implementiert wurden.
Mit der Entwicklung des Transformers, einer Modellarchitektur, die moderne LLMs ermöglichte, machte das Gebiet der KI einen Riesenschritt. OpenAIs Codex, der 2021 eingeführt wurde, ist ein Nachfolger seines GPT-3-Modells und wurde auf riesigen Mengen an öffentlichem Code trainiert. Viele betrachten diese Veröffentlichung als den Beginn des Zeitalters der KI-Codierung. GitHub veröffentlichte später im selben Jahr seinen Codierungsassistenten Copilot, der auf Codex basiert. Zu diesem Zeitpunkt war die Unterstützung von KI-Codierung nicht mehr nur ein Nischeninteresse innerhalb der akademischen Forschung, sondern ein Massenprodukt, das rasch in den Workflows von Unternehmen bereitgestellt wurde.
Im darauffolgenden Jahr brachte OpenAIs ChatGPT das Konzept der Konversation mit einem KI-gestützten Chatbot in den Mainstream. Aber während die Fähigkeit, mit der KI zu kommunizieren, wichtig ist, muss die KI auch in der Lage sein, den breiteren Kontext des Codes zu verstehen, um optimale Empfehlungen geben zu können. Spätere Entwicklungen wie Code Llama ermöglichten größere Kontextfenster und ein besseres kontextuelles Verständnis.
Agentische Systeme stellen die nächste große Innovation dar. Mit Agenten, die denken und handeln können (wie beim ReAct-Framework), könnten LLMs nicht nur denken und sprechen, sondern auch innerhalb einer Entwicklungsumgebung aktiv werden. Agenten konnten nun halbautonom Tools aufrufen und mit einer Codebasis interagieren.
KI-Agenten revolutionieren weiterhin die Softwareentwicklung. Anstatt menschliche Entwickler zu ersetzen, fungieren Agenten als intelligente Ebene, die die Produktivität steigert, die kognitive Belastung reduziert und die Entscheidungsfindung verbessert. Über Planung, Analyse, Codierung, Tests, Bereitstellung und Wartung hinweg verwandelt KI das SDLC in einen noch anpassungsfähigeren, effizienteren und iterativeren Prozess.
Die Revolution geht weiter, und die agentengestützte Codierung hat das Potenzial, einen weitaus größeren Einfluss auf den Entwicklungsprozess auszuüben als Wasserfall, flexible Entwicklung oder DevOps.
KI-Lösungen können im gesamten SDLC verwendet werden und bieten umfassenden Support von der Planung bis zur Wartung.
Die Projektplanungsphase legt die Ziele und den Umfang eines Softwareentwicklungsprojekts fest. KI unterstützt diese frühen Phasen der Ideenfindung und des Scopings, indem sie den Teams hilft, ihre Ziele zu klären und ihre Ideen in strukturierte Pläne umzusetzen. Natural Language Processing-Tools (NLP) können Stakeholder-Interviews zusammenfassen und in Projekt-Roadmaps übersetzen. KI-gestützte Projektmanagement-Tools können bei der Erstellung von Zeitplänen und der Ressourcenzuweisung helfen.
Während der Analysephase sammelt und analysiert das Entwicklungsteam Informationen zu den Anforderungen des Projekts. KI kann unstrukturierte Eingaben wie E-Mails, Chatbot-Dialoge und Support-Tickets in Anforderungsdokumente umwandeln. KI kann auch als Qualitätssicherungs-Tool dienen, bei dem spezialisierte KI-Modelle Anforderungen identifizieren und validieren. Modelle können die Machbarkeit innerhalb eines bestimmten Stacks analysieren, um Leistung oder Kompatibilitätsprobleme vorherzusagen und Empfehlungen für Infrastrukturanbieter abzugeben.
In der Entwurfsphase wird die Architektur des Projekts definiert. Zu den wichtigsten Schritten gehören die Skizzierung der Navigation der Software, der Benutzeroberflächen und des Datenbankdesigns. KI kann strukturelle Empfehlungen geben, die menschlichen Designern bei der Auswahl verschiedener Architekturansätze, Software-Frameworks, Datenbankschemata und anderer Elemente helfen. Ebenso können Benutzeroberflächen schnell generiert und getestet werden. Generative KI-Tools können ebenfalls interaktive Prototypen erstellen.
In der Codierungsphase oder Entwicklungsphase schreibt das Team den Code und erstellt die Software auf der Grundlage der Richtlinien, die in den vorangegangenen Phasen erstellt wurden. Hier entfaltet die KI ihre sichtbarste und unmittelbarste Wirkung.
KI-Agenten, die mit Systemen wie IBM Bob verwaltet werden, können in ihrer integrierten Entwicklungsumgebung (IDE) Seite an Seite mit menschlichen Entwicklern arbeiten und ihnen helfen, Software viel schneller mit der Leistung der agentischen Codierung zu entwickeln. Bob scannt Code in Echtzeit, erkennt Komplexitätsprobleme und Möglichkeiten zum Code-Refactoring, was Entwicklern hilft, technische Schulden zu vermeiden.
Solche Tools können hochwertige Code-Snippets und sogar ganze Module auf Basis von Prompts in natürlicher Sprache oder Teilimplementierungen generieren. Während die menschliche Aufsicht nach wie vor von entscheidender Bedeutung ist, kann KI die Zeit vom Konzept bis zum Code beschleunigen.
Die Dokumentation des Codes ist eine weitere zeitaufwändige Aufgabe, die in dieser Phase mithilfe von KI-Funktionen problemlos bewältigt werden kann.
Die Testphase beginnt, nachdem das Entwicklungsteam eine funktionsfähige Software erstellt hat. In dieser Phase sucht das Team nach Möglichkeiten, Fehler zu beseitigen und das Endprodukt zu verbessern. KI kann automatisch Testfälle erstellen, indem sie die Codebasis analysiert und potenzielle Fehlerquellen oder komplexe Edge-Fälle identifiziert. Es kann Anomalien im Anwendungsverhalten erkennen und visuelle Regressionstests durchführen.
In der Bereitstellungsphase wird fein abgestimmte Software in der Produktionsumgebung bereitgestellt, wo Benutzer darauf zugreifen können. Künstliche Intelligenz kann Pipelines der kontinuierlichen Integration und Bereitstellung optimieren und rationalisieren, indem sie Engpässe vorhersagt und die Automatisierung von Routineaufgaben erhöht. KI-Überwachungssysteme analysieren Protokolle, Metriken und das Systemverhalten in Echtzeit, um potenzielle Fehler zu erkennen, bevor sie sich verschlimmern, und so kostspielige Ausfallzeiten zu minimieren.
Die Wartungsphase umfasst die Arbeiten nach der Bereitstellung, die Softwareteams leisten, um den weiteren Betrieb der Software sicherzustellen: Updates und Optimierungen durchführen, unvorhergesehene Änderungen vornehmen, Patches testen, neue Anwendungsfälle bearbeiten und alle Fehler beheben, die Benutzer finden. KI-Codingsoftware kann Fehlerberichte automatisch kategorisieren und priorisieren, Vorfälle zusammenfassen und Ursachen sowie Debugging-Fixes vorschlagen. Sie ermöglicht einen proaktiveren Wartungsansatz, indem die ineinandergreifenden Systeme kontinuierlich überwacht werden, sodass diese Systeme Ineffizienzen aufdecken können, die Menschen möglicherweise übersehen.
KI-Tools sind probabilistische Systeme, die auf komplexen Algorithmen basieren und nicht auf die gleiche Weise argumentieren wie menschliche Ingenieure. Ihre Ergebnisse basieren auf Mustern im Trainingsdatensatz, nicht auf echtem Verständnis. Von KI generierter Code mag korrekt aussehen, kann aber subtile Probleme enthalten. Er sagt voraus, was statistisch gesehen funktionieren sollte, und nicht, was in einem bestimmten realen Kontext tatsächlich funktioniert. KI kann die Bedeutung systemübergreifender Abhängigkeiten, API-Integrationen oder organisatorischer Designstandards übersehen oder unterschätzen. Sie kann Funktionen aufrufen, die eigentlich gar nicht existieren, weil es Halluzinationen sind. Unkontrollierter KI-Code kann Sicherheitslücken oder Ressourcenineffizienzen verursachen.
Große Unternehmen und Organisationen experimentieren mittlerweile mit KI-gestützten Codierungs-Tools und gehen sogar so weit, ihre Mitarbeiter dazu zu ermutigen, sich mit „Vibe Coding“ zu beschäftigen. Die Aufgabe moderner Unternehmen besteht darin, das richtige Gleichgewicht zwischen menschlichem Input und KI-Unterstützung zu finden. Ein Human-in-the-Loop-Ansatz (HITL) wird in der Regel für jede Art von ernsthaftem Codierungsprojekt empfohlen.
Das Schreiben von Code ist weniger ein Engpass, aber die Auswertung des von KI geschriebenen Codes schon. Evaluierung kann auch teilweise von KI durchgeführt werden, allerdings müssen Unternehmen die Überprüfungsprozesse, Best Practices und sogar ihre Kultur rund um das Thema, wie KI-generierter Code bewertet werden soll, auf den neuesten Stand bringen. Sogar die grundlegende Zusammensetzung der Entwicklungsteams und die Entwicklungspraxis müssen überarbeitet werden, um diesen Technologien Rechnung zu tragen. Zum Beispiel müssen leitende Ingenieure mehr Zeit mit Architektur und Reviews als mit der Implementierung verbringen. Entwickler werden eher als Kuratoren und Problemlöser agieren. Unternehmen, die ihren SDLC so umgestalten können, dass sie KI-Tools optimal nutzen, werden in der Lage sein, schneller zu liefern und Innovationen voranzutreiben.
Beschleunigen Sie die Softwarebereitstellung mit Bob, Ihrem KI-Partner für sichere, absichtsorientierte Entwicklung.
Optimieren Sie die Softwareentwicklung mit vertrauenswürdigen KI-gestützten Tools, die den Zeitaufwand für das Schreiben von Code, Debuggen, Code-Refactoring oder Codevervollständigung minimieren und mehr Raum für Innovation schaffen.
Erfinden Sie kritische Workflows und Abläufe neu, indem Sie KI einsetzen, um Erfahrungen, Entscheidungsfindung in Echtzeit und den geschäftlichen Nutzen zu maximieren.