Monkey Business - stock.adobe.co

So finden Unternehmen DevOps-Leitlinien, die zu ihnen passen

IT-Projekte funktionieren nicht ohne angemessene Kommunikation und Zusammenarbeit – hier kommen DevOps-Leitlinien ins Spiel. Wir erklären, worauf es ankommt.

Ein Softwareentwicklungsprojekt kann ein entmutigendes Unterfangen sein. Zeitpläne und Budgets sind immer knapp bemessen. Sicherheit, Konformität und Governance werden immer wichtiger, und ihre Anforderungen ändern sich ständig.

Entwicklungsteams fühlen sich unter Druck, auf schlanke und effiziente Weise zu innovieren und iterieren und die neuesten Tools und Technologien einzusetzen, um wettbewerbsfähige Software zu produzieren. Es gibt zahlreiche Gelegenheiten für Fehler und Konflikte, die ein Projekt dem Risiko kostspieliger Versäumnisse und Verzögerungen aussetzen – oder es gar zum Scheitern bringen.

Projektmanager und DevOps-Teams reagieren auf solche Risiken mit dem Einsatz von Leitlinien (guardrails). Einfach ausgedrückt, handelt es sich bei Leitlinien um eine Reihe von Regeln, Standards und Best Practices für die Entwicklungspipeline, von Coding und Erstellung bis hin zu Tests und Freigabe. Organisationen müssen Leitlinien gemeinsam entwickeln und ihnen im Voraus zustimmen. Sie geben den Beteiligten die Gewissheit, dass das Projekt ihren jeweiligen Bedürfnissen gerecht wird und dass die von den IT-Teams angewandten Prozesse zu sicheren und konformen Ergebnissen führen.

Doch welche Leitlinien sind erforderlich? Wo sollte die IT-Abteilung sie anwenden und wie kann sie diese so umsetzen, dass sich sowohl Manager als auch Entwickler damit wohlfühlen?

Wozu dienen die Leitlinien?

Wenn sie richtig konzipiert und implementiert sind, bringen Leitlinien DevOps-Teams und Unternehmen vier wesentliche Vorteile:

  1. Leitlinien leiten Verhaltensweisen in feste Bahnen. Leitlinien schaffen einen Raum, in dem Entwickler und Manager frei Entscheidungen treffen und agieren. Das schließt Entscheidungen außerhalb dieser Leitlinien nicht aus, doch solche Aktionen erfordern zusätzliche Diskussionen oder Genehmigungen.
  2. Leitlinien fördern die Zusammenarbeit. Leitlinien helfen allen Mitgliedern des Entwicklungsteams, sich mit denselben Zielen in dieselbe Richtung zu bewegen. So legen die Stakeholder fest, welches Ziel oder Problem das Projekt lösen muss, und die Entwickler definieren, wie dieses Problem zu lösen ist. Leitlinien schaffen eine Umgebung, in der Entwickler unabhängig Entscheidungen treffen können.
  3. Leitlinien ermöglichen schnellere Entscheidungen. Da Leitlinien Verhaltensweisen und Reaktionen begrenzen, verkürzen IT-Teams mit ihnen die Zeit, die sie zum Handeln oder Reagieren auf eine bestimmte Situation benötigen. Wenn beispielsweise Kodierungsstandards Merkmale für die Benennung von Variablen definieren, müssen sie nicht mehr lange über deren Namen nachdenken und verstehen die Arbeit ihrer Kollegen schneller.
  4. Leitlinien mindern das Risiko. Leitlinien tragen dazu bei, Fehler und Korrekturen zu reduzieren, was für Zeit und Geld spart. Gut ausgearbeitete und akzeptierte Leitlinien können die Projektgeschwindigkeit und -qualität erhöhen.

Wo sind DevOps-Leitlinien erforderlich?

Leitlinien in DevOps-Umgebungen nehmen verschiedene Formen an und dienen einer Vielzahl von Zwecken. Obwohl der Bedarf je nach Größe und Zweck des Projekts sowie der Art des Unternehmens stark variiert, gibt es vier allgemeingültige Bereiche, in die DevOps-Richtlinien sich meistens enteilen lassen.

Kodierung

Leitlinien für die Codequalität leiten die Entwickler an, klaren, präzisen, effizienten, sicheren und wartbaren Code zu erstellen. Solche Leitlinien stellen sicher, dass das gesamte Entwicklungsteam sauberen Code erstellt – auf die gleiche Art und Weise, unter Einhaltung gemeinsamer Standards – und dass jeder Entwickler den von anderen Entwicklern im Projekt erstellten Code lesen und bearbeiten kann. Dies reduziert Programmierfehler und spart Zeit und Geld.

