Abteilungsgrenzen auflösen: DevOps – das Heilmittel der Zukunft?

Mit dem DevOps-Ansatz werden agile Methoden auf den IT-Betrieb übertragen und Standardmodelle für Softwareentwicklung und IT-Betrieb miteinander verbunden um kürzere Release-Zyklen und identische Softwareprozesse einzuführen. 

In Zeiten, in denen ein permanenter Internetzugriff und die Technik in uneingeschränkter Mobilität vorhanden ist, haben sich die Erwartungen und vor allem auch die Ansprüche der Softwarekonsumenten grundlegend geändert. Die Unternehmen stehen ihrerseits und ihren Kunden gegenüber unter Zugzwang. Kurze und schnelle Reaktionszeiten beziehungsweise Änderungswünsche sind wichtiger und tragen mehr denn je zum wirtschaftlichen Erfolg bei. Und genau das muss die Software und die Menschen darum herum leisten können. Sei es bei der Informationsbereitstellung oder aber bei der Integration neuer Prozesse und Abläufe im Unternehmen. Dynamische Oberflächengestaltung und die Anpassung auf eigene Bedürfnisse sind mittlerweile Grundvoraussetzungen und der Anspruch an eine moderne und flexible Software.

Die Unternehmen sind schon lange nicht mehr bereit, für solche Prozesse und Anforderungen lange und teure Warte- und Einführungszeiten in Kauf zu nehmen oder aber auf einen halbjährlichen oder jährlichen Patch zu warten. Die Softwareentwicklung hat sich hier schon seit geraumer Zeit auf die Scrum-Methode eingestellt, mit der flexibler, schneller und kostengünstiger auf neue Anforderungen reagiert werden kann. 

In der Tat wird das klassische Wasserfallmodell – planen, bauen, testen und schließlich installieren – dem Tempo, das die Digitalisierung vorgibt, kaum noch gerecht. Vor allem das traditionelle Ein-Schritt-nach-dem-anderen-Prinzip hält mittlerweile niemand mehr für zeitgemäß. 

Knackpunkte in agilen Entwicklungsteams. Seit die Verfasser des »Agilen Manifests« im Jahr 2001 den klassischen Phasenmodellen wie Wasserfall und V-Modell den Kampf angesagt haben, erlebt die Softwareentwicklung eine tiefgreifende Veränderung. Mittlerweile ist Agilität fast zu einem Hype-Begriff geworden. Darüber gerät gelegentlich aus dem Blick, was die Methoden der klassischen Phasenmodelle tatsächlich leisten können und an welchen Stellen das ursprüngliche Dokument von 2001 aufgrund von Projekterfahrungen aus mehr als einer Dekade präzisiert werden sollte.

Die wenigsten bauen ihre Strukturen um. Ihnen gemeinsam ist, dass sie einzelne Schritte miteinander verweben; Teile der neuen Software werden bereits getestet, obwohl beziehungsweise weil andere noch gar nicht fertig sind. Fehler und Schwächen fallen so frühzeitig auf. 

Herausforderung dabei ist, dass diese neue Art zu entwickeln nur dann gut funktioniert, wenn das betreffende Unternehmen seine Organisationsstrukturen darauf einstellt, abteilungs- und hierarchieübergreifend an dem Projekt zu arbeiten. 

Abteilungsgrenzen und Hierarchien abschaffen. Abteilungsgrenzen und Hierarchien sollen so weit wie möglich ausgeschaltet werden, das heißt Entwickler, Fachabteilungen und Management müssen willens und in der Lage sein, auf Augenhöhe zusammenzuarbeiten. Idealerweise arbeiten dabei so viele Beteiligte wie möglich temporär in denselben Räumen. 

DevOps ist oder soll das neue Heilmittel sein. Bei DevOps handelt es sich um eine Verschmelzung der Begriffe Development und Operations. Es beschreibt einen Prozessverbesserungsansatz aus den Bereichen der Softwareentwicklung und System-administration. DevOps soll durch gemeinsame Anreize, Prozesse und eine effektivere und effizientere Zusammenarbeit der Bereiche Development, Operation und Qualitätssicherung ermöglichen. Mit DevOps soll die Qualität der Software, die Geschwindigkeit der Entwicklung und der Auslieferung sowie das Miteinander der beteiligten Teams verbessert werden.

 

Das klassische Wasserfallmodell – planen, bauen, testen und schließlich installieren – wird dem Tempo, das die Digitalisierung vorgibt, kaum noch gerecht. Neue Prozesse müssen direkt aus der Entwicklungsumgebung für den Testbetrieb bereitgestellt und bereits in der produktiven Umgebung gezielt einzelnen Usern zur Verfügung gestellt werden, um so einen Rollout stufenweise und/oder in einer Art Parallelbetrieb zu integrieren.

 

Weniger Komplexität, mehr Qualität. Das heißt mit der Scrum-Methode und mit der DevOps-Bewegung kommen diese Methoden nun auch im Betrieb zur Umsetzung. DevOps unterstützt das Technical Release Management, Software Configuration Management und Environment Management und dadurch auch die Übergabe einer Applikation von der Vorproduktion in eine Produktionsumgebung. 

