- AI
Related guides
Leitfaden
So nutzt ihr AI in der Softwareentwicklung
Der ultimative Leitfaden: Softwareentwicklung mit GenAI-Tools und Best Practices voranbringen
Der umfassende Leitfaden für den Einsatz von AI-Tools in der Softwareentwicklung
Ihr wisst bereits, dass GenAI die Softwareentwicklung auf den Kopf stellt. Oder dies zumindest irgendwann tun wird. Entscheidend ist, zu wissen, welche Tools und Methoden ihr einsetzen solltet – und wann ihr damit beginnen müsst. Ihr wollt weder zu spät noch zu früh dran sein und damit riskieren, Ressourcen zu verschwenden oder den Anschluss zu verlieren.
Da draußen ist es ein Dschungel. Unzählige neue Technologien und Methoden kommen auf den Markt, und es gibt ebenso viele Wege zur Auswahl. Die gute Nachricht: Wir bei Eficode haben die Entwicklungen von Anfang an genau verfolgt. Und wir drücken euch die Daumen – deshalb ist es Zeit, einige wichtige Erkenntnisse mit euch zu teilen.
Lest weiter und erfahrt, welche AI-Anwendungsfälle für eure Softwareentwicklungsorganisation höchstwahrscheinlich deutliche positive Ergebnisse bringen. Wertvolle Anwendungsfälle, die nur darauf warten, genutzt zu werden.
In diesem Leitfaden erfahrt ihr mehr über die grundlegenden Tools, die ihr für eure Softwareentwicklung braucht, die Bereitstellung und Verwaltung von GenAI-Assistenten und -Agenten und vieles mehr. Legen wir los!
1. Throw out the old rule book – the game has changed
Wie bei allem, was einen Wettbewerbsvorteil schaffen soll, ist es gut zu wissen, welche „Regeln“ oder gängigen Annahmen ihr außer Acht lassen könnt. Wenn ihr zu stark von alten Arbeitsweisen und Methoden abhängig seid, verpasst ihr die grundlegenden Veränderungen, die im Zeitalter von AI nötig sind. Was lohnt es sich also zu vergessen – und woran solltet ihr euch erinnern?
In der Softwareentwicklung hat das V-Modell seit jeher zwei Aspekte bestimmt:
Was sollten wir implementieren?
Wie sollten wir es validieren?
Früher bedeutete das auf beiden Seiten des Modells gleich viel Arbeit – vielleicht sogar mehr auf der linken Seite des V. Das V-Modell wird zwar nicht verschwinden, muss aber verändert werden.
In Zukunft wird die linke Seite durch GenAI müheloser. Menschen in der Softwareentwicklung müssen ihren Fokus von der Effizienz beim Schreiben von Code auf die richtigen Ergebnisse verlagern – durch rigorose, iterative Validierungsschleifen.
Als Entwickler bedeutet das, dass ihr mehr Zeit für die Validierung eurer Arbeit und weniger Zeit für das Schreiben von Code aufwenden werdet.
Worst-Case-Szenario – selbst mit automatisierten Tests und CI/CD
Die Kosten von Softwareänderungen zu schätzen, ist schwierig – besonders bei neuen Vorhaben. Generative AI verändert unsere Sicht auf Kosten und Aufwand. Ihr seid nicht länger darauf beschränkt, wie schnell ihr Code schreiben könnt. Was ihr oder andere zuvor entwickelt haben, könnt ihr jetzt viel einfacher wiederverwenden. So könnt ihr neue Lösungen schneller und kostengünstiger entwickeln.
Eure integrierte Entwicklungsumgebung (IDE) wird mehr als ein Ort zum Schreiben von Code. Sie wird zum zentralen Hub für eure gesamte Arbeit. Sie verbindet euren Code mit User Stories, Geschäftszielen und Kundenfeedback. So erkennt ihr die Wirkung eurer Arbeit. Die Zukunft des Platform Engineering umfasst die gesamte Wertschöpfungskette.
In der modernen Softwareentwicklung kann GenAI jeden in kürzester Zeit enormen Schaden anrichten lassen. Deshalb braucht ihr ein starkes DevOps-Sicherheitsnetz. Damit das Endprodukt weiterhin den Anforderungen entspricht, braucht ihr:
Agile Feedbackschleifen, damit ihr Änderungen schnell umsetzen könnt
Nachverfolgbarkeit durch CI/CD-Pipelines, damit ihr eure Arbeit verfolgen könnt
Automatisierte Sicherheitsprüfungen, damit euer Code sicher ist
Umfassende Testautomatisierung, damit euer Code funktioniert
Plattformzentrierte Entwicklung, damit euer Code viele Nutzer bewältigen kann
AI-gestützte Erkenntnisse, damit ihr euren Code kontinuierlich verbessern könnt
Dieses Sicherheitsnetz hilft euch, schnell zu arbeiten und Fehler zu vermeiden. Außerdem reduziert es die Risiken für euer Team.
Wir erleben tatsächlich den Beginn einer neuen Ära der Softwareentwicklung. In diesem Leitfaden stelle ich euch die AI-Anwendungsfälle vor, die jede Softwareentwicklungsorganisation umsetzen sollte, um sich anzupassen und erfolgreich zu sein.
Jeder Anwendungsfall liefert euch konkrete Erkenntnisse und Praktiken, die eure Organisation beim Einstieg in diese neue Ära der Softwareentwicklung unterstützen.
2. The very first AI-based solutions your developers can adopt
GenAI-Tools werden schnell zum Standard in der Softwareentwicklung. Teams, die diese Tools nutzen, haben einen deutlichen Vorteil. Wer sie nicht nutzt, riskiert, den Anschluss zu verlieren. In diesem Kapitel zeigen wir euch die wichtigste GenAI-basierte Lösung, mit der ihr die Produktivität eures Teams und die Qualität eurer Software steigern könnt.
TL;DR: GenAI-Tools wie GitHub Copilot und GitLab Duo helfen euch, Code schneller und mit weniger Fehlern zu schreiben. Außerdem erleichtern sie es, die Qualität und Konsistenz eures Codes zu verbessern.
Diese Assistenten sind der einfachste Einstieg in GenAI für die Softwareentwicklung. Sie helfen euch beim Schreiben von Code. Sie sind bereits verfügbar, und ihr solltet sie sofort einsetzen. Sie bieten mehrere Vorteile.
Sie können eure Produktivität und Codequalität steigern. Sie nutzen umfangreiche Code-Repositories, um euch relevante Vorschläge zu machen. So könnt ihr Fehler vermeiden, saubereren Code schreiben und technische Schulden reduzieren. Außerdem erleichtern sie eurem Team die Zusammenarbeit und das Onboarding neuer Mitglieder.
GitHub Copilot und GitLab Duo sind zwei beliebte Beispiele für Tools, mit denen ihr Software schneller bereitstellen könnt:
GitHub Copilot schlägt Code vor, erstellt Dokumentation und schreibt sogar Tests.
GitLab Duo lässt sich in eure CI/CD-Pipeline integrieren. Es gibt euch Feedback, mit dem ihr euren Code in Echtzeit verbessern könnt.
Achtet bei der Nutzung dieser Tools auf den Code eures Unternehmens. Ihr möchtet nicht, dass euer proprietärer Code zum Training öffentlicher Modelle verwendet wird. Prüft die Nutzungsbedingungen und Datenschutzrichtlinien, um zu verstehen, wie eure Daten verarbeitet werden.
Sowohl GitHub als auch GitLab bieten Möglichkeiten, euren Code zu schützen. Ihr könnt Telemetrie deaktivieren und selbstverwaltete Umgebungen nutzen, um eure Daten privat zu halten.
Tools zur Code-Vervollständigung helfen euch, Code schneller und mit weniger Fehlern zu schreiben.
Sie nutzen große Code-Repositories, um sicheren und gut getesteten Code vorzuschlagen. Das hilft euch, Fehler zu vermeiden und konsistenten Code zu schreiben. Außerdem bleibt euer Code sauber und lässt sich künftig einfacher ändern.
Wenn ihr diese Tools in eure tägliche Arbeit integriert, wird euer Team sicherer im Umgang mit AI. Das kann dazu führen, dass ihr AI in eurer Softwareentwicklung auf mehr Arten einsetzt.
TL;DR: GenAI-Tools können euch beim Schreiben, Analysieren und Teilen von Anforderungen unterstützen. Das spart Zeit und reduziert Fehler. Außerdem kann es eurem Team helfen, sich darüber abzustimmen, woran es arbeitet.
Ihr könnt GenAI für die Verwaltung eurer Anforderungen nutzen – ein wichtiger Schritt, um eure Softwareentwicklung zu verbessern. GenAI hilft euch, Anforderungen effektiver zu erfassen, zu analysieren und zu kommunizieren.
Produkte wie Atlassian Rovo und Technologien wie „Talk to your knowledge base“, die als RAG-Architektur umgesetzt sind, nutzen GenAI, um die Anforderungsdokumentation zu automatisieren. Sie können euch unterstützen bei:
Echtzeit-Einblicken, mit denen ihr eure Projektziele präzisieren könnt
dem Extrahieren von Anforderungen aus Diskussionen
der Ausrichtung an den Prioritäten eurer Organisation
dem Erstellen von User Stories oder Akzeptanzkriterien.
Diese Funktionen sparen Zeit und reduzieren Unklarheiten in euren Anforderungen. So könnt ihr später in der Entwicklung kostspielige Fehler vermeiden.
GenAI kann eure Anforderungen auch analysieren, um Inkonsistenzen und Überschneidungen zu finden. Das hilft euch, die Qualität eurer Projektergebnisse zu verbessern. Außerdem erleichtert es eurem Team die Zusammenarbeit und das Onboarding neuer Mitglieder.
Wie bei den Assistenten aus dem vorherigen Abschnitt müsst ihr auch beim Einsatz von GenAI im Requirements Management eure Daten schützen.
Prüft die Sicherheitsfunktionen der Plattform, um sicherzustellen, dass sie den Richtlinien eurer Organisation entsprechen. Implementiert Zugriffskontrollen, um sensible Informationen zu schützen. Verschlüsselt eure Daten sowohl bei der Übertragung als auch im Ruhezustand. Prüft regelmäßig die Nutzung von Tools wie Rovo, um Risiken zu minimieren.
Sie automatisieren zeitaufwendige Aufgaben wie die Dokumentation, sparen Zeit und reduzieren menschliche Fehler.
Sie sorgen dafür, dass alle Stakeholder abgestimmt sind und Anforderungen klar und vollständig im Einklang mit den Projektzielen vorliegen.
Sie unterstützen euch durch bessere Kommunikation, Onboarding und Teamabstimmung bei der erfolgreichen Umsetzung.
TL;DR: Nutzt GenAI, um eure alte Dokumentation in eine Ressource zu verwandeln, die ihr einfach durchsuchen und abfragen könnt. So findet ihr Testfälle und Spezifikationen, die fehlen oder schwer verständlich sind.
Jedes Unternehmen hat Legacy-Code. Dieser Code verfügt oft nicht über ausreichende Dokumentation, Spezifikationen und Testfälle. Sie sind wichtig, um euren Code zu verstehen und zu warten. Leider priorisieren viele Unternehmen die Erstellung dieser Grundlagen nicht, was später zu Problemen führen kann.
In großen Projekten verlassen sich Teams bei der Kommunikation oft auf umfangreiche Dokumentation. Da diese Dokumentation häufig in natürlicher Sprache verfasst ist, kann sie mehrdeutig sein und möglicherweise nicht den aktuellen Stand der Software widerspiegeln. Es kann schwierig sein zu erkennen, ob die Dokumentation aktuell ist.
GenAI kann euch dabei helfen, diese Dokumentation zu verstehen und sogar fehlende Informationen zu finden. Tools wie AnythingLLM können Informationen aus eurer Dokumentation extrahieren. Ihr könnt dieses Tool auf eurem eigenen Laptop ausführen. So könnt ihr ein RAG-System (Retrieval-Augmented Generation) erstellen. Anschließend könnt ihr eure Dokumentation über eine Chat-Oberfläche abfragen.
Ihr könnt auch fortschrittliche Coding-Assistenten und Knowledge Graphs nutzen, um euren Code zu analysieren.
Diese Tools helfen euch zu verstehen, wie Nutzer mit eurer Software interagieren. Mit diesen Informationen könnt ihr umfassendere Tests erstellen. Beispielsweise könnt ihr potenzielle User Flows und Edge Cases identifizieren, die ihr sonst möglicherweise übersehen hättet.
Wählt ein geeignetes LLM (Large Language Model) – entweder von einem SaaS-Anbieter oder lokal ausgeführt.
Bindet eure Daten in das RAG ein. Stellt sicher, dass sich das Modell nur auf die relevanten Dokumente konzentriert.
Beginnt, eure Dokumentation abzufragen. Ihr könnt es beispielsweise bitten:
Alle im Dokument beschriebenen funktionalen Szenarien auflisten
Die Szenarien in Gherkin-Syntax formatieren
Nicht-funktionale Anforderungen wie Performance und Sicherheit identifizieren
So wird eure statische Dokumentation zu einer interaktiven Ressource. Ihr könnt damit Testfälle generieren, die euch zuvor nicht zur Verfügung standen.
Ihr benötigt Testfälle und Spezifikationen, um euren Code zu verstehen und zu refaktorieren. GenAI kann euch dabei helfen, diese aus eurer bestehenden Dokumentation zu generieren.
GenAI kann euch helfen, die Lücke zwischen geschäftlichen Anforderungen und technischen Spezifikationen zu schließen. So wird es einfacher, euren Code zu verstehen und zu warten.
Kurz gesagt: KI-Tools wie Stable Diffusion und Flux helfen, die Lücke zwischen Softwareentwicklung und Bilderstellung zu schließen. Wenn ihr sie mit euren Brand-Assets feinabstimmt, könnt ihr schnell hochwertige, konsistente Visuals erstellen, Zeit sparen und die Entwicklung auf Kurs halten.
Eine fehlende zeitliche Abstimmung zwischen Softwareentwicklung und der Erstellung von Design-Assets ist eine häufige Herausforderung.
Hochwertige, visuell ansprechende Designs sind zwar entscheidend für eine hervorragende User Experience, doch Entwickler möchten ihre Software ausführen, bevor die finalen Assets fertig sind. Wenn ihr die Entwicklung unterbrecht, um mit Tools wie Gimp Platzhalter-Visuals zu erstellen, kann das den Workflow stören und Zeit kosten, die besser in die Entwicklung besserer Software fließen würde.
KI-Tools zur Bildgenerierung wie Stable Diffusion und Flux können schnell und kosteneffizient hochwertige Visuals erstellen, die zu eurer Marke passen. Diese auf umfangreichen Datensätzen trainierten Modelle können vielfältige und anspruchsvolle Bilder generieren, die auf eure Anforderungen zugeschnitten sind.
Indem ihr diese Tools auf die Identität eurer Marke feinabstimmt – etwa auf euren einzigartigen Stil, eure Farbpalette und eure Designphilosophie –, könnt ihr den kreativen Prozess beschleunigen und gleichzeitig die visuelle Konsistenz aller Assets wahren.
Nach der Feinabstimmung können diese KI-Modelle vielfältige Visuals für unterschiedliche Anforderungen generieren, darunter UI-Elemente, Marketingmaterialien und Produkt-Mockups.
Richtet eure Umgebung für die KI-Bildgenerierung mit dem passenden Modell ein
Stimmt das Modell mit euren Brand-Assets und den zugehörigen Labels fein ab
Generiert Platzhalterbilder, die als Ersatz für die finalen Designs dienen
Mit KI-gestützten Tools könnt ihr euren Entwicklungsprozess reibungsloser gestalten und nahezu sofort hochwertige Bilder erstellen, die zu eurer Marke passen. So könnt ihr euch darauf konzentrieren, herausragende Software zu entwickeln.
3. Deploying and managing GenAI
Jetzt wisst ihr, wie ihr generative AI in eurer Softwareentwicklung einsetzen könnt. Doch wie bringt ihr diese Tools tatsächlich in die Praxis? In diesem Abschnitt erfahrt ihr, wie ihr generative AI in eurem Unternehmen bereitstellt und verwaltet.
Ihr lernt verschiedene Bereitstellungsstrategien kennen und erfahrt, wie ihr die richtige für eure Anforderungen auswählt. Außerdem lernt ihr, wie ihr eure AI-Modelle verwaltet und zuverlässig betreibt, damit ihr das Beste aus euren AI-Investitionen herausholt.
Generative AI verändert die Art, wie ihr Software entwickelt. Wie ihr sie einsetzt, hängt jedoch davon ab, was ihr erreichen möchtet. Wie bereits erläutert, könnt ihr damit euren Entwicklungsprozess verbessern. Ihr könnt sie aber auch nutzen, um eurer Software neue Funktionen hinzuzufügen.
Wenn ihr LLMs in eurem Entwicklungsprozess einsetzt, helfen sie eurem Team, besser zu arbeiten. Ihr könnt Tools wie GitHub Copilot oder ChatGPT beispielsweise nutzen, um Code zu generieren, Bugs zu beheben oder neue Frameworks kennenzulernen. Ihr könnt auch ein eigenes Modell mit eurer Codebasis trainieren. So könnt ihr Aufgaben automatisieren und euch auf komplexere Probleme konzentrieren. Das LLM hilft euch, schneller besseren Code zu schreiben. Es ist jedoch nicht Teil des Endprodukts.
Ihr könnt LLMs auch in eure Software integrieren. Dadurch erhält euer Produkt neue Funktionen. Ihr könnt ein LLM beispielsweise für den Kundensupport, für Übersetzungen oder zur Personalisierung von Nutzererlebnissen einsetzen. Das LLM wird zu einem zentralen Bestandteil eures Produkts.
Der Hauptunterschied liegt darin, wie ihr das LLM einsetzt. Ihr könnt damit euren Entwicklungsprozess verbessern oder eurem Produkt neue Funktionen hinzufügen. Beide Ansätze zeigen, wie vielseitig LLMs sind.
TL;DR: Die Bereitstellung großer Sprachmodelle (LLMs) erfordert sorgfältige Planung. Ihr müsst überlegen, wo ihr sie bereitstellt (in der Cloud oder On-Premise), wie ihr eure Daten schützt und regulatorische Vorgaben einhaltet. Auch Performance und Skalierbarkeit spielen eine wichtige Rolle.
Ihr könnt LLMs in der Cloud oder auf eurer eigenen Infrastruktur bereitstellen. Cloud-Bereitstellungen eignen sich gut für Skalierbarkeit und Flexibilität. On-Premise-Bereitstellungen bieten Vorteile bei Sicherheit und geringer Latenz.
Ein hybrider Ansatz könnte die beste Lösung sein. Für sensible Daten könnt ihr eure eigene Infrastruktur nutzen und für andere Aufgaben die Cloud. So verbindet ihr die Vorteile beider Ansätze.
Vielleicht möchtet ihr mit lokaler Verarbeitung beginnen. Damit könnt ihr schnell starten. Wenn eure Anforderungen wachsen, könnt ihr anschließend zu einem hybriden Ansatz übergehen.
Schützt eure Daten, indem ihr LLMs auf eurer eigenen Infrastruktur bereitstellt
On-Premise-Bereitstellungen können euch helfen, Compliance-Anforderungen zu erfüllen
Reduziert die Latenz und verbessert die Performance mit On-Premise-Bereitstellungen
Stellt in der Cloud bereit, wenn ihr eure Lösung flexibel skalieren möchtet
TL;DR: Mit einer Kombination aus Tools von Drittanbietern und eigener Infrastruktur könnt ihr bei GenAI Kosten sparen. Startet mit Tools von Drittanbietern und wechselt zu eurer eigenen Infrastruktur, wenn ihr bereit seid.
Der Einsatz von GenAI kann teuer werden, wenn ihr nicht sorgfältig plant. Für Services von Drittanbietern können hohe Kosten entstehen. Diese Services berechnen häufig Gebühren pro verwendetem Token und nach der Datenmenge, die bei der Nutzung der Modelle verarbeitet wird. Das kann eure Flexibilität und eure Möglichkeiten mit der Technologie einschränken.
Ein besserer Ansatz ist eine hybride Strategie. Beginnt mit Plattformen von Drittanbietern, um schnell starten zu können. Diese Plattformen bieten euch die Geschwindigkeit und Flexibilität, die ihr in der frühen Phase benötigt. Sobald ihr eure Modelle validiert habt, könnt ihr sie auf eure eigene Infrastruktur migrieren.
Dieser Wechsel mag komplex klingen, gibt euch aber mehr Kontrolle und kann langfristig Kosten sparen. Außerdem könnt ihr eure vorhandene Hardware und Software nutzen.
Kurzfristige Flexibilität mit langfristigen Kosteneinsparungen in Einklang bringen
Verringert eure Abhängigkeit von externen Anbietern und deren Preismodellen
Skaliert eure GenAI-Lösungen kosteneffizient mit eurer eigenen Infrastruktur
Managt eure AI-Operationen nachhaltig
TL;DR: Wenn ihr LLMs mit euren eigenen Daten feinabstimmt, verstehen sie euer Unternehmen besser und liefern bessere Ergebnisse. Außerdem müsst ihr eure LLMs managen. Dazu gehören regelmäßiges Retraining sowie die Sicherstellung von Sicherheit und Compliance mit Datenschutzvorschriften.
Ihr könnt LLMs feinabstimmen, damit sie besser für eure spezifischen Anforderungen funktionieren. Dazu trainiert ihr sie mit euren eigenen Daten. So verstehen sie euer Unternehmen und eure Ziele besser. Achtet jedoch darauf, keine personenbezogenen Daten einzubeziehen.
Wenn ihr eure LLMs nicht feinabstimmt, sind sie möglicherweise nicht besonders nützlich. Sie verstehen euer Unternehmen oder eure Daten vielleicht nicht. Durch Fine-tuning erzielen sie bessere Ergebnisse für euch.
Ihr müsst eure LLMs auch managen. Das bedeutet, sie aktuell und sicher zu halten. Ihr solltet sie regelmäßig mit neuen Daten trainieren. Außerdem müsst ihr sicherstellen, dass sie nicht missbraucht werden.
Fine-tuning hilft euren LLMs, euer Unternehmen zu verstehen und relevante Informationen bereitzustellen
Managt eure LLMs über ihren gesamten Lebenszyklus hinweg, damit sie aktuell und sicher bleiben – und ihr das Beste aus eurer Investition herausholt
TL;DR: Generative AI kann mit mehr als nur Text arbeiten. Ihr könnt sie auch für Audio und Video nutzen. Probiert Large Vision Models (LVMs) für Aufgaben wie Monitoring aus. Um diese Modelle in eure Produkte zu integrieren, benötigt ihr eine Anbindung an Edge Cloud und leistungsstarke GPUs.
Generative AI ist nicht auf Text beschränkt. Ihr könnt sie auch mit Audio und Video nutzen. So könnt ihr neue und innovative Produkte und Services entwickeln.
Ihr könnt mit Large Vision Models (LVMs) beginnen. Diese Modelle können Bilder und Videos analysieren. Ihr könnt sie für Aufgaben wie Monitoring und Warnmeldungen einsetzen. Bedenkt jedoch, dass LVMs kein gutes Langzeitgedächtnis haben. Konzentriert euch daher auf Anwendungsfälle, die kurzfristige Analysen erfordern.
Um LVMs in euren Produkten einzusetzen, solltet ihr sie in Edge Cloud integrieren. So könnt ihr Daten näher an der Quelle verarbeiten. Außerdem müsst ihr in leistungsstarke GPUs investieren, um die Arbeitslast zu bewältigen. Die Kombination aus Edge Cloud und LVMs kann zu neuen und spannenden Anwendungen führen.
Ihr könnt Generative AI für mehr als nur Text nutzen. Dadurch eröffnen sich neue Möglichkeiten für eure Produkte und Services, da ihr umfangreichere Datenquellen in Echtzeit verarbeiten und analysieren könnt.
Zum Abschluss dieses Abschnitts schauen wir uns einen überzeugenden Anwendungsfall an, bei dem Entwickler visuelle Elemente einbinden können:
TL;DR: GitHub-Actions-Workflows in YAML zu erstellen, kann zeitaufwendig sein. Tools wie Eficodes Online Pipeline Game ermöglichen es Teams, Pipelines visuell zu gestalten, die anschließend mit AI-Tools wie ChatGPT in YAML umgewandelt werden können. Teilt einfach einen Screenshot eures Designs zusammen mit einem Prompt, und die AI erstellt einsatzbereite Workflows für euch.
GitHub Actions verwendet YAML, um Workflow-Konfigurationen zu definieren, die aus einem oder mehreren automatisierten Jobs bestehen. Doch die erste Version eines Workflows zu erstellen, kann oft abschreckend wirken.
Visuelle Tools zur Gestaltung YAML-basierter Pipelines werden immer beliebter, um diesen Prozess zu vereinfachen. Auch wenn ihr keinen Zugriff auf kommerzielle Tools oder Lösungen von Drittanbietern für diesen Zweck habt, könnt ihr LLMs nutzen, um eine visuelle Darstellung eurer Pipeline in ein YAML-Format zu überführen.
Da YAML eine weit verbreitete Auszeichnungssprache ist, können Large Vision Models und Large Language Models visuelle Pipeline-Designs interpretieren und in GitHub-Actions-Workflow-Dateien umwandeln.
Erstellt zunächst ein visuelles Design, zum Beispiel mit dem Eficode Online Pipeline Game – einer kollaborativen Plattform, auf der Softwareentwicklungsteams optimale Workflows gestalten und optimieren können.
Nutzt anschließend GenAI zur YAML-Generierung. Erstellt einen Screenshot eures Pipeline-Designs und gebt ihn an euren bevorzugten KI-Chatbot weiter (z. B. OpenAI ChatGPT 4). Ihr könnt den folgenden Prompt verwenden oder ihn an eure spezifischen Anforderungen anpassen:
Du bist ein kompetenter Softwareentwickler und Technologiearchitekt. Du kennst dich hervorragend mit Infrastructure-as-Code-Konzepten und YAML aus. Ich muss GitHub-Actions-Workflows in YAML auf Grundlage der visuellen Beschreibung einer CI/CD-Pipeline erstellen. Deine Aufgabe ist es, dieses Bild zu analysieren und für mich GitHub-Actions-Pipeline-Dateien in YAML zu erstellen. Stelle sicher, dass die Ausgabe präzise, korrekt und sofort einsatzbereit ist.
Wenn ihr visuelle Tools nutzt, um CI/CD-Workflows gemeinsam und im Einklang mit der vereinbarten Teststrategie zu entwickeln, und sie durch GenAI ergänzt, wird das Design und die Implementierung von GitHub-Actions-Workflows einfach, effizient und kollaborativ.
4. GenAI assistants could be your best friends
Wir haben bereits gesehen, wie GenAI euch mit Assistant-Tools wie GitHub Copilot beim Schreiben von Code unterstützen kann. GenAI kann aber auch allgemeinere Assistants und Agents erstellen.
Sie helfen dabei, Aufgaben zu automatisieren und Erkenntnisse zu gewinnen. Sie ersetzen jedoch keine Menschen. Menschen behalten die Kontrolle und sind die Grundlage der Arbeit.
Ihr könnt GenAI-Assistants für viele Aufgaben einsetzen. Sie können Portfolios verwalten, Code optimieren und Tests automatisieren. Außerdem können sie in Echtzeit auf Daten zugreifen und Entscheidungen treffen.
Ihr könnt eigene Assistants für bestimmte Aufgaben erstellen. Ihr könnt auch Assistants nutzen, die von Dritten oder euren Kollegen vorgefertigt wurden. Dabei müsst ihr die richtige Balance zwischen Anpassbarkeit und Skalierbarkeit finden.
Ihr könnt Assistants nutzen, um konkrete Herausforderungen in eurem Entwicklungsprozess zu lösen. Zum Beispiel können sie euer Portfolio verwalten, euren Code refaktorieren oder euch beim Schreiben von Code unterstützen.
Um GenAI-Assistants optimal zu nutzen, müssen sie richtig verwaltet werden. Dazu gehören ihre Kodifizierung, die Einbindung in eure Systeme und die Verwaltung ihres Lebenszyklus.
In diesem Abschnitt zeige ich euch, wie ihr GenAI-Assistants effektiv einsetzt. Ihr erfahrt, wie ihr sie bereitstellt und in eurer gesamten Organisation skaliert.
AI Assistants |
AI Agents |
|
Enhancing human productivity and decision-making Key Characteristics:
Examples:
|
Automating tasks and acting autonomously to streamline processes Key Characteristics:
Examples:
|
TL;DR: Nutzt Templates und Zugriffskontrollen, um eure GenAI-Assistants effektiv zu verwalten. Erstellt eine zentrale Bibliothek mit Assistants, die alle in eurer Organisation nutzen können. So vermeidet ihr doppelte Arbeit und stellt sicher, dass alle nach denselben Standards arbeiten.
GenAI-Assistants für einzelne Aufgaben einzusetzen, kann einfach sein. In der gesamten Organisation kann es jedoch schwieriger werden. Ihr braucht einen strukturierten Ansatz, um sie zu verwalten.
Ihr solltet eure Assistants standardisieren. Dafür könnt ihr Templates verwenden. Das erleichtert ihre Bereitstellung und Anpassung. Außerdem solltet ihr eine rollenbasierte Zugriffskontrolle (RBAC) nutzen, damit ihr steuern könnt, wer Assistants erstellen und ändern darf.
Ihr könnt auch eine zentrale Bibliothek mit Assistants erstellen, damit euer Team sie teilen und wiederverwenden kann. Das hilft euch außerdem, Doppelarbeit zu vermeiden und die Effizienz zu steigern.
Es gibt folgende Arten von Assistants:
Lokale Assistants für bestimmte Aufgaben
Gemeinsame Assistants für die allgemeine Nutzung in eurer gesamten Organisation
Nutzt ein zentrales System, um eure Assistants zu verwalten. Es hilft euch, ihren Lebenszyklus nachzuverfolgen und sie auf dem neuesten Stand zu halten.
Wenn ihr eure Assistants wiederverwendet und verbessert, spart ihr Zeit und Aufwand.
Wenn ihr eure Assistants in eurer gesamten Organisation bereitstellen könnt, nutzt ihr GenAI effektiver.
Ihr könnt eure Assistants an eure spezifischen Anforderungen anpassen.
Euer Team kann gemeinsam Assistants entwickeln und verbessern.
TL;DR: AI-Assistants können euch bei der Verwaltung eures Portfolios und eurer Anforderungen unterstützen. Sie können Aufgaben automatisieren, Probleme erkennen und eurem Team helfen, sich auf Ziele zu einigen. Das spart Zeit und verbessert die Zusammenarbeit.
AI-Assistants können verändern, wie ihr euer Portfolio und eure Anforderungen verwaltet. Sie können die Dokumentation automatisieren, Anforderungen analysieren und die Kommunikation verbessern. Außerdem können sie User Stories, Akzeptanzkriterien und Statusberichte erstellen.
Sie helfen euch dabei, den Überblick über alle eure Projekte zu behalten, bessere Entscheidungen zu treffen und Fehler zu vermeiden.
Warum das wichtig ist
Ihr verbessert die Zusammenarbeit und Transparenz in eurem Team
In eurer Dokumentation treten weniger Fehler auf
Alle sind sich über die Ziele und darüber einig, wie sie erreicht werden
TL;DR: GenAI-Tools können euch dabei helfen, eure Altsysteme zu modernisieren. Sie können Aufgaben wie das Erstellen von Dokumentation, das Aktualisieren von Datenbanken und das Refactoring von Code automatisieren. So spart ihr Zeit und Geld und macht eure Systeme gleichzeitig zuverlässiger.
Ihr müsst eure IT-Systeme auf dem neuesten Stand halten. Bei alter Software und schlechter Dokumentation kann das jedoch schwierig sein. GenAI kann euch dabei helfen. Es kann Aufgaben wie das Erstellen von Dokumentation und die Analyse eurer Systeme automatisieren und euch so Zeit und Geld sparen.
GenAI kann euch auch dabei helfen, euren Code zu verbessern. Es kann Probleme erkennen und Verbesserungen vorschlagen. Es kann sogar euren alten Code in neuere Sprachen übersetzen.
So bleibt euer Code aktuell und sicher. Ihr könnt GenAI beispielsweise nutzen, um alte Teile eures Codes durch modernere und effizientere Ansätze zu aktualisieren. Euer Code wird einfacher zu bearbeiten und ist weniger anfällig für Probleme.
GenAI kann euch dabei helfen, die Herausforderungen bei der Modernisierung eurer IT-Systeme zu bewältigen. Es unterstützt euch dabei, bessere Dokumentation zu erstellen, euren Code zu verbessern und eure Systeme zuverlässiger zu machen.
Warum das wichtig ist
Nutzt Assistenten erneut und verbessert sie, um Zeit und Aufwand zu sparen – ähnlich wie bei der Wiederverwendung von Codemodulen
Stellt Assistenten in eurer gesamten Organisation bereit, um GenAI effektiv zu nutzen – ähnlich wie bei der Bereitstellung von Softwareupdates
Passt Assistenten an eure Anforderungen an, ähnlich wie ihr eure Entwicklungsumgebung konfiguriert
Arbeitet als Team zusammen, um bessere Assistenten zu entwickeln – ähnlich wie bei der gemeinsamen Arbeit an Code
TL;DR: Nutzt GenAI zur Unterstützung beim Testen eurer Software. AI-Tools können Testfälle erstellen, Tests automatisieren und Bugs frühzeitig finden. Sie verbessern die Qualität eurer Software und helfen euch, sie schneller zu veröffentlichen.
Ihr könnt AI nutzen, um eure Softwaretests zu verbessern. AI-gestützte Tools können euren Code und eure Dokumentation analysieren, Testfälle generieren und euren Testprozess automatisieren. Das reduziert viele manuelle Aufgaben.
Diese Tools können auch potenzielle Probleme frühzeitig erkennen. So könnt ihr die Qualität eurer Software verbessern, bevor ihr sie veröffentlicht. Ihr könnt sie in eure CI/CD-Pipeline integrieren, um euren Code kontinuierlich zu testen.
Verbessert die Zuverlässigkeit eurer Software und reduziert Bugs
Spart Zeit durch die automatisierte Generierung von Testfällen
Stellt eure Software schneller und mit mehr Sicherheit bereit
5. AI agents in software development
GenAI-Agenten sind wie digitale Mitarbeiter in eurem Unternehmen – Erweiterungen eures bestehenden Teams. Sie können spezifische Aufgaben übernehmen und schaffen so Freiraum für eure Mitarbeiter, sich komplexeren Problemen zu widmen.
Ihr braucht eine gute Möglichkeit, diese Agenten zu verwalten. Das nennen wir „AgentOps“.
AgentOps hilft euch, AI-Agenten in euren Entwicklungsprozess zu integrieren. Außerdem unterstützt es euch dabei, Aufgaben zu automatisieren und eure Workflows zu verbessern, sodass weniger Zeit für wiederkehrende Arbeiten benötigt wird. Ihr könnt Agenten beispielsweise nutzen, um Tests, Deployments und Monitoring zu automatisieren.
Eine gute AgentOps-Strategie umfasst:
Klare Verantwortlichkeiten, damit ihr wisst, wer für das Verhalten, die Wartung und die Performance jedes Agenten zuständig ist
Governance mit Regeln für die Nutzung von Agenten, die eine ethische AI-Nutzung, Sicherheit und Compliance gewährleisten
Agentengesteuerte Workflows, bei denen ihr Agenten in eure CI/CD-Pipeline einbindet, um Aufgaben wie Tests, Deployments oder Monitoring zu übernehmen
Skalierbarkeit, damit ihr bei Bedarf weitere Agenten hinzufügen und sie effizient an neue Aufgaben und Projekte anpassen könnt
TL;DR: Validiert die Ein- und Ausgaben eurer AI-Agenten, um sicherzustellen, dass sie korrekt arbeiten und die Regeln befolgen.
Ihr müsst sicherstellen, dass eure AI-Agenten korrekt arbeiten. Dazu könnt ihr ihre Ein- und Ausgaben validieren – also die Daten prüfen, die sie erhalten, und die Ergebnisse, die sie liefern.
Dabei können euch Frameworks wie LLamaIndex und RAG helfen. Mit ihnen könnt ihr eine Evaluierungs-Engine erstellen, die mit euren Systemen interagiert, um Antworten und Ergebnisse zu validieren.
Die Integration von Validatoren (oder Orakeln) in euren Entwicklungsprozess kann herausfordernd sein. Ihr müsst sicherstellen, dass eure Agenten funktionale und nicht funktionale Anforderungen erfüllen. Funktionale Anforderungen sind beispielsweise Testfälle. Nicht funktionale Anforderungen betreffen etwa Performance und Sicherheit.
So beginnt ihr mit der Entwicklung von Validatoren
Verbindet eure Agenten mit eurer Regressionstest-Suite für funktionale Spezifikationen
Verbindet eure CI/CD-Workflows mit eurer Produkt- und Service-Dokumentation, um sowohl nicht funktionale als auch funktionale Anforderungen abzudecken
Integriert eure ITSM-Systeme, um nutzerbezogene Prozesse zu validieren
Bindet eure CRM-Systeme ein, um Kundeninteraktionen zu überprüfen
Die Validierung eurer AI-Agenten hilft euch, Risiken zu reduzieren und sicherzustellen, dass sie wie erwartet funktionieren.
Stellt sicher, dass eure AI-Agenten präzise und zuverlässige Ergebnisse liefern
Erleichtert die Einhaltung ethischer und regulatorischer Anforderungen
Erweitert eure AI-gesteuerten Workflows, ohne Fehler einzuführen
Nutzt eure Assistenten erneut und verbessert sie, um Zeit und Aufwand zu sparen – genau wie bei der Wiederverwendung von Code-Modulen
Stellt Assistenten in eurem gesamten Unternehmen bereit, um GenAI effektiv zu nutzen – ähnlich wie bei der Bereitstellung von Software-Updates
Passt Assistenten an eure Anforderungen an – ähnlich wie ihr eure Entwicklungsumgebung konfiguriert
Arbeitet als Team zusammen, um bessere Assistenten zu entwickeln – ähnlich wie bei der gemeinsamen Arbeit am Code
TL;DR: Ihr braucht eine gute Möglichkeit, eure AI Agents zu verwalten. Eine Agent Factory kann euch dabei helfen, eure Agents zu erstellen, bereitzustellen und zu warten. Außerdem hilft sie euch, sie an euren Geschäftszielen auszurichten.
Immer mehr Unternehmen setzen AI Agents ein. Diese Agents können Aufgaben automatisieren und die Entscheidungsfindung verbessern. Ihr braucht jedoch eine gute Möglichkeit, sie zu verwalten. Andernfalls kann es schnell unübersichtlich werden.
Eine Agent Factory ist ein System zur Verwaltung eurer AI Agents. Sie unterstützt euch über den gesamten Lebenszyklus eurer Agents hinweg – von der Erstellung bis zur Stilllegung. Dafür nutzt sie standardisierte Prozesse und Tools, um Agents zu konzipieren, zu entwickeln, bereitzustellen, zu aktualisieren und stillzulegen.
Die Verwaltung dieser Lebenszyklen umfasst verschiedene Aufgaben:
Governance – also Regeln dafür festlegen, wie die Agents eingesetzt werden
Ihre Leistung im Verhältnis zu euren Zielen überwachen
Versionskontrolle – Änderungen an euren Agents nachverfolgen
Sicherstellen, dass die Agents Compliance-Anforderungen erfüllen
Vorfälle bearbeiten
Diesen systematischen Ansatz braucht ihr, um eure Agents im Blick zu behalten, ihren Nutzen optimal auszuschöpfen und die Risiken ihres Einsatzes zu managen.
Neue Agents schnell und einfach erstellen und bereitstellen
Sicherstellen, dass eure Agents eure Geschäftsziele und ethischen Standards erfüllen
Entwicklungszeit und Ineffizienzen reduzieren
Komponenten wiederverwenden, um Zeit und Kosten zu sparen
TL;DR: Ihr braucht eine sichere Umgebung, um eure AI Agents auszuführen. Außerdem müsst ihr kontrollieren, wer Zugriff auf sie hat. So schützt ihr eure Daten und Systeme.
Ihr braucht eine spezielle Umgebung, um eure AI Agents auszuführen. Diese Umgebung stellt euren Agents die benötigten Ressourcen bereit, etwa Rechenleistung, Speicher und Zugriff auf Datenquellen.
Sie umfasst außerdem Tools zur Überwachung eurer Agents und stellt sicher, dass sie reibungslos laufen. Dazu können Funktionen zur Leistungsüberwachung, Protokollierung und Alarmierung gehören, mit denen ihr auftretende Engpässe frühzeitig erkennt.
Außerdem müsst ihr kontrollieren, wer Zugriff auf eure Agents hat. Das könnt ihr mit rollenbasierter Zugriffskontrolle (RBAC) umsetzen. Damit könnt ihr verschiedenen Personen je nach Rolle und Verantwortung unterschiedliche Zugriffsrechte zuweisen. So könnt ihr Entwicklern beispielsweise erlauben, Agents zu ändern, während nur Administratoren sie in die Produktionsumgebung bereitstellen dürfen.
Mit RBAC könnt ihr außerdem den Zugriff auf sensible Daten und Workflows beschränken, sodass nur autorisiertes Personal mit ihnen interagieren kann.
Verhindert unbefugten Zugriff auf eure Agents und schützt sensible Workflows
Definiert klare Rollen und Berechtigungen für euer Team, um Verantwortlichkeiten sicherzustellen
Erweitert den Einsatz von AI Agents sicher und effizient
Stellt sicher, dass eure Agents in einer kontrollierten und überwachten Umgebung effektiv arbeiten
6. Where should you go from here?
Jetzt ist es Zeit zu handeln. Hier sind einige Schritte, mit denen ihr starten könnt.
Diese Tools werden für die moderne Softwareentwicklung immer wichtiger. Ihr müsst verstehen, wie sie funktionieren und wie ihr sie in euren Workflows einsetzen könnt. Stellt sicher, dass ihr versteht, wie sie zusammenwirken und wie ihr sie nutzen könnt, um Aufgaben zu automatisieren oder bessere Entscheidungen zu treffen.
Beispielsweise müsst ihr Agents möglicherweise an unterschiedlichen Stellen einsetzen, etwa in euren Geschäftssystemen oder in euren Forschungs- und Entwicklungsprozessen. Assistants könnt ihr jedoch häufig zentral auf eurer IT-Hardware betreiben.
Schaut euch euren aktuellen Entwicklungsprozess an. Identifiziert Bereiche, in denen GenAI euch bei Verbesserungen unterstützen kann. Dazu kann die Automatisierung von Aufgaben wie dem Erstellen von Dokumentation oder dem Generieren von Testfällen gehören. Ebenso könnt ihr die Codequalität verbessern oder eure Anforderungen effizienter verwalten.
Bei der Auswahl von Tools für euer Team solltet ihr einige Punkte berücksichtigen:
Stellt sicher, dass die Tools mit euren bestehenden Systemen funktionieren. Viele AI-Lösungen bieten APIs und Integrationen für die Anbindung an verschiedene Tools und Plattformen. Ihr könnt Tools wie GitHub Copilot mit unterschiedlichen Code-Repositories verbinden oder GitLab Duo in Multi-Cloud-Umgebungen einsetzen.
Bleibt flexibel, während sich AI-Tools weiterentwickeln. Die besten Tools von heute sind morgen möglicherweise nicht mehr die besten. Stellt daher sicher, dass ihr neue Technologien problemlos einführen könnt.
Priorisiert Tools, die Branchenstandards einhalten und Open-Source-Frameworks unterstützen. Diese Tools haben oft eine bessere Unterstützung durch die Community und funktionieren in unterschiedlichen Umgebungen.
Unterstützt eure Entwickler dabei, effizienter und innovativer zu arbeiten. Lasst sie die Tools wählen, die sie gerne nutzen. So können sie ihre beste Arbeit leisten.
Wenn ihr diese Prinzipien anwendet, kann euer Unternehmen die Zukunft des Software Engineering aktiv gestalten – mit den Tools, Methoden und der Denkweise, die ihr braucht, um in einem sich rasant wandelnden Umfeld erfolgreich zu sein.
Nutzt diesen Leitfaden als Ausgangspunkt für eure nächsten Schritte.
Related guides