Welche Rolle Software Delivery Management (SDM) spielt
Software Delivery Management (SDM) ist ein Framework, das ineffiziente Softwarebereitstellung beseitig und Personen, Tools sowie Prozesse miteinander verbindet.
Die Softwarebereitstellung hat in den vergangenen zehn Jahren einen langen Weg zurückgelegt. Viele Unternehmen haben die lineare Vorgehensweise des Wasserfallmodells aufgrund seiner Beschränkungen zugunsten von kooperativen Ansätzen aufgegeben. Diese ermöglichen es, schneller zu entwickeln, Features im Prozess zu modifizieren und kontinuierlich zu aktualisieren.
Die heutigen Bereitstellungsprozesse sind jedoch nicht so effizient, wie sie sein könnten. Sie sind immer noch mit Engpässen, Störungen und Unklarheiten behaftet. Die Teams verwenden zu viele Tools, die beschränkte Funktionen erfüllen und nicht gut miteinander verknüpft sind. Die Daten sind über alle Abteilungen hinweg verstreut, und es gibt keine klare Sicht auf den gesamten Lebenszyklus der Softwarebereitstellung.
So sehr Unternehmen in diesem Prozess fortgeschritten sind, sind sie noch nicht am Ende angekommen. Es bleibt eine grundlegende Lücke in der Art und Weise, wie Firmen Software ausliefern. Die Schaffung einer DevOps-Kultur und die Einführung kontinuierlicher Bereitstellung (Continuous Deployment) haben geholfen. Doch die Unternehmen managen noch immer nicht ihre Softwareanwendungen mit der Präzision, die notwendig ist, um den Anforderungen gerecht zu werden, die sich in Zukunft an die Branche stellen. Was wir brauchen, ist ein ganzheitlicherer Ansatz für das Management der Softwarebereitstellung.
Dieser Ansatz hat einen Namen: Software Delivery Management (SDM). Es ist mehr als nur ein Fachausdruck. Es ist ein neues Rahmenwerk, das Wege zur Beseitigung der Blockaden aufzeigt, die zu Ineffizienz führen, und Personen, Werkzeuge und Prozesse miteinander verbindet, die bei der Softwarebereitstellung eine Schlüsselrolle spielen.
DevOps und CI/CD als Basis für Software Delivery Management
In einem Unternehmen werden oft eine Vielzahl von Entwicklungsverfahren, Werkzeugen und Technologie-Stacks eingesetzt, um eine breite Palette von Software für unterschiedliche Bedürfnisse bereitzustellen. SDM ersetzt nicht DevOps, Continuous Delivery oder Continuous Integration (CI/CD). Dies sind grundlegende Konzepte, die für die Softwarebereitstellung in den kommenden Jahren von wesentlicher Bedeutung sein werden. Stattdessen baut es auf ihnen auf.
Selbst in Unternehmen mit einer ausgereiften CI/CD-Pipeline, mehreren täglichen Implementierungen und einer vollständigen, unternehmensweiten Umsetzung von DevOps gibt es oft keinen durchgängigen Einblick in die Wertschöpfungskette. Wichtige Fragen bleiben unbeantwortet: Wo bleibt die Entwicklung von Produkten oder Funktionen hängen? Wo führen Engpässe oder Ineffizienzen zu langsamer Wertschöpfung? Teams, die den bewährten Praktiken von DevOps folgen, gehen die Dinge oft anders an, selbst innerhalb desselben Unternehmens. Auch bleibt offen, wie sich Software auf geschäftliche Leistungsindikatoren (KPIs) auswirkt.
CI und CD tragen dazu bei, dass Teams die Softwarebereitstellung beschleunigen können. Jedoch stellen sie nicht sicher, dass die Entwickler die richtige Software liefern oder dass die Geschäftsanforderungen erfüllt werden. Auch führen CI und CD nicht alle Informationen über den gesamten Softwarebereitstellungszyklus der einzelnen Tools zusammen, auf die sich ein Unternehmen verlässt, um eine Gesamtübersicht mit Kontextinformationen zu liefern, die Entwickler, Produktmanager, operative Teams, Produktvermarkter und Support-Teams für einen reibungslosen Ablauf benötigen.
Zudem liefern CI und CD keine Daten, um zu messen, inwiefern die Softwareteams dem Unternehmen Mehrwert liefern – und ohne diese Möglichkeit wissen Softwareteams nicht, ob sie die gesetzten Ziele erreichen oder sich überhaupt verbessern.
Software Delivery Management entwickelt CI und CD weiter. Es ermöglicht die Verwendung von verknüpften Tools, so dass Technologiesilos für alle Beteiligten vermieden werden. Es sieht ein ganzheitliches Datenmodell vor, mit dem alle Angestellten auf die gleichen Informationen zugreifen und diese gemeinsam nutzen können. Darüber hinaus wird die Feedback-Schleife so erweitert, dass sie den gesamten Anwendungslebenszyklus umfasst, vom Melden von Problemen bis hin zum Kontakt mit den Nutzern einer Anwendung.
Genauso wie DevOps die Mauern zwischen den Entwicklern und dem operativen Betrieb niederreißt, sprengt SDM diese Barrieren, um die Softwarebereitstellung an funktionsübergreifende Teams im gesamten Unternehmen zu koppeln.
Es ermöglicht ihnen durch einen einheitlichen Prozess, besser zu kommunizieren und zusammenzuarbeiten, und letztendlich zeiteffizient bessere Software zu entwickeln, die Geschäftsanforderungen erfüllt und einen Mehrwert für den Kunden schafft.
Der Nutzen von Software Delivery Management
Entwicklungsteams und operative Teams sprechen häufig über Schnelligkeit und Frequenz: Wenn wir hunderte oder tausende Male pro Tag in der Lage sind, neuen Code bereitzustellen, haben wir einen hochmodernen Softwareentwicklungsprozess. Letztlich geht es bei der Bereitstellung von Software aber nicht nur um Schnelligkeit, sondern auch um die Qualität. So soll das bestmögliche Produkt kreiert werden – eines, das die Bedürfnisse der Kunden erfüllt, und dieses muss so schnell wie möglich geliefert werden. Es führt zu nichts, unausgereifte, fehlerhafte oder Software bereitzustellen, die an den Marktbedürfnissen vorbei entwickelt wurde.
Während Geschwindigkeit weiterhin eine große Rolle für SDM spielt, liegt der Schwerpunkt auf der Wertschöpfung durch Nutzung der vier Säulen von SDM:
-
gemeinsame Daten
-
universelle Einsichten
-
gemeinsame, zusammenhängende Prozesse
-
die Zusammenarbeit aller Funktionen
Das Ziel besteht nicht nur darin, alle Prozesse für eine sofortige Auslieferung zu automatisieren, sondern vielmehr darin, die kreativen Köpfe, die Software entwickeln, von weniger bedeutsamen Aufgaben zu befreien und es ihnen zu ermöglichen, mehr Zeit und Energie für hochwertige, kollaborative sowie schöpferische Arbeit zu investieren. Zusätzlich soll der gesamten Organisation Einblick in die Daten gewährt werden, die erforderlich sind, damit Software dem Unternehmen bessere Ergebnisse liefern kann.
In der Realität profitieren Unternehmen am meisten von gemeinsamen, funktionsübergreifenden Ansätzen, ganz im Gegensatz zu den Klischeevorstellungen über den einsamen, genialen Entwickler, der im Alleingang Softwarewunder vollbringt. Eine DevOps-Kultur ist ein Schritt in diese Richtung, aber echte Zusammenarbeit über Funktionsgrenzen hinweg sollte die Einbeziehung aller Beteiligten umfassen, bis hin zum Erfolg beim Kunden.
Wird dies umgesetzt, hat jeder Zeit, sich auf seine Kernaufgaben zu konzentrieren, die echten Mehrwert liefern: angefangen bei den Entwicklern, die nicht mehr blind Funktionen erstellen, bis hin zu den Kundendienstmitarbeitern, die in der Lage sind, die eigentliche Ursache der Kundenfrustration zu beheben, anstatt sich immer wieder mit den gleichen Kundenanliegen zu befassen.
Neue Spielregeln mit SDM
SDM einzusetzen bedeutet, dass ein Unternehmen nicht mehr die Kundendaten durchsuchen muss, um das eigentliche Problem zu identifizieren, damit Mitarbeiter ohne Programmierkenntnisse die Anforderungen an eine neue Funktion formulieren, die das Problem löst, und diese Anforderungen dann dem Softwareteam übergeben, das nie eine Möglichkeit hatte, die Originaldaten einzusehen und zu besprechen.
Mit SDM haben der Kundendienst, die Produktabteilung und die Entwickler Zugriff auf die gleiche gemeinsame Datenbank und die darin befindlichen Kundeninformationen. Alle Bereiche können zusammen daran arbeiten, Probleme zu identifizieren und zu lösen. Jeder Beteiligte bekommt Einsicht in die verschiedenen potenziellen Lösungen sowie deren Vor- und Nachteile, und kann gemeinsam im Team entscheiden, wie die Entwicklung von Funktionen am besten zu priorisieren und zu planen ist, um die gewünschten Geschäftsergebnisse zu erzielen und gleichzeitig dem Kunden einen Mehrwert zu bieten.
„Mit SDM haben der Kundendienst, die Produktabteilung und die Entwickler Zugriff auf die gleiche gemeinsame Datenbank und die darin befindlichen Kundeninformationen.“
Michael Baldani, CloudBees
Durch SDM wird es wahrscheinlicher, dass die Entwickler gleich beim ersten Mal ein passendes Produkt liefern – und wenn nicht, dann können sie auf genügend Kundenfeedback aus der gemeinsamen Datenbank zugreifen, um den Kundenanforderungen gerecht zu werden und das Problem mit der weiterentwickelten Software zu lösen. Jeder, vom Entwickler über den Produktmanager bis hin zum Kundendienst, hat Einblick in den Prozess und erfährt so, wann neue Funktionen und Updates zu erwarten sind.
Die nächste Ära der Softwareentwicklung
Die Softwarebereitstellung hat einen langen Weg zurückgelegt. Unternehmen entwickeln schneller, bringen häufiger Updates heraus und präsentieren Anwendungen von einer Qualität, die höherer ist als je zuvor. Doch mit dem Technologiefortschritt und der Entwicklung in den Wirtschaftszweigen werden die Ansprüche an die Unternehmen weiter steigen. Es gibt noch viel Raum für Optimierungen. Die Branche kann nur erfolgreich sein und ihre gesetzten Ziele erreichen, wenn sie einem ganzheitlichen Ansatz der Softwarebereitstellung folgt und sie als Kerngeschäfts-Tool definiert.
Über den Autor:
Michael Baldani ist Product Director bei CloudBees.
Die Autoren sind für den Inhalt und die Richtigkeit ihrer Beiträge selbst verantwortlich. Die dargelegten Meinungen geben die Ansichten der Autoren wieder.