Prozess

Prozess-Leitlinien leiten den iterativen Zyklus und definieren prozessbezogene Anleitungen, einschließlich Repository-Management (zum Beispiel Versionskontrollen), Testanforderungen, empfohlene Tool-Sets, Freigabe- und Einsatzkriterien sowie Dokumentation. Diese Leitlinien tragen zu reibungslosen und konsistenten Iterationszyklen bei, so dass Projekte im Zeit- und Kostenrahmen bleiben.

Geschäftlich

Geschäftliche Leitlinien beziehen sich auf die geschäftlichen Aspekte des DevOps-Projekts. Diese Leitlinien legen beispielsweise die Projektziele und -anforderungen fest, setzen Budgets und deren Bedingungen, weisen Rollen und Verantwortlichkeiten zu, wie zum Beispiel das Zuweisen von Projektmanagern und Teamleitern, und legen Kommunikations- und Kooperationsziele fest, wie zum Beispiel Problemverfolgung und regelmäßige Projektbesprechungen mit Entwicklern und Stakeholdern.

Besondere Umstände

Projekte können besondere Anforderungen aufweisen, wie zum Beispiel Echtzeitfunktionen mit geringer Latenz für militärische oder industrielle Anwendungen, oder sie unterliegen besonderen gesetzlichen Anforderungen, wie zum Beispiel dem Datenschutzstandard der Kreditkartenindustrie oder für Gesundheitseinrichtungen. Solche Umstände erfordern zusätzliche Leitlinien in der Kodierung, in den Prozessen und im Unternehmen, um das Einhalten der Vorschriften zu gewährleisten.

Beispiele für DevOps-Leitlinien

Es gibt viele Beispiele für Leitlinien, die DevOps-Projekten Form und Richtung geben. Betrachten Sie eine Vielzahl von Beispielen in den drei Hauptkategorien: Kodierung, Prozess und Geschäft.

Allgemeine Leitlinien für die Codequalität

  • Codestandards regeln die Struktur, Zeichensetzung und die Konventionen für die Benennung von Variablen anhand der Kriterien für das Erstellen von Algorithmen und Modulen.
  • Dokumentationsstandards legen fest, wie Software zu dokumentieren und für Entwickler und Benutzer vorzubereiten ist, einschließlich der Verwendung von Codekommentaren und Dokumentationsmitteln wie webgesteuerten Wikis oder herkömmlichen Textdateien.
  • Leitlinien für Schwachstellen und Sicherheit legen Anforderungen für die Code-Sicherung fest - in der Regel in Verbindung mit Codestandards – wie zum Beispiel Anmeldeinformationen und Datenverschlüsselung.
  • Leitlinien sollten außerdem den Einsatz von Open-Source-Code in kommerziellen Projekten einschränken oder eine sorgfältige Überprüfung des Codes anhand anderer Codequalitätsstandards vor dem Einbinden von Open-Source-Code vorschreiben.

Typische Leitlinien für die Softwareentwicklung

  • Machen Sie detaillierte Angaben zu den spezifischen Tools, die Entwickler für das Projekt nutzen. Die Liste sollte mehrere Tools für die gleichen Aufgaben enthalten, zwischen denen Entwickler wählen – zum Beispiel eine Testplattform für testgetriebene Entwicklung und eine andere Testplattform für Integrations- oder Leistungstests – aber alle Tools sollten über die gesamte Tool-Kette hinweg interoperabel sein.
  • Verwenden Sie Teststandards, um die Anzahl und die Art der für das Projekt erforderlichen Tests zu definieren, welche Kriterien bestimmen, ob das Projekt den Test besteht und dass automatisierte Tests den Vorrang gegenüber manuellen erhalten sollten.
  • Implementieren Sie einen regelmäßigen oder wiederkehrenden Post-Mortem-Prozess am Ende eines jeden Iterationszyklus oder Sprints, bei dem die Entwickler Probleme oder Herausforderungen besprechen.
  • Verfolgen und definieren Sie verschiedene Metriken, Berichte und Warnungen für die Entwicklungsarbeit, wie zum Beispiel das Nachvollziehen von Fehlerraten. Verfolgen Sie auch, wie lange Teams für die Fehlerbehebung brauchen und regeln Sie das Bewerten der Codequalität. Unternehmen benötigen Metriken, um die Leistung im Laufe der Zeit zu verstehen, und Entwicklungsmetriken liefern objektive Einblicke in die Effektivität der Entwicklung.

