Sieben Implementierungstipps für DevOps im Mittelstand
Spätestens wenn der Wettbewerb Online-Shop-Funktionen in Stunden statt Tagen umsetzt, priorisieren Unternehmensverantwortliche die Steigerung von IT-Flexibilität und -Geschwindigkeit. Das Mittel zum Zweck ist oftmals die Einführung von DevOps. Doch oft kollidieren dabei die Kulturen von Entwicklung und Betrieb. Besonders Mittelständler mit langjähriger Marktpräsenz kämpfen mit der Integration von DevOps, da ihre Teams für Development (Dev, Entwicklung) und Operations (Ops, Betrieb) traditionell isoliert agieren. Sieben Tipps zeigen, wie die Implementierung im Mittelstand dennoch ein Erfolg wird.
Implementierungstipp 1: Klares und gemeinsames Zielbild definieren
Alle Beteiligten müssen auf dasselbe Ziel hinarbeiten – und dieses auch kennen. Das mag selbstverständlich klingen, ist es aber nicht. Denn: Bei vielen Unternehmen gilt es noch immer als effizienter, einzelne Mitarbeitende nur so weit zu informieren, wie es für ihren Projektteil notwendig erscheint. Einer der wichtigsten Gründe, weshalb Dev und Ops aktuell noch oft aneinander vorbei arbeiten.
Wer DevOps lebt, braucht ein gemeinsames Zielbild. Bestandteile eines solches Zielbilds könnten sein, die Time-to-Market zu verkürzen, die Qualität der Produkte zu verbessern, die IT-Kosten durch Automatisierung zu senken oder die Kundenzufriedenheit zu steigern. Das Zielbild sollte dabei so klar und prägnant wie möglich formuliert und mit konkreten Unternehmenszielen verknüpft sein.
Implementierungstipp 2: Messen, analysieren, verbessern
Ein wesentlicher Bestandteil von DevOps ist es, wirksame Feedbackprozesse zu etablieren: ob die Software, die man entwickelt, gut ankommt oder nicht und ob Prozesse dem definierten Ziel wirklich helfen.
Geeignete Metriken sind dabei ein unverzichtbares Mittel, um zu messen, wie sehr ein Unternehmen bereits nach DevOps-Prinzipien arbeitet und wie gut neu Eingeführtes funktioniert. Die Reaktion auf sich verändernde Umstände wird durch die Klarheit zur aktuellen Situation erheblich vereinfacht. Messen, um sich zu verändern, lautet die Devise.
Idealerweise gibt es dabei eine direkte Ableitung der Metriken aus dem gemeinsamen Zielbild bzw. den Zielen des Unternehmens. Diese könnte beispielsweise beinhalten, die Wartbarkeit und Reaktionsfähigkeit der Softwareentwicklung auf Veränderungen im Markt zu verbessern. Ein entsprechendes Beispiel für die Messung könnte die Zeit sein, die benötigt wird, um von der Entwicklung einer Funktion bis zur Bereitstellung in die Produktionsumgebung zu gelangen.
Implementierungstipp 3: Pragmatisch mit echten Verbesserungen starten
Oftmals sind etablierte IT- und Entwicklungsprozesse nicht perfekt, bieten jedoch ein erhebliches Potenzial für rasche und greifbare Verbesserungen. DevOps selbst kann als vielseitiger Werkzeugkasten betrachtet werden, der eine Vielzahl von Praktiken umfasst. Dies ermöglicht es Teams, gezielt diejenigen Ansätze auszuwählen, die am besten zu ihren individuellen Anforderungen passen.
Ein zentraler Schritt bei der Beschleunigung der DevOps-Einführung ist die zügige Bestandsaufnahme der Ausgangslage. Auf dieser Basis können potenzielle Verbesserungsbereiche und konkrete Maßnahmen schnell identifiziert und umgesetzt werden. Die Flexibilität von DevOps wird so genutzt, um gezielt und effizient positive Veränderungen herbeizuführen und die Einführung in einem beschleunigten Tempo voranzutreiben.
Implementierungstipp 4: Automatisierungspotentiale heben
Automatisierung ist ein zentraler Bestandteil der DevOps-Philosophie und spielt eine entscheidende Rolle bei der Effizienzsteigerung und Fehlerminimierung im Mittelstand. Unternehmen beginnen idealerweise mit einer gründlichen Analyse der Entwicklungs- und Bereitstellungsprozesse, um Bereiche zu identifizieren, die durch Automatisierung verbessert werden können. Dies kann von der Code-Bereitstellung, der Testautomatisierung bis zur Automatisierung von Betriebsprozessen reichen.
Eine zentrale Praktik ist die Einführung von CI/CD in Softwareprojekten. CI/CD steht für Continuous Integration und Continuous Deployment. Es ist ein Ansatz in der Softwareentwicklung, bei dem Codeänderungen kontinuierlich in eine gemeinsame Codebasis integriert und automatisch getestet und bereitgestellt werden. Dadurch können Teams schneller und häufiger hochwertige Software liefern, da menschliche Fehler minimiert und Entwicklungszyklen verkürzt werden.
In vielen Fällen ist es sinnvoll in der Umsetzung einen Digitalisierungsdienstleister wie q.beyond als Reisebegleiter auf den ersten Stationen neben sich zu wissen. In kurzer Zeit wird so die Orchestration und Automation der Entwicklungsprozesse und der automatisierte Betrieb nach Good Practices ermöglicht.
Implementierungstipp 5: Teamübergreifende Zusammenarbeit ermöglichen
Es gilt, fest etablierte und damit verkrustete Strukturen aufzubrechen; sowohl virtuelle als auch physische. Wie das gelingt? Indem Mittelständler beispielsweise Datensilos abschaffen, auf die nur ein bestimmter Kreis der Mitarbeitenden zugreifen kann. Oder sprichwörtlich Wände einreißen: Wo früher Entwicklung und IT-Betrieb auch räumlich getrennt handelten, kann es heute zur Förderung der Kommunikation sinnvoll sein, diese Mauern abzubrechen.
Ein weiterer positiver Einfluss kann dadurch entstehen, die im Kontext von DevOps verwendeten Tools und Prozesse zu vereinheitlichen. Die auf diese Weise etablierten gemeinsamen Prozesse und Werkzeuge können das Abreißen von Silos beschleunigen. Teams können so zum Beispiel an einer Stelle gemeinsam planen und deutlich einfacher Informationen austauschen. Dies verbessert die Kommunikation, erhöht die Transparenz über die Vorhaben im Unternehmen und kann fachliche Abstimmungen deutlich erleichtern.
Implementierungstipp 6: Positive Fehlerkultur fördern
Die Erfahrung zeigt: Wer Fehler bestraft, verliert. Besonders mittelständische Traditionsunternehmen, in denen eine Null-Fehler-Toleranz als Qualitätsmerkmal gilt, müssen umdenken und umsteuern. In den meisten Unternehmen basieren ganze Prozessketten, Teamregeln bis hin zu Entlohnungsfragen auf dem Prinzip des „Blame Game“: Zunächst muss die Verantwortung für Fehler geklärt werden, die Lösung erfolgt erst nachrangig im zweiten Schritt.
Das DevOps-Verständnis ist diesem Vorgehen diametral entgegengesetzt. Hier kommt es sogar oft vor, dass ein bestimmter Fehler willkommen ist, weil er ein Projekt nach dem Prinzip des „Trial-and-Error“ voranbringt. Denn aus Fehlern lernt man am meisten.
Immer nur alles richtig machen zu wollen, erweist sich in IT-Projekten oft als kontraproduktiv, weil dadurch jeder an den Pranger gestellt wird, der Fehler begeht. Am Ende werden Pannen vertuscht – anstatt daraus zu lernen. Stattdessen verfolgt eine erfolgreiche DevOps-Implementierung die Prinzipien des Weiterentwickelns, Optimierens, Verbesserns und Ausprobierens.
Vor diesem Hintergrund könnten beispielsweise IT-Leitende erste Testballons starten, um solche DevOps-Prinzipien in ihrem Zuständigkeitsbereich einzuführen und diese dann ganzheitlich mit dem gesamten IT-Bereich anzugehen. Allein dadurch bauen sie schon automatisch die bestehenden Silos ab und bereiten den Weg für eine DevOps-Einführung in der Breite.
Implementierungstipp 7: Einbettung in die Unternehmenskultur ganzheitlich fördern
Um DevOps erfolgreich in ein Unternehmen zu integrieren, ist es entscheidend, die Integration in die Unternehmenskultur bzw. den notwendigen Kulturwandel ganzheitlich anzugehen. DevOps ist mehr als nur eine technologische Umstellung; vielmehr handelt es sich um eine grundlegende Einstellung zur Zusammenarbeit und zum Arbeitsablauf.
Aber: DevOps ist nicht applizierbar. Druck von oben genügt also nie, um den Wandel ganzheitlich voranzutreiben. Er muss auch auf Team-Ebene gelebt werden. Hilfreich ist es, etwa mit kleinen Praxisprojekten zu starten, die den Teams unmittelbar die Vorteile der agilen Arbeitsweise vor Augen führen. So lassen sich dann beispielsweise Multiplikatoren auch leichter im eigenen Unternehmen für das Thema gewinnen.
Ein weiterer Faktor ist ein breites Angebot an Fortbildungen in denen neue Techniken und Tools praktisch angewandt werden und somit die Teams ganzheitlich abgeholt werden. Dies steigert auch die allgemeine Akzeptanz von neuen Prozessen. Als wirksam haben sich dazu Workshops erwiesen, in denen nicht nur das dafür notwendige Wissen direkt vermittelt wird, sondern auch in kurzer Zeit direkte praktische Anwendungen und Verbesserungen teamspezifisch implementiert werden.
Mehr zu den Themen DevOps und Softwareentwicklung
- Weitere Informationen zur Softwareentwicklung finden Sie hier auf q.beyond Website!
- Die Vorteile von Kubernetes für Ihre DevOps Journey – hier im Blogbeitrag!