Künstliche Intelligenz kann die Softwarebereitstellung nicht beschleunigen.
In den Jahren meines Wachstums habe ich einen Mischling aus Labrador und Whippet namens Barkley gehalten. Wir waren fast untrennbar. Wenn ich im Garten Gruben grub, schnüffelte er neben mir herum. Wenn ich las, legte er sich auf meine Beine, und oft wurden meine Beine benommen. Wenn unsere ganze Familie in den Wald spazierte, rannte er voraus, um den Weg zu erkunden, und kehrte dann zurück, um uns zu checken. Während er fröhlich hin und her rannte, legte er ungefähr zehnmal so viel Weg zurück wie wir.
Das Beste an Hunden ist, dass du mit ihnen sprechen kannst, wenn du in schwierigen Verhältnissen steckst. Sie sind hervorragende Zuhörer und verstehen dich, wenn niemand anderes es tut.
Wenn ich noch einen Hund halten würde, wäre die Begleitung mein erster Grund. Es gibt viele Gründe, einen Hund zu halten, aber für mich steht die Begleitung immer an erster Stelle.
Stell dir jetzt vor, ich gehe in ein Tierrettungszentrum, um mir adoptierbare Hunde anzusehen, und sie wollen, dass ich einen Leopard mit nach Hause nehme, nur weil er viel schneller läuft als ein Hund. Das ist so, als würden einige Organisationen behaupten, sie würden Künstliche Intelligenz einsetzen, aber nur engstirnig auf die Geschwindigkeit achten.
Geschwindigkeit war und ist nie das Ziel
Wir haben das schon erlebt. Wir sollten alle bedauern, dass die Agilität zu einem trockenen Köcher geworden ist und nur noch die reine "Geschwindigkeit" verfolgt wird. Geschwindigkeit war und ist nie das endgültige Ziel. Die wichtigste Bedeutung der Effizienzsteigerung besteht darin, früher Feedback zu erhalten. Wenn du feststellst, dass deine erstaunlichen neuen Funktionen die Benutzer nicht interessieren, kannst du die Entwicklung sofort stoppen.
Wenn du eine schlechte Idee frühzeitig beenden kannst, verschwendest du weniger Ressourcen und kannst sofort zu einem besseren Ansatz wechseln. Niemand sollte darauf abzielen, Software mit möglichst vielen Funktionen und der schnellsten Änderungsgeschwindigkeit zu entwickeln. Wenn Software mit zu vielen Funktionen überladen ist und die immer wachsende Funktionsliste ständig geändert wird, werden die Menschen sich gegen das von dir entwickelte Produkt wenden.
Microsoft Word ist heute die leistungsfähigste und funktionsreichste Textverarbeitungssoftware, aber es nutzen nicht mehr viele Menschen ausschließlich. Sie benutzen stattdessen Google Docs, das viel weniger Funktionen hat. Das zeigt, dass die von Google gewählten Funktionen offensichtlich attraktiver sind oder dass weniger Funktionen die Software einfacher zu bedienen machen. Tatsächlich ist es das Ergebnis vieler kleiner Faktoren. Manchmal kann eine wirklich beeindruckende Funktion alle anderen Funktionen überstrahlen, und die Bequemlichkeit, Google Docs im Browser gemeinsam zu bearbeiten, könnte genau so etwas sein.
Wenn du vor zwanzig Jahren jemanden gefragt hättest, würde er dir sagen, dass Microsoft Word in seiner Klasse unschlagbar war. Heute hat es jedoch nur noch einen Marktanteil von 3,9 %, während Google Docs 9,6 % hat (Quelle: https://6sense.com/tech/productivity/googledocs-vs-microsoftword). Wenn du denkst, dass diese Marktverschiebung nur ein Preisproblem ist, arbeitest du wahrscheinlich für eine Organisation, die nur auf die Geschwindigkeit abzielt, denn du glaubst nicht mehr an die Idee, Software zu entwickeln, die die Benutzer wirklich schätzen.
Die Nutzung von Künstlicher Intelligenz für die Geschwindigkeit ist unüberzeugend
Softwarebranchenführer haben ihre Gewohnheiten. Wenn sie behaupten, Künstliche Intelligenz nur für die Geschwindigkeit einzusetzen, sollte man das mit Vorsicht betrachten. Du wirst feststellen, dass sie in den letzten zehn oder zwanzig Jahren erklärt haben, dass sie sich für die Geschwindigkeit agile Transformationen, DevOps oder Plattformumwandlungen vorgenommen haben.
Sie haben bei all diesen Maßnahmen viel Energie aufgewendet, aber keine signifikanten Ergebnisse erzielt. Das zeigt, dass sie nicht so sehr nach Geschwindigkeit streben, wie sie behaupten. Natürlich möchten sie sich ein "DORA Elite Performance"-Abzeichen auf ihren Arbeitszeugnissen anbringen. Aber sie haben immer noch keine echte Motivation, die Geschwindigkeit zu erhöhen, denn sie interessieren sich nicht für das Grundergebnis häufiger Releases - das Benutzerfeedback.
Jeder Leiter, der sein Team im Namen der Geschwindigkeit so oft durcheinander gebracht hat und jetzt sagt, dass Künstliche Intelligenz endlich die Geschwindigkeit bringen wird, täuscht sich selbst an.
Das Feedback-Taktgeber
Wenn du Feedback wichtiger ansiehst als Geschwindigkeit, lässt du den Feedback-Zyklus den Rhythmus des gesamten Software-Lieferprozesses bestimmen. Mit diesem Takt ein Tempo zu setzen, gibt dir den nötigen Spielraum, um Feedback zu verarbeiten und das zu tun, was das Agile-Prinzip als Kernpunkt propagiert: schnell die Richtung ändern.
Organisationen und Teams, die Feedback als Taktgeber nutzen und das Tempo für die gesamte Arbeit festlegen, suchen oft aktiv nach und beseitigen alle Arbeitsschritte, die den Rhythmus stören. Sie planen die Teamstruktur so, dass die Arbeit mit minimalen und sorgfältig geplanten Abhängigkeiten durchgeführt wird. Sie vereinfachen den Änderungsgenehmigungsprozess, um sicherzustellen, dass das Team selbst entscheiden kann, wann es die Software live setzt, und gleichzeitig die tatsächlichen Ergebnisse nach der Bereitstellung vollständig beobachten kann.
Das DORA-Modell mit seiner generativen Kultur, transformationalen Führung, leanen Produktverwaltung und kontinuierlichen Lieferprozessen wurde nicht zufällig geschaffen, sondern ist das Ergebnis jahrzehntelanger praktischer Erfahrungen. Teams, die diese Prinzipien umsetzen, haben zwar eine hohe Liefergeschwindigkeit, aber das war nicht der Grund, warum sie diese Kultur und Praktiken übernommen haben. Sie streben tatsächlich danach, hochfrequentes und hochwertiges Feedback zu erhalten, um herauszufinden, was wirklich entwickelt werden muss.
Das Vorgehen des Elite-Teams
Das Elite-Team ist ein Softwareteam eines großen Gesundheitsversorgungsunternehmens. Das Unternehmen ist hauptsächlich auf die Softwareentwicklung für Patientenverwaltung und Notfalltriage spezialisiert. In der sicherheitskritischen Branche kann diese Art von Software tatsächlich das Leben oder den Tod von Menschen beeinflussen.
Sie veröffentlichen das Patientenmanagementsystem alle sechs Monate, und der Testzyklus für das Entscheidungsunterstützungssystem dauert zwei Wochen. Wenn Probleme auftreten, dauert es noch zwei weitere Wochen. Dieser Zyklus wiederholt sich, bis eine Version den Test bestanden hat!
Trotz dieser Vorgeschichte haben wir es geschafft, ein sechsmonatiges Arbeitsplanungssystem einzuführen, mit dem alle drei Stunden eine bereitstellbare Softwareversion erstellt werden kann. Wir haben eine sehr starke technische Praxis befolgt, aber vielleicht war das, was wir entfernt haben, wichtiger als das, was wir hinzugefügt haben. Dieses Gleichgewicht wurde erreicht, indem wir ausführbare Spezifikationen für instanziierte Anforderungen eingeführt und die langsameren und ineffizienten bürokratischen Prüfschritte entfernt haben.
Was die Ergebnisse angeht, haben wir eine wichtige Partnerschaft mit einem neuen Gesundheitsdienstleister geschlossen. Der Partner benötigte eine Entscheidungsverwaltungs-API, um sie in sein Websitesystem einzubinden. Wir haben innerhalb von zwei Wochen sicher eine funktionierende API geliefert und einen Vertrag im Wert von 1,8 Millionen US-Dollar (entspricht heute 2,5 Millionen US-Dollar) erzielt.
Wenn deine Organisation noch keine Produktionspfade definiert und ähnliche Änderungen vorgenommen hat, gibt es keine Möglichkeit, die gewünschte Liefergeschwindigkeit zu erreichen. Du wirst Künstliche Intelligenz einführen, wie du es einst mit Scrum, DevOps und Plattformengineering getan hast, und am Ende wirst du wieder nur geringe Ergebnisse erzielen, genau wie in der Vergangenheit.
Das Wichtigste, was du jetzt tun kannst, ist es, den Wertstrom zu analysieren, insbesondere den Prozess von Codeeingabe bis zur Produktionsbereitstellung, und die defekten Teile zu reparieren. Es gibt keine Geheimnisse darüber, welche Änderungen vorgenommen werden müssen. Dave Farley und Jez Humble haben in ihrem Buch "Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation" die Geheimnisse enthüllt.
Warum setzt du Künstliche Intelligenz ein?
Bis jetzt hättest du vielleicht gesagt, dass du Künstliche Intelligenz einsetzt, um die Effizienz zu erhöhen und den Fortschritt zu beschleunigen. Wenn du die Softwareentwicklung ernst nimmst, hoffe ich, dass du diese Aussage ändern und deinen Mitmenschen klar machen wirst, dass häufiges Feedback und schnelle Entscheidungsfindung zu deinen Kernprioritäten gehören.
Teams, die durch Praktiken wie kontinuierliche Lieferung das Dilemma zwischen Durchsatz und Stabilität gelöst haben, haben weniger Hang, sich nur auf die Geschwindigkeit zu konzentrieren. Sie sind eher bereit, wertvollere Entwicklungsmöglichkeiten zu erkunden. Abschließend möchte ich einige solcher Möglichkeiten auflisten und vorschlagen.
Kleinere Teams sind besser. Wir haben uns hier einen Kompromiss eingegangen, weil wir nicht warten konnten, dass ein sehr kleines Team langsam das benötigte Ergebnis erzielt. Wir haben vielleicht die Teamgröße verdoppelt, obwohl wir wussten, dass dies die benötigte Zeit nicht halbieren würde. Das COCOMO-Modell berechnet diese Gesetzmäßigkeit des abnehmenden Nutzens genau, aber Fred Brooks hat es noch eindrucksvoller formuliert: Wenn man einem bereits verspäteten Projekt zusätzliche Mitarbeiter hinzufügt, wird es nur noch später fertig.
Deshalb halten die meisten Softwareteams, die die Komplexität von Kommunikation und Koordination kennen, die Anzahl der Mitglieder zwischen 6 und 12, dem sogenannten "zwei-Pizzen-Team". Dies ist jedoch nicht die ideale Teamgröße, sondern eher zu groß. Es ist eine pragmatische Entscheidung, die unter Berücksichtigung verschiedener Faktoren getroffen wurde. Mit der Künstlichen Intelligenz sollten wir jetzt über die Gründung von "ein-Pizzen-Teams" oder sogar noch kleineren Teams nachdenken.
Kleine Teams mit hoher Autonomie, die auf los gekoppelten Komponenten arbeiten, könnten eine wirksame Möglichkeit sein, den Nutzen der Künstlichen Intelligenz in der Softwareentwicklung freizusetzen.
Mein letzter Vorschlag ist, dass die Künstliche Intelligenz es deinem Team ermöglichen könnte, anstatt einfach die bestehende Software schneller zu entwickeln, Produkte mit größerem Anspruch und Vision zu schaffen. Du könntest damit beginnen, eine globale Geschäftsentwicklung voranzutreiben, die du bisher immer hinauszögert hast. Vielleicht hast du schon einige Funktionsideen, aber keine klare Vorstellung davon, wie du sie umsetzen könntest. Mit der Künstlichen Intelligenz kannst du schnell Prototypen erstellen und Experimente machen, die du sonst nie wagt hättest.
Wie auch immer, beginne zunächst mit einer stärkeren Optimierung des Software-Lieferprozesses und der Bereitstellungspipeline. Stelle unbedingt die Feedback-Schleife her und nutze sie wie einen Taktgeber, um das Tempo zu regeln. Wenn du das getan hast, kannst du bei der Einführung der Künstlichen Intelligenz Ziele verfolgen, die viel wertvoller und vorstellbarer sind als die "reine Geschwindigkeitssteigerung".
Original-Artikel: https://thenewstack.io/feedback-driven-ai-adoption/
Dieser Artikel stammt aus dem WeChat-Account "AI Frontline". Autor: Steve Fenton; Übersetzer: Mingzhishan; Planung: Tina. Veröffentlicht von 36Kr mit Genehmigung.