Viele Anbieter von Services für Anwendungsentwicklung und Wartung (Application Development & Maintenance – ADM) haben begonnen, ihr Portfolio stärker zu automatisieren und Künstliche Intelligenz (Artificial Intelligence – AI) einzusetzen. Die verstärkte Digitalisierung und der damit einhergehende Innovationsdruck bringt Unternehmen dazu, das Legacy-Software-Portfolio nur sehr eingeschränkt zu modernisieren und die Wartung zu reduzieren – und auf ganze neue Ansätze zu setzen. Die Serviceanbieter bieten immer stärker Elemente einer AI als Teil ihrer Methoden und Prozesse an, um wettbewerbsfähiger zu werden. Für den Kunden ist dies oft verwirrend, denn der aktuelle Hype um AI ist groß und kann in einem realen Einsatz oft nicht erfüllt werden.
Was definiert eine AI?
Künstliche Intelligenz (KI oder AI) ist hier der Oberbegriff. Eine „starke AI“ bezeichnet einen Zustand, bei dem der Computer zu allen Dingen in der Lage wäre, zu denen auch ein Mensch in der Lage ist. Bei der „schwachen AI“ werden einzelne Fähigkeiten des Menschen im Rechner abgebildet und auf ihn übertragen. Im heutigen, realen Einsatz ist ausschließlich eine schwache AI möglich. Dazu gehören die heutigen Ansätze des Machine Learning und Deep Learning.
Machine Learning
Grundsätzlich bekommt ein Computer klare Befehle in Form einer Programmiersprache, die er wörtlich ausführt. Dazu gehören auch Fallunterscheidungen und bedingte Anweisungen. Je komplexer das Problem, desto aufwändiger wird der Code. Beim Machine Learning erzeugt der Computer selbständig Wissen aus Erfahrungen, er lernt die Fallunterscheidungen selbst. Er bekommt zum Beispiel ein Bild von einer Katze und soll sagen, ob es sich um eine Katze handelt. Die Antwort wird bewertet, dann bekommt er das nächste Bild usw. Aufgrund der Bilder und Bewertungen lernt der Computer, was eine Katze ausmacht, und kann präzisere Aussagen treffen.
Hier erkennt man schnell, dass für eine hohe Genauigkeit eine entsprechend hohe Menge unterschiedlicher Daten notwendig sind. Und dass ich für das Erkennen eines Eichhörnchens wieder von vorne beginnen muss.
Deep learning
Deep Learning ist eine Erweiterung des Machine Learnings und arbeitet auf der Basis künstlicher neuronaler Netze, um die Lernprozesse effektiver zu machen. Die Maschine erkennt Strukturen und kann sich – mit Hilfe von dem menschlichen Gehirn nicht unähnlichen Filterprozessen – selbst schneller verbessern. Viele Methoden zur Verarbeitung natürlicher Sprache (Natural Language Processing NLP) basieren heute auf Deep Learning.
Die AI im Einsatz
Der Einsatz von AI im Umfeld eines modernisierten Anwendungsentwicklung sollte hierbei aber nicht mit der Entwicklung von AI-basierten Systemen verwechselt werden, die die Geschäftsprozesse des Kunden optimieren – z.B. ChatBots. Auch hier wird gerne vermengt, was nicht zusammengehört. Moderne ADM-Ansätze integrieren Mechanismen von Machine Learning und Deep Learning, um einen höheren Automatisierungsgrad bei der Analyse, der Entwicklung, dem Testing und der Wartung von Anwendungen zu erreichen. Hierbei gibt es unterschiedliche Ansätze, die verschieden weit fortgeschritten sind:
- Mittels Sprachanalyse wird die Bewertung und Bearbeitung von Servicetickets beschleunigt, Muster können erkannt und Softwarefehler schneller behoben werden. Im Testing können auf AI basierende Robotic Users eine variable Nutzung der Software simulieren. Automatisierte Qualitätssicherung unterstützt z.B. bei der Portierung von Anwendungen auf unterschiedliche Betriebssystemlevels und -versionen.
- Relativ große Anwendungsbereiche finden sich um Umfeld einer Predictive Maintenance und Predictive Security, da das Erkennen von Mustern eine Stärke von Machine Learning-basierten Systemen ist.
- Als nächster Schritt ist bei einigen Anbietern die AI-unterstützte Analyse komplexer Software-Strukturen im Gespräch, die insbesondere bei der Modernisierung und Überführung von Legacy-Systemen in neue Architekturen zum Tragen kommen wird.
Wesentlicher Faktor für den Einsatz von AI ist das Sammeln unterschiedlicher Daten in hohen Mengen, um durch Machine Learning-Algorithmen Muster zu erkennen, Abweichungen zu identifizieren und richtig bewerten zu können. Nicht jede Abweichung ist ein Fehler im System oder bedarf einer Wartung bzw. Korrektur der eingesetzten Software. Je genauer die Algorithmen, desto präziser die Analyse. Die Vorbereitung dazu braucht Zeit und eine Menge definierter Daten.
Die AI im Next-Gen ADM
Die großen Anbieter entwickeln dazu Systeme, die für bestimmte Teilaufgaben erledigen und somit bei unterschiedlichen Kunden für diese spezifische Aufgabenstellung als Cloud-basierte Services eingesetzt werden können. Der Vorteil daran ist, das große Datenmengen genutzt werden können, die auch unterschiedliche Situationen widerspiegeln. Erste Anwendungen sind in den Bereichen automatisiertes Ticketing, Predictive Maintenance und Predictive Security bereits verfügbar.
Bei aller Euphorie, die zur Zeit im Bereich AI an den Tag gelegt werden, sollten die Probleme im Einsatz nicht unterschätzt werden. Mangelnde Kenntnisse über die echten Möglichkeiten führen oft dazu, dass sie entweder weit unterschätzt oder weit überschätzt werden. Wenig hilfreich ist zudem, dass keine klaren Standards existieren: Alle angebotenen Ansätze (nicht nur im Umfeld ADM) werden als „AI“ deklariert, basieren in den meisten Fällen auf Machine Learning und sind sehr unterschiedlich weit entwickelt. Der Kunde muss sich also ein eigenes Bild machen und ein eigenes Wissen um die Möglichkeiten von AI-basierten Systemen aufbauen. Der Einsatz von AI erfordert sehr spezialisiertes technisches Wissen, langfristige Planung sowie viele Tests und Versuche.
Unterschätzt werden oft die eher langsame Adaptionsgeschwindigkeit, die aus der häufig noch großen Rücksichtnahme auf Legacy-Systeme und Zurückhaltung bei der Digitalisierung insgesamt zurückzuführen ist, sowie der extreme Datenhunger eines AI-Systems. Die Entscheidungsfähigkeit eines auf AI basierenden Werkzeugs kann einen Mangel an Qualitätsdaten nicht kaschieren.
Unsere Empfehlung
Wir empfehlen dringend, im Rahmen einer Digitalisierungsstrategie AI- bzw. Machine Learning-basierte Systeme als Teil eines agilen ADM-Frameworks bereits heute einzuplanen und langfristig zu konzipieren. Insbesondere der Wissensaufbau, die Definition der Anforderungen an die AI-Elemente und die Auswahl des richtigen Anbieters verlangen nach einiger strategischer Vorbereitung.