Skip to Content

DevOps: Wegweiser in eine leistungsstarke IT-Organisation

DevOps steht für eine neue Unternehmenskultur, die bestimmte Werte und Prinzipien verfolgt. Der Begriff setzt sich aus Development (Dev) für Softwareentwickler und Operations (Ops) für den IT-Betrieb zusammen. Der DevOps-Ansatz zielt darauf ab, die Zusammenarbeit zwischen Entwicklung und Betrieb kontinuierlich zu verbessern, gemeinsame Ziele und Anreize zu schaffen sowie gemeinsame Prozesse und Tools zu entwickeln.

Die Basisidee des DevOps-Ansatzes ist es, dass die unterschiedlichen Unternehmensbereiche effektiv zusammenarbeiten, um eine leistungsstarke IT-Organisation aufzubauen. Entwicklung, IT-Operations und Qualitätssicherung sollen die Wertschöpfungskette kontinuierlich optimieren, damit Softwareentwicklung und -betrieb leistungsfähig, innovativ und zukunftssicher werden. 

Das Thema hat sich trotz der augenscheinlichen Vorteile noch nicht auf der breiten Basis durchgesetzt. Derzeit beschäftigen sich lediglich etwa die Hälfte der Entscheider aus dem IT-Sektor in den DACH-Ländern mit dem Thema DevOps – davon viele erst seit weniger als einem Jahr. Während kleine Unternehmen flexibler in der Integration neuer Arbeitsweisen sind, bestehen in größeren Unternehmen und Konzernen oft Berührungsängste und innere Widerstände. Im Interesse

  • einer höheren Softwarequalität in kürzerer Auslieferungszeit,
  • einer skalierenden Infrastruktur sowie
  • der optimalen Koordination der Entwicklerteams ist es an der Zeit für einen Mindset Change.

Unser Angebot für Sie

  • Analyse Ihrer individuellen Situation und Planung eines passgenauen Vorgehens, das bei der Einführung von DevOps auf Ihre Ziele einzahlt
  • Etablierung und Förderung Ihrer Aktivitäten im Hinblick auf Mindset und Toolset für die Einführung von DevOps
  • Individuell aufeinander abgestimmte Dienstleistungen aus Beratungsworkshops, Unterstützung beim kulturellen, organisatorischen und technologischen Change und der Schulung Ihrer Mitarbeiter aus einer Hand
  • Begleitung als verlässlicher Berater und Partner für Ihre DevOps-Aktivitäten im Komplett-Paket oder als Unterstützung in einzelnen Modulen

Webinar-Video

Wir haben das Webinar am 20.09.2019 für Sie aufgezeichnet. Erfahren Sie, was beim Aufbau einer DevOps-Organisation zu beachten ist und welche Vorteile sich schon im Transformationsprozess für Ihr Unternehmen ergeben kann.

Whitepaper

Wie muss sich das Denken ändern, um produktorientierte Software zu liefern? In diesem Whitepaper erläutert unser DevOps-Spezialist Halil Hancioglu, welche Motive einen solchen Wandel begründen und zeigt häufige Stolperfallen auf.

 

 

DevOps bedeutet, ein gemeinsames Ziel im Blick zu haben

Die Zielsetzung bei DevOps ist klar: Alle an der Softwareentwicklung beteiligte Personen streben synchron das gleiche Ziel an, um effektiv auf einen beschleunigten Markt zu reagieren und im richtigen Augenblick mit dem richtigen Feature präsent zu sein. Nur so lassen sich die Kundenbedürfnisse in dem Maße befriedigen, wie es für ein Bestehen des Unternehmens am Markt unabdingbar ist.

Besonders größere Unternehmen müssen einen weiten Weg zurückzulegen, um die dafür erforderlichen Ausgangsbedingungen zu schaffen. Die Transformationsprozesse, die dazu nötig sind, können teilweise erhebliche Ausmaße annehmen. Sie stoßen mit hoher Wahrscheinlichkeit einen Organisationswandel an, aus dem sich bereits kurzfristig Erfolge verzeichnen lassen würden.

DevOps bedeutet einen Wandel für die gesamte Organisation. Der Wandel betrifft die Führung, vollzieht sich aber auch in den Teams, die zwar mehr Freiheiten, damit einhergehend aber auch mehr Verantwortung tragen.