Geschäftliche Leitlinien

  • Legen Sie klare Projektleitungs- und Teamstrukturen fest. Erarbeiten Sie beispielsweise ein DevOps-Organigramm, um die Verantwortlichkeiten klar zu definieren.
  • Nehmen Sie eine aktive Rolle beim Festlegen von Projektanforderungen und Änderungskriterien ein. Solche Leitlinien schreiben beispielsweise zu Beginn des Projekts eine vollständige Reihe von Zielen vor und klare Grenzen für das Hinzufügen neuer Ziele oder User Stories, um eine schleichende Ausweitung des Projektumfangs zu verhindern.
  • Budgets und unvorhergesehene Ausgaben sollten eine klare Finanzierung vorsehen, um die Kosten des Projekts sinnvoll einzuschätzen, sowie bereits vorab Grenzen für zusätzliche Ausgaben ohne klare Diskussion und Genehmigung zu bestimmen.
  • Geschäftliche Leitlinien legen außerdem fest, wie die Projektbeteiligten Metriken zur Bewertung des Fortschritts sammeln und verwenden.

Wie man DevOps-Leitlinien implementiert und durchsetzt

Leitlinien sind keine unveränderlichen Regeln, sondern eine Reihe von Präferenzen und bewährten Verfahren. Jedes Unternehmen und jedes Entwicklungsteam ist anders, und folglich gibt es keine einheitliche Methode zum Implementieren und Durchsetzen von DevOps-Leitlinien.

Leitlinien sind in der Regel das Ergebnis von Erfahrung und einer tiefreichenden Recherche: Führen Sie Aktivität X in Prozess Y durch; verwenden Sie Tool A, um Ergebnis B zu erzielen. Leitlinien sind oft eine Reaktion auf Fehler in der Vergangenheit, was bedeutet, dass sie sich im Laufe der Zeit weiterentwickeln. Entwickler und Führungskräfte sind sich ihres Wertes bewusst, und die meisten Leitlinien lassen sich ohne große Schwierigkeiten umsetzen, sobald die Beteiligten einen Konsens gefunden haben.

Oft reicht es aus, Leitlinien in einem informellen Dokument festzuhalten. Leitlinien, die sich auf Tools (zum Beispiel ein System zur Fehlerverfolgung) oder Messgrößen (zum Beispiel die Überwachung von Fehler- oder Nacharbeitsraten) stützen, erfordern einen formelleren Ansatz. Erfahrene Teams wissen, dass die Richtlinien zu ihrem Vorteil sind.

Auch die Durchsetzung kann je nach Unternehmen, Projekt, Art der Leitlinie und Schwere des Verstoßes ein breites Spektrum an Maßnahmen abdecken. Wenn zum Beispiel ein Entwickler versehentlich eine geringfügige Verletzung der Leitlinien für die Codequalität begeht, kann dieser einfache Fehler leicht durch ein Peer Review oder einen Code Checker korrigiert werden. Bei einem Entwickler, der regelmäßig gegen die Codequalitätsstandards verstößt, kann jedoch ein Eingreifen des Teamleiters oder Managers in Form von zusätzlichen Schulungen und anderen Maßnahmen erforderlich sein.

In ähnlicher Weise fordern Stakeholder manchmal im Laufe des Projekts zusätzliche Features und Funktionen, wie zum Beispiel User Stories. Leitlinien setzen zwar Grenzen für solche Ergänzungen – wegen der zusätzlichen Entwicklungszeit und Kosten, die neue Funktionen erfordern – aber diese Grenzen sind selten absolut. Leitlinien müssen ein gewisses Maß an Veränderungen zulassen. Häufige und bedeutende Änderungen machen jedoch oft eine Neubewertung des Projektumfangs, des Zeitplans und des Budgets erforderlich.

Die effektivsten Leitlinien werden im Rahmen von Kooperationsgesprächen entwickelt, bei denen die Unternehmensleitung Manager und Entwickler einbezieht, um eine Reihe von Richtlinien auszuarbeiten und zu vereinbaren, die sowohl Klarheit über den Zweck als auch die Flexibilität bieten, neue Ideen zu erkennen und darauf zu reagieren. Sobald sich ein DevOps-Team auf eine Reihe von Leitlinien einlässt – oder zumindest die Notwendigkeit dafür versteht – hat das Projekt bessere Erfolgschancen.

Erfahren Sie mehr über IT-Berufe und Weiterbildung