Aktuelle Tools und Methoden ermöglichen es, die Komplexität einer Applikation sowie ihrer Abhängigkeiten einfacher zu handhaben und anfallende Tätigkeiten zu standardisieren. Auftretende Veränderungen werden von Beginn an berücksichtigt, wodurch sich das damit verbundene Risiko deutlich reduzieren lässt. Der DevOps-Ansatz hilft dabei, agile Methoden auf den IT-Betrieb zu übertragen und Standardmodelle für Softwareentwicklung und IT-Betrieb miteinander zu verbinden. Dadurch werden kürzere Release-Zyklen möglich und das Risiko von ungetesteten Elementen wird minimiert, da dieselben Verfahren im gesamten Softwareprozess identisch und ohne Brüche eingesetzt werden können. Den Kern von DevOps bilden die Menschen und die Art und Weise wie sie zusammenarbeiten. Langfristig profitieren davon alle Beteiligten: Vor allem der Endanwender erhält deutlich schneller die für ihn wichtigen veränderten Funktionen. 

Dabei bilden fünf Grundprinzipien das Gerüst der Management-Strategie: Culture, Automation, Lean, Measurement und Sharing. 

Culture

Als kulturelle Basis der Zusammenarbeit lassen sich gegenseitiges Vertrauen, stetiger Informationsfluss und eine anhaltende Bereitschaft zum Lernen beschreiben.

Automation

Für eine erfolgreiche Umsetzung ist die Automatisierung bestimmter Arbeitsvorgänge unabdingbar. Sie beginnt bei der Abbildung einfacher wiederkehrender Tätigkeiten und geht bis zur Vollautomatisierung von Aufbau und Betrieb ganzer Umgebungen.

Lean

Setzt auf folgenden Prinzipien auf: Vermeide Verschwendung, generiere Wert, schaffe Transparenz und betrachte die Prozessoptimierung ganzheitlich. Deswegen passt als agiles Vorgehen »Kanban« besser als »Scrum« zum DevOps-Ansatz.

Measurement

Um Qualität durchgängig zu sichern, sind einheitliche Bewertungskriterien wichtig. Es sollten nicht nur die gesamte Applikation und ihre Komponenten, sondern auch die dahinter liegenden Prozesse überwacht werden. Eine übergreifende kontinuierliche Verbesserung und für beide Seiten nachvollziehbare Metriken sind dabei unabdingbar.

Sharing

Die Bereitschaft, Wissen zu teilen, voneinander zu lernen und Erkenntnisse proaktiv mitzuteilen, sorgt für die notwendige Basis einer klaren Kommunikation und ist ebenfalls ein wichtiger Aspekt der DevOps-Strategie.

 

Flexibilität – Eine moderne ERP-Lösung gestattet den kompletten Zugriff auf Dialoge, Reports, Tabellen, Klassen und Methoden, auch auf den Standard-Quellcode. Dieser lässt sich release-sicher und release-kompatibel sowohl auf eigene Bedürfnisse und Prozesse anpassen und überlagern. Auch können neue Klassen und Methoden eingebunden werden. Ist die Technik, die Logik und das Prinzip verstanden, können extrem schnell und kostengünstig neue Anforderungen entwickelt, umgesetzt und auch produktiv geschaltet werden.

 

Wenn Betrieb und Entwicklung bei DevOps schon frühzeitig zusammenarbeiten, können diese voneinander lernen. Dementsprechend muss Raum geschaffen werden, der Fehler zulässt. Sonst wird sich kein Unternehmen trauen, diese Innovation zu erproben. Dabei spielt auch die verfügbare Zeit eine wichtige Rolle. Hier müssen ausreichende Ressourcen für die Einführung und den Lernprozess verfügbar sein. 

Auch Tools sind ein wichtiges Mittel zum Ziel. Unternehmen sollten ihre Mitarbeiter in den Entscheidungsprozess für die einzusetzenden Werkzeuge einbeziehen. Im Idealfall bestimmen sie diese sogar. Die passenden Werkzeuge zur Erledigung täglicher Aufgaben sorgen für Zufriedenheit. Je mehr das Unternehmen die DevOps-Kultur mitträgt, umso mehr wird sich auch die gesamte IT-Performance verbessern. Um nachhaltig Vorteile zu erzielen, ist es wichtig, dass alle gemeinsam an der kontinuierlichen Verbesserung beteiligt sind und sich ihr Arbeiten danach ausrichtet. Somit können agile Praktiken die IT-Organisation nachhaltig verändern. 

Was kann hier eine moderne und flexible ERP-Lösung leisten? Technik: Mit einer ERP-Lösung erhalten Sie den kompletten Zugriff auf Dialoge, Reports, Tabellen, Klassen und Methoden, auch auf den Standard-Quellcode. Diesen können Sie release-sicher und release-kompatibel sowohl auf eigene Bedürfnisse und Prozesse anpassen und überlagern, als auch neue Klassen und Methoden einbinden. Hierfür sind jedoch Schulungen der User von Nöten. Ist die Technik, die Logik und das Prinzip verstanden, können hier extrem schnell und kostengünstig neue Anforderungen entwickelt, umgesetzt und auch produktiv geschaltet werden. Parallelentwicklungen und in sich gekapselte Themen können so schon ohne das Warten auf den vollständigen Prozess eingesetzt werden.

Stellen- und Rollenprinzip: Neue Prozesse, Dialoge, etc. können direkt aus der Entwicklungsumgebung für den Testbetrieb bereitgestellt und dort auch funktional und inhaltlich getestet werden. Auch können diese bereits in der produktiven Umgebung gezielt einzelnen Usern zur Verfügung gestellt werden, um so einen Rollout stufenweise und/oder in einer Art Parallelbetrieb zu integrieren. 

Somit ist eine moderne und flexible ERP-Lösung durchaus in der Lage sich den zukunftsweisenden und immer schneller werdenden Abläufen anzupassen. 


Marco Volk,
Head of Marketing International,
Industrial Application Software GmbH
www.caniaserp.de

 

 

Bilder: © wacomka, rawpixel /shutterstock.com;
Industrial Application Software GmbH