Im Jahr 2021 wird das Konzept von DevOps noch stärker an Relevanz gewinnen. Immer mehr Unternehmen müssen und werden erkennen, dass es bei DevOps nicht nur um Tools und Automatisierung geht, sondern vor allem um Menschen und Prozesse.
Der Faktor „Mensch“, der auf enger Zusammenarbeit, Kommunikation und einer gemeinsamen Anstrengung beruht, kann in Kombination mit den uns bekannten technologischen Hilfsmitteln mühelos Engpässe beseitigen und Ergebnisse so effizient wie möglich liefern. Das ist heute wichtiger denn je.
Warum DevOps so wichtig ist
Das Ziel von DevOps ist es, zwei unterschiedliche Teams mit manchmal voneinander abweichenden Missionen – meist in den Bereichen Entwicklung und Betrieb – zusammenzubringen und eine intensivere Abstimmung zwischen ihnen zu ermöglichen. Die Umstellung auf eine DevOps-Kultur und das Setzen von gemeinsamen Zielen reduziert die Reibung zwischen den Teams und fördert den gemeinsamen Fokus auf die Auslieferung von Software. Damit wird letztlich der ganze Prozess der Softwarebereitstellung beschleunigt. Die DevOps-Kultur begünstigt auch die Automatisierung im gesamten Lebenszyklus von Software: von der Entwicklung, Integration, dem Testen und der Bereitstellung bis hin zum Einsatz, Betrieb und der Wartung sowie Verwaltung der Infrastruktur.
Das Softwareprodukt ist, logischerweise, das Herzstück vieler Softwareunternehmen; auch wenn bis jetzt in manchen Unternehmen immer noch vermehrt Wert auf andere Bereiche wie den Vertrieb gelegt wird. DevOps erfolgreich in solchen Unternehmen zu implementieren und sich somit auf das Produkt selbst zu fokussieren, erfordert neue Arbeitsweisen. Diese sollten ein breiteres Spektrum an Akteuren einbeziehen. Nämlich nicht nur Developer und Operation Teams, sondern auch Interessengruppen, die sich nicht mit IT als Kernthema beschäftigen, aber ebenfalls über den Status der Softwarelieferung informiert sein müssen.
Welche Rolle SDM für die ganze Organisation spielt
Diese engere Zusammenarbeit und Transparenz im Softwareauslieferungsprozess wird durch Software Delivery Management (SDM) ermöglicht, das auf gemeinsamen Daten, allgemein verfügbaren Erkenntnissen, gemeinsamen verbundenen Prozessen und der Zusammenarbeit aller Akteure im gesamten Unternehmen basiert.
SDM konzentriert sich nicht nur auf IT-Teams und deren Führungskräfte, sondern dehnt die Transparenz der Prozesse auf die gesamte Organisation aus. Die technische Leitung muss sich dabei auf zwei Eckpfeiler stützen: die Fähigkeit, gute Entscheidungen zu treffen und effektiv mit Menschen zu arbeiten. Der SDM-Ansatz bietet einen durchgängigen Einblick in den Lebenszyklus der Softwareentwicklung und -bereitstellung aus der Produkt- und Entwicklungsperspektive. Grundlage für SDM ist ein System of Record, integriert in eine flexible Plattform. Dieses ist in der Lage, Daten aus verschiedenen Quellen in ein gemeinsames Datenmodell aufzunehmen. Als solches ermöglicht SDM allgemeine Erkenntnisse aus den gemeinsam genutzten Daten, die die Entscheidungsfindung der Führungskräfte erleichtern. Es bietet die Grundlagen, um Daten in die Tat umzusetzen. Außerdem macht es die Informationen für Einzelpersonen und Teams im gesamten Unternehmen unkompliziert zugänglich und erlaubt der Management-Ebene die nötigen Einsichten. Mit SDM erhalten gemeinsame Daten und Informationen rund um den Softwarebereitstellungsprozess eine konsolidierte Form und werden mit den verschiedenen Stakeholdern des Projekts geteilt, darunter Produktmanagement, UX-Teams, Dokumentationsteams, Support, Produktmarketing und mehr.
Wie SDM die Fronten zwischen den Teams überwindet
Es kommt immer wieder vor, dass es zu Fehlern während der Entwicklungsphase kommt. Ohne den Einsatz von SDM würde das Problem möglicherweise erst bei der nächsten wöchentlichen Besprechung mit den beteiligten Akteuren bemerkt werden. SDM zeigt allen Beteiligten sofort, wenn etwas fehlerhaft verläuft oder ausfällt, sodass Probleme sofort behoben werden und die Arbeit fortgesetzt werden kann. Auch wenn nichts schief geht, ist SDM äußerst nützlich. Es ermöglicht kontinuierliches Feedback und teamübergreifende Kollaboration. Beteiligte erlangen Zugriff auf die gesammelten Daten und können Auswirkungen auf das eigene Team erkennen. Diese Sichtbarkeit ermöglicht auch ein Verständnis dafür, wie sich die Arbeit eines Teams auf die Arbeit eines anderen auswirkt, was die Zusammenarbeit zwischen den Teams verbessert. Da die Informationen mit allen geteilt werden, können Engpässe schneller identifiziert, kommuniziert und angegangen werden, was die organisatorischen Widerstände deutlich verringert.
Ein weiterer Vorteil besteht darin, dass chronologisch im Bereitstellungsprozess nachgelagerte Teams sich schon vorab vorbereiten können, sobald die Informationen zum Fortschritt eines bestimmten Features geteilt werden. Wenn beispielsweise ein Feature, an dem ein bestimmtes Team arbeitet, zu 70 oder 80 Prozent fertiggestellt ist, kann sich das Team, das für die bevorstehende Entwicklungsphase verantwortlich ist, auf die nächsten Schritte einstellen. Das Gleiche gilt für Marketing-Manager, die dann schon einmal Assets und Informationsmaterial zusammenstellen können, um die neue Funktion bei Kunden und Interessenten zu bewerben. Damit arbeiten alle Unternehmensbereiche auf ein Ziel hin – nämlich das Softwareprodukt (mit den neuen Features) an den Kunden zu vertreiben. SDM fungiert als Sichtbarkeits- und Verwaltungsebene für die Softwarebereitstellung, die über der Toolchain liegt und alle Informationen aus verstreuten Quellen in einer einzigen Quelle zusammenführt, sodass alle Akteure funktionsübergreifend auf dem gleichen Stand sind.
Was dem „wahrhaft menschliche“ Aspekt von SDM zugrunde liegt
Softwareentwicklung geht über das Schreiben, Testen und Implementieren von Code hinaus; es geht vor allem um die Arbeit mit Menschen. Aufgrund der Anforderungen an Skalierbarkeit, Sicherheit, die Einhaltung von Terminen und die Integration von Funktionen, ist die Softwareentwicklung mehr denn je teambasiert. Daher werden Tools, die die Zusammenarbeit verbessern, immer wichtiger, auch für einzelne Mitarbeiter. Projektmanagement-Lösungen müssen mit leistungsfähigen Anwendungen für Kommunikation und Teamarbeit gekoppelt werden. Die Zuordnung von Aufgaben und Terminen muss glasklar sein. Offene Kommunikationskanäle ermöglichen es, dass Informationen die richtigen Personen erreichen und die Softwareentwicklungs- und operativen Teams mit dem Marketing, dem Vertrieb sowie der Kundenbetreuung und anderen geschäftskritischen Abteilungen in Einklang gebracht werden.
Wahre Teamarbeit ist in Softwareentwicklungsprojekten von entscheidender Bedeutung, da sie Missverständnisse, die den Fortschritt behindern, reduziert und somit den rechtzeitigen Release eines Features oder Produkts ermöglicht. Aus diesem Grund ist es wichtig, dass alle Beteiligten während des gesamten Projekts an einem Strang ziehen. Dies stellt sicher, dass die Teams gemeinsame Ziele verfolgen und sich der Projektanforderungen voll bewusst sind.
Wohin es in Zukunft geht
Künftig werden wir beobachten können, wie sich Software Delivery Management zu einem allumfassenden System entwickelt, das auf integrierten Tools, gemeinsamen Daten sowie Prozessen, allgemein zugänglichen Erkenntnissen und dem Faktor „Mensch“ basiert. Das Stichwort hier ist Orchestrierung: Die Orchestrierung der Softwarebereitstellung durch einheitliche, miteinander verknüpfte Prozesse und gut strukturierte Kommunikationskanäle basierend auf einer einzigen transparenten Informationsquelle, die nicht nur eine bessere menschliche Zusammenarbeit, sondern auch das Erreichen von unternehmensübergreifenden Zielen ermöglicht. Im Zentrum der Orchestrierung: der Mensch.