Aufgaben, Rollen, Organisation
DevOps in einer Two-Speed-Architektur
Funktionsübergreifende Teams mit Vertretern aus Anwendungsentwicklung, Infrastrukturmanagement und IT-Betrieb sollten gemeinsam die Verantwortlichkeiten für die Stacks in der Abwendungspipeline klären. Bei einer kontinuierlichen Bereitstellung würde zum Beispiel ein gemeinsames Team sämtliche Prozesse (und die damit verbundenen Tools) dieser Entwicklungstätigkeit beaufsichtigen - also Anwendungsentwicklung, -test und -verteilung, Performance-Management und -Monitoring sowie Virtualisierung und Konfigurationsmanagement. Bisher war die Verantwortung hier zum Teil auf unterschiedliche Organisationen verteilt. Überdies sollten die Infrastrukturteams ein Mitspracherecht und die gleichen Entscheidungsbefugnisse wie die Entwicklerteams erhalten.
Neudefinition von Unternehmenskultur und Talentmanagement
Eine integrierte Entwicklung und kontinuierliche Bereitstellung ist nur in einer Unternehmenskultur möglich, die ihre Softwareentwickler mit gewissen Vollmachten ausstattet und ihre IT- und F&E-Berichtsstrukturen darauf ausrichtet. In den meisten Organisationen sind Produktentwicklung und IT-Betrieb räumlich voneinander getrennt und beschäftigen Mitarbeiter mit ganz unterschiedlichen Einstellungen, Fähigkeiten und Erfahrungen. Diese Barrieren müssen Führungskräfte von IT und Fachseite niederreißen. Statt zum Beispiel alle Entwickler dem Leiter Entwicklung und alle operativen Mitarbeiter dem Leiter Betrieb zu unterstellen, müssen in manchen Fällen bewusst andere Berichtswege festgelegt werden.
Darüber hinaus brauchen die Mitarbeiter entsprechende Schulungen; gegebenenfalls müssen auch die Gehaltssysteme angepasst werden. Während der Entwickler in einem klassischen Umfeld nur für die Anwendung verantwortlich ist, ist er in einer DevOps-Umgebung für die Qualität ihres Codes im operativen Betrieb verantwortlich. Sie müssen die Grundlagen des Betriebs beherrschen und ausgesprochen teamfähig sein, um sich bei Problemen in der Anwendungsentwicklung oder -verteilung gemeinsam mit dem Betrieb auf das richtige Prozedere zu einigen.
Angesichts dessen haben viele Unternehmen ihre Personalbeschaffungsprozesse bereits angepasst und halten nun verstärkt nach "Full Stack"-Teammitgliedern Ausschau - Experten, die sich mit sämtlichen Aspekten der IT auskennen und in der Entwicklung von Benutzeroberflächen ebenso versiert sind wie im Umgang mit Netzwerken und cloud-basierten Infrastrukturen.
Neudefinition von Prozessen und Governance
Um zu entscheiden, welche Aspekte der Softwarebereitstellung neu definiert oder vollständig automatisiert werden sollen, müssen sich Unternehmen die ganze Bankbreite der Prozesse anschauen. Ziel ist es, auf Entwicklungsseite bei Bedarf von den Vorteilen von Infrastruktur-as-a-Service zu profitieren und Code in einem standardisierten Verfahren in Test- und Produktionsumgebungen zu portieren. Herkömmliche Unternehmen können sich in puncto Prozess- und Governance-Änderungen für eine DevOps-Umgebung einiges von Internetpionieren abschauen.
Zum Beispiel wenden Internetunternehmen in der Entwicklung das Self-Service-Prinzip an: Entwicklungsteams können Code in Produktionsumgebungen testen, weiterentwickeln und verteilen, ohne ständig die Hilfe des Infrastrukturbetriebs anzufordern. Am Ende sind beide Teams gemeinsam für die Code-Performance verantwortlich.
Ein weiteres Merkmal von Internetfirmen sind konsequente, automatisierte Tests von neuem Code in sämtlichen Phasen des Anwendungsentwicklungsprozesses. In manchen Firmen werden alle 10 bis 15 Minuten automatisch aufwändige Tests durchgeführt. Darüber hinaus nutzen sie Advanced Analytics und andere Tools, um Code vorab auf Ausnahmen zu prüfen, und senden Entwicklern automatisierte Berichte zu jenen Codesegmenten, die mit hoher Wahrscheinlichkeit zu Fehlern führen.
Der Wechsel zu einer DevOps-Umgebung kann sowohl die Produktivität als auch die Markteinführungszeit von Softwareprodukten deutlich verbessern. Mit der Einführung einer neuen IT-Methode ist es dabei allerdings nicht getan. Gefragt ist eine unternehmensweite Transformation, bei der Prozess- und Governance-Fragen genauso Rechnung getragen wird wie Technologiethemen.