Ganzheitliche Infrastruktur als systemische Basis

In der Softwareentwicklung zeigen sich in bestimmten Bereichen Parallelen zur Volkswirtschaft: Auf beiden Gebieten muss ein stabiles Umfeld vorhanden sein, um optimale Betriebsbedingungen herzustellen. Bei DevOps bedeutet dies, die Infrastruktur zu automatisieren. So ist es zwingend erforderlich, dass alle an den Projekten beteiligten Gruppen und Personen gemeinsame Werkzeuge nutzen. Auch die entsprechenden Zugänge zu den Systemumgebungen sollen allen zur Verfügung stehen. Nur so lässt sich das Projekt auf ein gemeinsames Ziel hin fokussieren.

Ebenso ist ein unternehmensweiter Konsens notwendig, wann ein Software-Feature als auslieferungsfähig gelten darf: Dies ist erreicht, wenn alle erwarteten Qualitätsanforderungen erfüllt sind. Die Besonderheit liegt hierbei in der kontinuierlichen und automatisierten Verifizierung jeder Auslieferung. Die Basis dafür bildet eine wirkungsvoll automatisierte Testumgebung. Sie muss in der Lage sein, eine breite Testabdeckung zu gewährleisten und aussagekräftige Informationen über die Qualität zu liefern.



Zukünftig sollten sich Unternehmen auf eine neue Arbeitsweise einstellen, was selbstverständlich einige Bemühungen erfordert. Im Mittelpunkt dieser neuen Arbeitsweise stehen die Kundenbedürfnisse. Die Prioritäten müssen sich von einer rein technischen Herangehensweise zu einer kundenzentrierten verschieben.



Eine weitere Disziplin ist die schnelle Auslieferung von Änderungen an der Codebasis. Im Sinne von Continuous Delivery erfolgt jede Änderung in kleinen funktionalen und stabilen Schritten. Ist dies gegeben, kann jede Änderung unmittelbar ausgeliefert werden. Dabei sollen die Auslieferungszyklen so kurz wie möglich sein. Das erlaubt ein schnelles Feedback über die Funktionalitäten und minimiert das ganzheitliche Risiko. Darüber hinaus stellt die Reihenfolge, in der die Funktionalitäten entwickelt werden, einen wesentlichen Faktor dar. Sie wird von der Relevanz der einzelnen Elemente bestimmt, wobei die Entwicklung der wichtigsten Features am Anfang steht.

Der Grundsatz von DevOps ist die optimale Abstimmung aller an der Entwicklung beteiligten Teams. Um diesem Grundsatz gerecht zu werden, ist eine erhöhte Transparenz in allen Bereichen und auf allen Ebenen von hoher Wichtigkeit. Es gilt, den Kommunikationsfluss ständig zu optimieren und von Engpässen zu befreien. Der effektivste Weg dahin sind autonome Teams, die sich selbst organisieren, wobei eine zentrale Zielsetzung die unternehmensweite Kooperation bestimmt.

DevOps erfordert einen innovativen Führungsstil

Da die kooperative Arbeitskultur des DevOps-Ansatzes den Fokus vor allem auf die Kunden und die beteiligten Teams legt, stellt es die Führung vor neue Herausforderungen. Dabei ist eine der wesentlichen Aufgaben die transparente Vermittlung der Geschäftsziele.

Ebenso ist die unternehmensweite Vermittlung aller wichtigen Basisdaten von großer Bedeutung. Diese sind zum Beispiel die Faktoren, die Einfluss auf die Kosten und die Projektdurchlaufzeiten haben. Auch die aktuellen Zwischenstände und vor allem die Erfolge sollten Entscheidungsträger transparent darstellen.

Die Zielvermittlung ist ein unschätzbares Führungsinstrument zur Förderung der Eigenverantwortung und Motivation aller Beteiligten. Sie erlaubt es den Teams, ihre Aufgaben flexibel zu gestalten und so an die Zielsetzungen anzupassen. Eine klare Zielvermittlung an die Teams fördert die Agilität der Entwicklung. Teammitglieder, die unmittelbar mit der Entwicklungsarbeit befasst sind, erfassen Einflussfaktoren und Situationsänderungen meist viel früher als die Führungsebene. Entsprechend schneller können sie reagieren und Projektanpassungen vorschlagen. Folglich ist der ständige Austausch über die gegenwärtige Entwicklung und eine gelebte Feedback-Kultur hierfür essentiell.

