DevOps lässt sich als agiles Zusammenspiel zwischen Entwicklung und IT-Betrieb beschreiben. Ziel ist die Vereinigung von innovativer und schneller Entwicklung mit den Geboten des IT-Betriebs, wie Vorhersagbarkeit, Stabilität und Kontrolle zu wahren.

Wenn Entwicklung und IT-Betrieb nicht zusammen an einem Strang ziehen, entstehen viele Probleme. Kunden finden klaffende Lücken, wichtige Warnzeichen werden übersehen und im Extremfall steht die Kommunikation still.

Dieser Artikel basiert auf Untersuchungen von Gene Kim, The Three Ways: The Principles Underpinning DevOps. Die drei Leitsätze beschreiben die Werte und die Philosophie der Prozesse und Best Practices, die allen DevOps-Prinzipien zugrunde liegen. Weiter betrachten wir noch einige nützliche Add-ons für Atlassian-Werkzeuge, die Sie bei der Umsetzung der Prinzipien unterstützen können.

Leitsatz 1: Systemdenken

"The First Way emphasizes the performance of the entire system, as opposed to the performance of a specific silo of work or department. DevOps transcends departments and showcases the overall value to the customer."
– Gene Kim

Immer daran arbeiten, den Flow zu verbessern.

Die Entwicklungsabteilung erstellt Produkt-Inkremente her und stellt diese dem Betrieb zur Verfügung. Der erste Leitsatz dreht sich um Umdenken: Weg von beschränkten Zielsetzen und Handeln innerhalb einer Abteilung hin dazu, das ganze System aus Sicht des Kunden zu betrachten. Wird Systemdenken erfolgreich angewandt, so wird ein bekannter Defekt nie an andere Abteilungen durchgereicht und der Nutzen für Ihre Kunden steigt und Ihre Kosten sinken.

Denken Sie daran, jedes System ist unterschiedlich. Unterschiedliche System bringen unterschiedliche Komplexität mit sich. Um schnellstmöglich zu Systemdenken zu gelangen, ist es notwendig, diese Komplexität zu reduzieren. Das kann erreicht werden, indem man den Fluss zwischen dem wertschöpfenden Entwicklungsteam und der an den Kunden ausliefernden Betriebsabteilung verbessert.

Mithilfe von Add-ons wie Hiptest for JIRA lässt sich der Arbeitsfluss verbessern und effektiv verhindern, dass Defekte weitergereicht werden. Hiptest ist eine kollaborative Test-Management-Plattform, die BDD (behavior-driven development) unterstützt und sich nahtlos in Ihre Continuous Delivery-Prozesse einfügt. Diese Erweiterung ermöglicht ungeahnte Sichtbarkeit bezüglich Ihrer Tests direkt in JIRA-Vorgängen und auf Boards. Hiptest ist ein Open Source-Publisher, es lassen sich Scripts für JUnit, Cucumber, Qunit, Jasmine, RSpec und weitere Test-Frameworks finden oder selbst erstellen.

Leitsatz 2: Feedbackschleifen

"The goal of almost any process improvement initiative is to shorten and amplify feedback loops so necessary corrections can be continually made."
– Gene Kim

Kommunikation ist der Schlüssel zu erfolgreicher Zusammenarbeit

Indem man das Feedback zwischen der Entwicklung, dem Betrieb, Unterstützung und Kunden verbessert, können alle Teams die eigenen Auswirkungen ihres Handelns auf das Gesamtziel verstehen. Klarheit in der Kommunikation zwischen Teams hilft, Hürden zu überwinden, die Produktivität zu verbessern und Konflikte zu vermeiden. Arbeiten Teams zusammen in den gleichen Feedback-Schleifen, sind Unterbrechungen der Kommunikation ein Ding der Vergangenheit.

Sonar for Bitbucket Server integriert SonarQube und bringt eine Vielzahl nützlicher Metriken und Fehlerfindungs-Werkzeugen direkt zu Pull Requests in Bitbucket Server. Regelverstöße gegen Style-Guidelines oder doppelter Code wird direkt in der Diff-Anzeige von Bitbucket Server angezeigt. Da nur die geänderten Zeilen eines Pull Requests angezeigt werden, können sich die Reviewer auf genau den Code konzentrieren, der auch in den Zielzweig überführt werden soll.

Es kann für jedes von SonarQube erkannte Problem mit nur einem Klick ein Bitbucket Server-Task angelegt werden, damit das Korrigieren nicht vergessen wird. Metriken aus Sonar wie technische Schuld werden in der Übersicht des Pull Requests angezeigt. Das Add-on liefert Merge-Checks, mit welchen verhindert werden kann, dass neuer Code, der den in Sonar eingestellten Qualitätsstandards nicht genügt, in Zweige integriert werden kann.

Leitsatz 3: Kontinuierliches Lernen und Experimentieren

"Creating a culture that fosters two things: continual experimentation, which requires taking risks and learning from success and failure; and understanding that repetition and practice is the prerequisite to mastery."
– Gene Kim

Probleme schnell identifizieren und korrigieren

Fehler sollten nie gefeiert werden. Trotzdem ist es wichtig, ein Umfeld zu erschaffen, in welchem Fehler schnell und einfach behoben werden können und für die Zukunft gelernt werden kann, damit die Probleme nicht erneut auftreten und man für den schlimmsten Fall gerüstet ist.

Mit Raygun für HipChat Server ist es möglich, auftretende Fehler in Ihrer Anwendung frühzeitig zu erkennen. Sobald ein Fehler auftritt, wird in Echtzeit eine Nachricht in einen HipChat-Raum abgesetzt. Mit intelligenter Gruppierung und vollständigen Stacktraces wird die Fehlerfindung ein Leichtes. Egal ob Ihr Code in einem Rechenzentrum oder auf Millionen von mobilen Endgeräten läuft – mit Raygun erhalten Sie schnellstmöglich genau die Informationen, die Sie zum Beheben von Bugs benötigen.

Die besten IT-Betriebsteams müssen überaus organisiert und effizient vorgehen, damit die Zeitpläne für Projekte eingehalten werden können. Mit den drei DevOps-Leitsätzen von Gene Kim und Marketplace-Add-ons können Sie die Zusammenarbeit und Kommunikation Ihrer Teams stärken und Ihr Business agiler machen.

Das interessiert Sie?

Dann sind wir als Atlassian Platinum Partner für Sie da.

[/jbox]