BayesInsights: Modelling Software Delivery and Developer Experience with Bayesian Networks at Bloomberg
Das Paper beschreibt die Entwicklung und Evaluation von BayesInsights, einem von Bloomberg eingesetzten Werkzeug, das mithilfe von Bayesianischen Netzwerken kausale Abhängigkeiten im Softwareentwicklungsprozess visualisiert, um Teams bei der Identifizierung von Herausforderungen und der Priorisierung von Maßnahmen zu unterstützen.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Bloomberg ist eine riesige, hochkomplexe Stadt aus Software. Tausende von Ingenieuren arbeiten dort, bauen Brücken, reparieren Straßen und sorgen dafür, dass der Verkehr fließt. Aber manchmal staut es sich, oder eine Brücke bricht zusammen.
Das Problem: Die Stadtverwaltung hat unzählige Messgeräte (Dashboards), die zeigen, dass es einen Stau gibt oder wie viele Autos pro Stunde fahren. Aber sie erklären nicht, warum der Stau da ist. Ist es ein kaputtes Ampelsystem? Zu viele Baustellen? Oder vielleicht sind die Fahrer einfach nur müde und unkonzentriert?
Genau hier kommt BayesInsights ins Spiel. Es ist wie ein intelligenter, interaktiver Stadtplan, der nicht nur den aktuellen Verkehr zeigt, sondern die unsichtbaren Fäden zwischen allen Dingen sichtbar macht.
Hier ist die Geschichte der Forschung in einfachen Worten:
1. Das Problem: Warum sehen wir nur die Symptome?
Bloomberg fragt seine Ingenieure regelmäßig: „Wie zufrieden seid ihr? Wo hakt es?" und misst gleichzeitig, wie schnell neue Software geliefert wird.
Bisher sahen diese Daten wie zwei getrennte Bücher aus. Ein Buch sagte: „Wir liefern langsam." Das andere sagte: „Die Leute sind gestresst."
Aber niemand wusste genau, wie diese beiden Dinge zusammenhängen. Wenn die Lieferung langsamer wird, liegt das daran, dass die Computer zu langsam sind? Oder daran, dass die Ingenieure zu viele Unterbrechungen haben? Ohne diese Verbindung ist es wie Blindenflug: Man versucht, das Problem zu lösen, ohne zu wissen, wo es wirklich anfängt.
2. Die Lösung: Ein magischer Kaugummi-Netzwerk-Plan (Bayes-Netz)
Die Forscher (von Bloomberg und der Universität UCL) haben ein neues Werkzeug gebaut, das sie BayesInsights nennen.
Stellen Sie sich ein Spinnennetz vor, bei dem jede Faser eine Verbindung zwischen zwei Dingen darstellt.
- Wenn Sie an einem Faden ziehen (z. B. „Wir reduzieren die Unterbrechungen"), sehen Sie sofort, wie sich das auf den ganzen Rest des Netzes auswirkt.
- Vielleicht wird die Zufriedenheit der Ingenieure sofort höher, und kurz darauf läuft die Software-Lieferung wieder schneller.
Dieses Netz basiert auf Wahrscheinlichkeiten, nicht auf festen Regeln. Es sagt nicht: „Das passiert immer." Es sagt: „Wenn wir X tun, ist es sehr wahrscheinlich, dass Y passiert."
3. Wie haben sie das Netz gebaut? (Die drei Baumeister)
Sie haben nicht einfach nur Computer laufen lassen, denn Computer können bei solchen komplexen menschlichen Fragen leicht falsch liegen. Stattdessen haben sie drei Experten-Teams zusammengearbeitet:
- Die Bibliothekare (Die Literatur): Sie haben geschaut, was andere Wissenschaftler über Software-Entwicklung bereits wissen.
- Die erfahrenen Stadtführer (Die Experten): Sie haben 8 sehr erfahrene Ingenieure von Bloomberg gefragt: „Was beeinflusst was wirklich?" Diese Experten haben das Netz gezeichnet und korrigiert.
- Die Detektive (Die Algorithmen): Computer-Algorithmen haben die echten Daten durchsucht, um zu sehen, ob die Verbindungen, die die Experten gezeichnet haben, auch in der Realität vorkommen.
Am Ende haben sie das Beste aus allen drei Welten genommen: Ein Netz, das theoretisch sinnvoll ist, von Experten bestätigt wurde und von echten Daten gestützt wird.
4. Das Experiment: „Was-wäre-wenn"-Szenarien
Das Coolste an BayesInsights ist, dass man es wie ein Flug-Simulator nutzen kann.
Stellen Sie sich vor, ein Teamleiter fragt: „Was passiert, wenn wir unseren Ingenieuren mehr Zeit zum Nachdenken geben und weniger Meetings einplanen?"
In BayesInsights klickt man einfach auf das Feld „Weniger Meetings". Sofort ändert sich das ganze Netz:
- Die Wahrscheinlichkeit für „Glückliche Ingenieure" steigt.
- Die Wahrscheinlichkeit für „Zeitverlust durch Hindernisse" sinkt.
- Und am Ende sieht man, dass die „Software-Liefergeschwindigkeit" wahrscheinlich um 10 % steigt.
Das ist wie ein Kristallkugel-Test, der auf echten Daten basiert.
5. Was kam dabei heraus?
Die Forscher haben das Tool einem Test mit 24 erfahrenen Führungskräften unterzogen.
- Das Ergebnis: Fast alle (95,8 %) fanden das Tool extrem nützlich.
- Der Aha-Effekt: Viele sagten: „Endlich verstehen wir, warum unsere Teams gestresst sind und wie wir das wirklich lösen können."
- Vertrauen: Die Leute hatten Vertrauen in die Ergebnisse, weil sie auf echten Daten basierten und nicht nur auf Bauchgefühl.
Fazit
BayesInsights ist wie ein Übersetzer zwischen den Zahlen und den Menschen. Es hilft Bloomberg zu verstehen, dass Software-Entwicklung nicht nur aus Code besteht, sondern aus einem komplexen Geflecht aus Werkzeugen, Zeit, Stimmung und Zusammenarbeit.
Anstatt nur zu raten, wo man ansetzen muss, kann man jetzt gezielt an den richtigen Schrauben drehen, um die ganze Maschine besser laufen zu lassen. Das Tool ist aktuell schon für einige Teams im Einsatz und soll bald für alle verfügbar sein – ein großer Schritt, um Software-Entwicklung nicht nur schneller, sondern auch glücklicher zu machen.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.