Qualität, Nutzen und Geschwindigkeit von Softwareentwicklungsprojekten mit DevOps erhöhen Softwareprojekte unchained: Mit DevOps auf die Überholspur!
Sie wollen die Qualität, den Nutzen und die Geschwindigkeit Ihrer Softwareprojekte erhöhen? Ralf Neubauer zeigt Ihnen, wie Sie dies anhand von DevOps erreichen und so die kontinuierliche Verbesserung in Gang setzen.
Management Summary
Als Mitglied erhalten Sie die wichtigsten Thesen des Beitrags zusammengefasst im Management Summary!
Qualität, Nutzen und Geschwindigkeit von Softwareentwicklungsprojekten mit DevOps erhöhen Softwareprojekte unchained: Mit DevOps auf die Überholspur!
Sie wollen die Qualität, den Nutzen und die Geschwindigkeit Ihrer Softwareprojekte erhöhen? Ralf Neubauer zeigt Ihnen, wie Sie dies anhand von DevOps erreichen und so die kontinuierliche Verbesserung in Gang setzen.
Management Summary
Als Mitglied erhalten Sie die wichtigsten Thesen des Beitrags zusammengefasst im Management Summary!
4 Uhr morgens. Der Wecker bereitet sich noch in aller Ruhe auf seinen Einsatz in zwei Stunden vor, die einjährige Tochter schläft zum ersten Mal seit langem durch. Bis das Telefon klingelt.
Noch bevor Sie richtig wach sind, schlägt der Hund an und ihre Tochter steht schreiend in ihrem Bettchen. Aber es kommt noch schlimmer: Totalausfall der weltweiten Bandversorgung in der Produktion ihrer Firma. Keiner weiß, woran es liegt. Als Sie im Büro ankommen, hören Sie in der ersten Stunde ausschließlich gegenseitige Schuldzuweisungen zwischen dem IT-Betrieb und der Entwicklungsabteilung, die in der letzten Woche ein neues Release zur Verfügung gestellt hat. Am nächsten Abend, als die Systeme nach intensiver Analyse und der Arbeit von vielen beteiligten Kollegen wieder laufen, stellen sie fest, dass sie zur endgültigen Behebung des Problems Anpassungen in die Software einbauen müssen, sonst drohen weitere Ausfälle. Ihr regelmäßiger Releasezyklus für die betroffene Software sieht ein Update in ca. 6 Monaten vor, da erst entsprechend Abstimmungen mit Fachbereichen und umfangreiche Tests durchgeführt werden müssen.
So schlimm wird es schon nicht kommen? Dieses Beispiel wird leider in vielen Unternehmen tagtäglich zur bitteren Realität und diese wirkt sich nicht nur auf die persönliche Situation der Betroffenen aus. Beispiele wie dieses verhindern Wachstum in Unternehmen, sie bremsen Innovationen, sie sorgen für schlechtere Wettbewerbspositionen und fressen ihren Deckungsbeitrag auf.
Als IT-Berater und Systemintegratoren stehen wir regelmäßig vor der Aufgabe, für unsere Kunden solche Situationen, wie eingangs beschrieben, zu analysieren, Verbesserungen zu identifizieren und in den Vorhaben umzusetzen. Eine klassische, an den typischen Phasen eines Softwareprojektes orientierte Betrachtung der einzelnen Bereiche, wie z.B. Anforderungsspezifikation, Entwicklung und Betrieb, ist dabei nicht zielführend. Um Probleme dieser Art zu lösen, braucht es einen holistischen, systemischen Ansatz.
DevOps bietet eine Lösung
Der State of DevOps Report [1] untersucht jährlich die Einflussfaktoren auf die Performance der IT in Unternehmen. Anhand von wenigen Kennzahlen wird klar, wie sich Top-Performer von Low-Performern unterscheiden. Während heute in vielen Firmen noch zwei- oder dreimal im Jahr ein Softwaresystem mit neuen Funktionen in Produktion gestellt wird (Deployment), schaffen das die Top-Performer alle paar Sekunden. Die Kennzahl "Time to restore" beschreibt die Zeit, die notwendig ist, um einen Service nach einem Ausfall wiederherzustellen. Die Gruppe der Top-Performer schafft das durchschnittlich 2604 Mal schneller als die Low-Performer.
IT-Bereiche in Unternehmen sind typischerweise funktional organisiert. Das heißt, es gibt einerseits Organisationseinheiten, die sich mit der Entwicklung und Bereitstellung von Softwaresystemen befassen und zum Beispiel das Projektgeschäft betreuen. Und andererseits gibt es die Einheiten, die Ergebnisse dieser Projekte dann im operativen Betrieb betreuen. Oftmals handelt es sich dabei um sogar rechtlich eigenständige Einheiten, mit eigenen Zielen, eigenen Incentives und getrennten Verantwortlichkeiten. Die Entwicklung ist bestrebt – nicht selten auf massiven Druck der Fachbereiche hin – neue Softwareversionen schnell in die Produktion zu bringen. Der Betrieb andererseits, pocht auf notwendige Stabilität und möchte diese keinesfalls durch eventuell unbedachte Anpassungen in neuen Softwareversionen gefährden. Durch diese gegenläufigen Zielsetzungen entsteht die sogenannte "Wall of Confusion" (Bild 1) zwischen beiden Bereichen. Eine ähnliche Wand gibt es nach wie vor oft zwischen Fachbereichen und der IT-Entwicklung. Die Situation war hier ähnlich, allerdings konnte diese Wand durch den Einsatz agiler Methoden und eine damit erreichte höhere Integration der Fachbereiche in die IT-Projekte schon durchlöchert werden.
DevOps setzt auf den agilen Vorgehensweisen auf und vereint die klassische funktional getrennte Betrachtung von Entwicklung (Development) und Betrieb (Operations). Als Ansatz zur Prozessverbesserung ist DevOps damit in den letzten Jahren vor allem im Bereich der Softwareentwicklung in der Breite angekommen. Der Ansatz selbst, kann jedoch auch auf weitere Branchen und Produktionsbereiche angewendet werden.
Gelingt diese Zusammenführung von Entwicklung und Betrieb, entstehen Potentiale, besonders für Effizienz und Geschwindigkeit sowie für die inhaltliche Entwicklung und Qualität des betrachteten Produktes. DevOps, richtig umgesetzt, sorgt für eine höhere Geschwindigkeit bei mindestens gleichbleibender, meist aber deutlich gesteigerter Qualität.
DevOps hat seine Wurzeln im Lean Management. Analog dazu betrachten wir den Softwareentwicklungsprozess nicht mehr aus dem Blickwinkel eines Projektes. Ein Projekt ist eine einmalige Sache, mit einem definierten Start, einem definierten Ende und festgelegten Ergebnissen. Wenn wir die DevOps Brille aufsetzen, ist der beste Vergleich eine Produktionslinie. Ich stelle mir dabei immer eine Produktionslinie bei einem Fahrzeughersteller vor. In vielen Einzelschritten wird ein Fahrzeug entwickelt, zusammengebaut und schlussendlich an den Kunden übergeben. Auch für die Fahrzeughersteller ist nach der Übergabe an den Kunden nicht Schluss. Sie betreuen ihre Produkte während der Kunde sie nutzt, warten diese und versuchen aus dem Feedback ihrer Kunden zu lernen. Natürlich ist das Entwickeln einer Software ein immer neuer kreativer Prozess und damit nicht vollständig mit einer industriellen Produktion zu vergleichen. Aber jenseits der kreativen Anteile gibt es viele, sich ständig wiederholende Schritte, die deutlich von einer solchen Sichtweise profitieren können. Aus diesen ergeben sich die Effizienzpotentiale, die wir heben wollen.
Analog dem Lean Management betrachten wir mit DevOps nunmehr den konsequent am Bedarf des Kunden ausgerichteten Value Stream und zwar von der Identifikation und Formulierung der Anforderungen bis zum operativen Betrieb des Produktes (der Software oder der Lösung) beim Anwender. Aufgrund dieser umfassenden End-2-End Betrachtung verzichten wir auch darauf, weitere Ergänzungen des DevOps Begriffs zu verwenden, wie z.B. BizDevOps, was die Integration über die erste "Wall of Confusion" zwischen Fachbereich und IT-Entwicklung in Bild 1 beschreibt.
Das vollständige Potential dieser integrierten Sichtweise kann nur dann realisiert werden, wenn die entsprechende Verantwortung der einzelnen Phasen dabei auch in einer Hand liegt. Die Personen, welche die Entwicklung steuern und die Anforderungen priorisieren, sollten auch diejenigen sein, die nachts alarmiert werden, wenn die Services zum Beispiel aufgrund von Qualitätsproblemen nicht zur Verfügung stehen.
DevOps kann Ihnen helfen, wenn Sie
- Produkte über die Lieferung hinaus bei Ihren Kunden betreuen
- die Bedürfnisse Ihrer Kunden besser verstehen wollen
- die Time-to-market für Ihre Produkte verbessern müssen
- Qualitätsprobleme in Ihren Services lösen wollen
- auf Marktanforderungen flexibel reagieren müssen
DevOps in der Praxis umsetzen
Sofort weiterlesen und testen
Erster Monat kostenlos,
dann 24,95 € pro Monat
-
Know-how von über 1.000 Profis
-
Methoden für alle Aufgaben
-
Websessions mit Top-Expert:innen