Aufbau einer funktionierenden DevOps-Struktur

Bei der Umsetzung von DevOps spielt die fortwährende Optimierung von Prozessen und Abläufen mithilfe aller Beteiligten eine wichtige Rolle. Vor allem möchte man Ressourcen und Zeit effektiv nutzen, wenn es darum geht, Produkte oder Funktionalitäten in die Produktivumgebung zu bringen. Dies lässt sich hauptsächlich durch

  • die automatisierte Visualisierung der Wertschöpfungskette
  • die Integration der gesamten Werkzeugkette und
  • die Meidung von manuellen Tätigkeiten erreichen.

Die Verwendung einer automatisierten Testumgebung ermöglicht darüber hinaus, quantifizierbare Aussagen über die Qualität zu bekommen. 



Zu einer effektiven DevOps-Struktur gehört auch die Eigenverantwortung der Entwickler für die Qualität ihres Codes. Die Entwickler sollen neuen Code nur auf eine Weise hinzufügen, die die Betriebsbereitschaft des vorhandenen Codes nicht beeinträchtigt. So bleibt der Hauptentwicklungszweig immer auslieferungsbereit.



Wichtig ist auch, dass die Entwickler regelmäßig Feedback erhalten. Denn ohne Rückmeldung zur geleisteten Arbeit kommen schnell Unsicherheiten auf. Eine schnelle Bewertung fördert auch die Lernkurve: Hat man den Kontext noch parat, lernt man schneller dazu. Trifft das Feedback erst Tage später ein, ist der Zusammenhang nicht mehr so einfach herstellbar. In diesem Fall besteht die Gefahr, dass das Feedback nicht verstanden und umgesetzt werden kann.



Essentiell für eine stabile Produktqualität ist eine effektive Deployment Pipeline. Sie gewährleistet, dass Verbesserungen des Entwicklers auch tatsächlich beim Kunden ankommen. Dieser Prozess soll strukturiert und wiederholbar sein, um Ressourcen zu schonen. Erst durch eine funktionierende Pipeline lassen sich Probleme auflösen, die durch Fehler in komplexen Code-Strukturen entstehen. 



Knowledge Sharing ist ebenfalls ein weiteres wichtiges Anliegen von DevOps. Vor allem ähnlicher Code in unterschiedlichen Branches und der damit verbundene doppelte Arbeitsaufwand kann durch den ständigen Austausch vermieden werden. Es geht darum, Fehler in einem Programmzweig auf effektive Weise auch in anderen Zweigen mit ähnlichem Code zu meiden.



Wesentlich für die Umsetzung von DevOps ist die Vereinfachung der Workflows. Dies bedarf einer produktionsähnlichen Umgebung, die unternehmensweit allen Teams zur Verfügung steht. In dieser Umgebung lassen sich kontinuierlich neue Elemente integrieren und die zugehörigen Testläufe automatisiert durchführen.



Das Ziel ist ein leistungsstarker Entwicklungsprozess, der eine effektive und schnelle Fehlersuche ermöglicht. Dabei kommt es vor allem darauf an, jede denkbare Problemquelle zu lokalisieren und zu isolieren und das bevor der Systemtest beginnt.

Fazit

Zusammenfassend profitieren Unternehmen und Kunden von der effizienteren Zusammenarbeit der Bereiche Development und Operations. Das Ergebnis führt zu einer schnellen Umsetzung stabiler, hochwertiger Software und steigert dadurch ihren Geschäftserfolg.

Die Umstellung auf DevOps bedeutet für alle Beteiligten eine Herausforderung, da der Mindset Change sowie ein Organisationswandel unweigerlich damit einhergehen. DevOps definiert Prozessabläufe neu und verändert dadurch die Art und Weise, wie Teams auf diversen Ebenen zusammenarbeiten.

Diese positive Veränderung lässt sich jedoch nur dann erreichen, wenn alle beteiligten Parteien – vom Entwickler bis zur Unternehmensführung – die erforderlichen Schritte nicht nur konsequent, sondern auch mit innerer Überzeugung umsetzen und leben.

Back to top