Skip to main content

DevOps hat sich zu einer essenziellen Philosophie entwickelt, die die Kluft zwischen Softwareentwicklung und IT-Betrieb überbrückt. Es geht über den bloßen Einsatz von DevOps-Tools hinaus. Ein erfolgreiches DevOps-Team beschleunigt nicht nur den Lieferprozess, sondern stellt auch Qualität und Zuverlässigkeit sicher. Die Schaffung eines solchen Teams erfordert jedoch eine harmonische Verbindung von Tools, Kultur, Prozessen, Zusammenarbeit und mehr. Was sind die entscheidenden Komponenten eines erstklassigen DevOps-Teams, und wie können Unternehmen diese für optimale Ergebnisse integrieren? Im Rahmen dieser Serie hatten wir das Vergnügen, Dylan Etkin, Mitgründer und CEO von Sleuth, zu interviewen.

Hallo Dylan – können Sie uns Ihre Vorgeschichte erzählen? 

Ich begann meine Karriere als Softwareentwickler. Ich hatte das Glück, als 20. Mitarbeiter zu Atlassian, einem kleinen Startup, zu stoßen. Ich verbrachte zehn Jahre bei Atlassian, lernte sehr viel und konnte beobachten, wie das Unternehmen von 20 auf 1200 Mitarbeiter wuchs. Ich war einer der ersten drei Entwickler bei Jira, der erste Jira-Architekt und leitete als Engineering Lead das Bitbucket-Team, wobei ich das Produkt von 40.000 auf 2 Millionen Nutzer brachte. 

Want more from The CTO Club?

Create a free account to finish this piece and join a community of CTOs and engineering leaders sharing real-world frameworks, tools, and insights for designing, deploying, and scaling AI-driven technology.

This field is for validation purposes and should be left unchanged.
Name*

Ich verließ Atlassian und schloss mich dem kleinen Startup Statuspage an. Ein Jahr später wurde Statuspage von Atlassian übernommen, und ich fand mich erneut im Mutterschiff wieder. Nach drei Jahren, in denen ich dieses Team bei Atlassian leitete, beschloss ich, mich selbstständig zu machen und gründete Sleuth, um meine Leidenschaft, effiziente Engineering-Teams aufzubauen, in ein Produkt zu verwandeln.

Ich war schon immer von Entwickler-Tools fasziniert und davon, Teams dabei zu helfen, effizient und lernfähig zu sein.

Wem verdanken Sie Ihren Erfolg?

Viele Menschen haben mich auf meinem Weg unterstützt. Je älter ich werde, desto mehr merke ich, wie besonders mein Netzwerk gewachsen ist und wie offen alle sind, wenn man sie um Hilfe bittet.

Ein Beispiel, das besonders heraussticht, ist John Kodumal, Mitgründer und CTO von LaunchDarkly. John und ich waren Kollegen bei Atlassian. Als er LaunchDarkly gründete, war er immer offen, über seine Startup-Erfahrungen zu sprechen.

Als ich begann, mich für die Gründung von Sleuth zu motivieren, unterstützte er mich auf jeder Ebene. Vom Austausch von Ideen und offenen Gesprächen über das weitere Vorgehen bis hin dazu, unser erster Kunde zu werden – John hat mich auf meinem gesamten Weg tatkräftig unterstützt. 

Können Sie drei Stärken, Fähigkeiten oder Eigenschaften mit uns teilen, die Ihnen geholfen haben, diesen Punkt in Ihrer Karriere zu erreichen? Wie können andere diese Bereiche bei sich selbst gezielt fördern? 

  1. Beharrlichkeit. Fähigkeiten und Intelligenz bringen einen nur bis zu einem gewissen Punkt. Das wiederholte Angehen eines Problems ist deutlich wirkungsvoller. Für mich hat sich Erfolg vor allem durch Beharrlichkeit eingestellt, selbst nach mehreren Misserfolgen.
  2. Detailgenauigkeit. Diese Eigenschaft ist mir immer leicht gefallen. Als Ingenieur ist es eine wesentliche Fähigkeit, die es ermöglicht, anstehende Aufgaben erfolgreich und herausragend zu erledigen. Gerade im Startup-Umfeld ist Detailgenauigkeit noch wichtiger. Wenn man ein Produkt von der Vision zur Realität führt, entscheidet die Liebe zum Detail zwischen einem mittelmäßigen Produkt und etwas, das die Nutzer begeistert.
  3. Delegation. So sehr man sein Unternehmen auch in Eigenregie führen möchte, verwandelt sich ein Startup sehr schnell in die Aufgabe, Menschen einzustellen, die in vielen Bereichen klüger sind als man selbst, und bereitwillig Aufgaben abzugeben, damit andere erfolgreich sein und das Unternehmen voranbringen können. 

An welchen Fähigkeiten arbeiten Sie aktuell persönlich?

Ich arbeite immer an vielen Dingen gleichzeitig – es mangelt nie an Fähigkeiten, die ich verbessern kann. Besonders im Fokus steht für mich derzeit, wie man das Beste aus seinem Team herausholt. Jeder Mensch ist unterschiedlich, und herauszufinden, wie man ein Umfeld schafft, in dem jeder Einzelne sein Bestes leisten kann, ist eine große Herausforderung.

Lassen Sie uns über erfolgreiche DevOps-Teams sprechen. Welche zentralen Ziele könnte ein DevOps-Team auf einer digitalen Transformationsreise identifizieren?

DevOps-Teams sind dafür verantwortlich, Arbeit effizient von der Idee bis zum erfolgreichen Launch in Produktion zu bringen. Das Hauptziel eines DevOps-Teams ist es daher, die Tools, Prozesse und die Kultur zu schaffen, die es den einzelnen Entwicklern ermöglichen, Aufgaben schnell vom Konzept in den produktiven Einsatz zu überführen. 

Ziele, die das Erreichen dieses Hauptziels unterstützen, sind:

  • Möglichkeit, Aufgaben in kleinen Losgrößen zu definieren
  • Eine vollautomatisierte CI/CD-Pipeline
  • Observability und Vorproduktionsumgebungen, die als Sicherheitsnetz dienen, sodass Entwickler mit Vertrauen Änderungen in Produktion einbringen können
  • Ein klarer Prozess für den Umgang mit Fehlern. Jeder weiß, wie Fehler erkannt werden und das System wieder in einen funktionsfähigen Zustand kommt
  • Unterstützung durch das gesamte Unternehmen, inklusive Produktmanagement, Marketing, Support, Vertrieb und Geschäftsführung. Teams können eine DevOps-Transformation nicht ohne die Unterstützung der gesamten Organisation erfolgreich stemmen

Gibt es Herausforderungen oder typische Fallstricke, die DevOps-Teams bedenken sollten?

Es gibt zu viele, um sie alle aufzuzählen. Besonders hervorzuheben ist jedoch die Erkenntnis, dass die Anwendung von DevOps bedeutet, mehr Verantwortung auf die Entwickler zu übertragen. Das passiert nicht zum Nulltarif, und wenn nicht in Prozesse und Tools investiert wird, besteht das Risiko, ein System zu schaffen, das Entwicklern keine Zeit mehr für ihre eigentliche Arbeit lässt.

Sie laufen außerdem Gefahr, eine Umgebung zu schaffen, in der Entwickler:innen schnell ausbrennen. Sie müssen bedenken, dass Menschen nur eine begrenzte Kapazität haben, daher sollten Sie darauf achten, was Sie implementieren, um Entwickler:innen bei der Arbeit nach DevOps-Prinzipien zu unterstützen.

Wie können effektive Zusammenarbeit und Kommunikation zwischen Teammitgliedern die Produktivität und den Erfolg eines DevOps-Teams steigern, und welche Praktiken können dies fördern?

Kommunikation und Zusammenarbeit sind erforderlich, um DevOps zu praktizieren. Einige wichtige Praktiken sind unter anderem:

  • Verwendung eines Issue-Trackers für alle Aufgaben und Einbindung des Kontexts und der Informationen in Commits und Code-Reviews
  • Code-Review mittels Pull Requests
  • Bereitstellung einer Echtzeit-Chatlösung wie Slack für Ihr Team
  • Team-basierte Deploy-Benachrichtigungen in Slack oder Ihrem ChatOps-Tool
  • Slack-basierte Freigaben für die Übernahme von Änderungen aus der Vorproduktionsumgebung in die Produktion
  • Benachrichtigungen für einzelne Entwickler:innen, wenn ihre Änderungen ausgeliefert werden und wenn sie Fehlerbedingungen überschreiten
  • Transparenz für das gesamte Team über Vorfälle und Phasen, in denen Deployments zurückgestellt werden sollten
  • Team-Demos mit PMs und anderen Stakeholdern
  • Tägliche Stand-ups

Welche Rolle spielt CI/CD im DevOps-Bereich, und welche Best Practices zur Implementierung von CI/CD-Pipelines sorgen für einen reibungslosen und zuverlässigen Software-Release-Prozess?

CI/CD ist wohl die wichtigste Tooling-Komponente zur Unterstützung eines Teams, das DevOps praktiziert. Im Idealfall verfügen Teams über eine vollständig automatisierte Deployment-Pipeline, die in angemessener Zeit abläuft, sodass Entwickler:innen nicht lange warten müssen und ihre Änderungen in die Produktion bringen können. Es ist wichtig, CI und Testausführung als integralen Bestandteil dieser idealen Pipeline einzubinden. Das Ausführen einer robusten Testsuite als Gate für das Deployment ist Ihr wichtigstes Sicherheitsnetz, um sicherzustellen, dass nur gute Änderungen ausgeliefert werden. 

Wenn Teams nur einmal pro Woche deployen möchten, ist es möglich, eine Deployment-Pipeline zu betreiben, die nicht vollautomatisiert ist. Möchte Ihr Team jedoch mindestens einmal täglich ausliefern, müssen Sie vollständig automatisiert sein, und das Deployment darf kein besonderer Vorgang mehr sein.

Wie trägt die Förderung einer DevOps-Kultur und Denkweise zum Gesamterfolg eines DevOps-Teams bei, und mit welchen Strategien können Organisationen diese Kultur in ihren Entwicklungs- und Betriebsteams verankern?

Für Entwickler:innen:

  • Wöchentliche oder zweiwöchentliche Sprint-Planungen helfen, Aufgaben passend zu skalieren und eine gemeinsame Vereinbarung darüber zu treffen, wie Aufgaben in dieses Zeitfenster passen
  • Automatisierte CI-Prüfung des Release-Branches und teamweite Transparenz über die Ergebnisse, um den Release-Build stabil zu halten
  • Pflegen einer klar definierten “Bereitschaftsrolle” im Team, bei der klar ist, wer für die Stabilität des Release-Branches verantwortlich ist
  • Eine der besten Methoden, um unfertige Arbeit ausliefern zu können, ist die Einführung von Feature-Flagging.
  • Sehr effektiv kann es auch sein, jeden Pull Request einzeln auszuliefern. Dieses Muster erlaubt es, im Rahmen der Code-Review auch die Batchgröße von Änderungen zu prüfen. Ist ein Batch zu groß, können andere Teammitglieder bitten, die Änderung in mehrere Pull Requests aufzuteilen.
  • Ausreichend Metriken und Verständnis der Normwerte haben, um ein Deployment verifizieren zu können
  • Verstehen, wie man im Zweifel eskaliert und Rollbacks durchführt
  • Eigenständig ihre eigenen Änderungen in alle verwalteten Umgebungen deployen können – schnell und zuverlässig

Für PMs und Designer:innen:

  • Einbinden der PMs in den Planungsprozess, damit sie die Bedürfnisse der Kund:innen bei inkrementellen Deployments einbringen können.
  • Implementieren von Feature Flags, wodurch Code bereits ausgerollt, jedoch noch nicht für Kund:innen sichtbar sein kann. Das verschafft PMs die benötigte Flexibilität und ermöglicht Entwickler:innen gleichzeitig schnelleres Vorgehen.
  • Ein vereinbartes Feedback- und Rework-Verfahren, z. B. ein Issue, das direkt einer:m Entwickler:in zugewiesen wird. Eine Strategie, um unfertige Arbeit zu lösen, ist die Einführung von Sechs-Wochen-Zyklen.

Für Engineering Managers:

  • Prozesse implementieren, die Kommunikation fördern, wie regelmäßige Planungsmeetings, Code-Reviews und wöchentliche Demos.
  • Sich verpflichten, Entwicklungszeit für die Stabilität des Release-Branches einzuplanen. Den reibungslosen Codefluss sicherzustellen, bedeutet auch, in dieses neue System zu investieren. Wenn das Team einen Engpass identifiziert, sollte die Führungskraft den Weg freimachen, um ihn zu beseitigen (z. B. Wiederherstellen von CI-Tests, wenn deren Zuverlässigkeit unter 80 % liegt).
  • Tools einführen, mit denen Sie kontinuierlich DORA-Metriken messen können

Für Execs:

  • Stellen Sie die Accelerate-Metriken für Ihre Projekte bereit und machen Sie sie Ihren Führungskräften im Kontext zugänglich.
  • Stellen Sie Ihre Betriebszeit (Uptime) oder eine entsprechende Kennzahl für Ihre Anwendungen bereit.
  • Geben Sie Ihrem Führungsteam dieselben Informationen auf hoher Ebene zu größeren Funktionalitätsbereichen, die ausgeliefert werden.
  • Wenn Sie eine Führungskraft sind, verstehen Sie, dass Veränderung Zeit braucht. Seien Sie konsequent bei der Verantwortung Ihrer Teams für die übergeordneten Ziele, aber flexibel, wie diese erreicht werden. Vertrauen Sie – aber überprüfen Sie.
  • Nehmen Sie sich die Zeit, Ihrer Organisation zu erklären, wie Sie Ihren Kunden Mehrwert liefern. Erklären Sie, wie die schrittweise Auslieferung funktioniert, welche Dinge mit einem Big Bang-Ansatz veröffentlicht werden und wie diese Arbeitsweise es Ihnen ermöglicht, schneller Werte für Kunden zu schaffen.

Was sind die wesentlichen Bestandteile eines erfolgreichen DevOps-Teams?

1 . Das Team arbeitet zusammen in einer schuldzuweisungsfreien Kultur.

Softwareentwicklung ist ein Teamsport. Zwischenfälle und Fehler sind Gelegenheiten, als Team zu lernen, nicht Gründe für Schuldzuweisungen. Eine schuldzuweisungsfreie Kultur kann über Vorfälle hinausgehen. Bei der Festlegung von Verbesserungszielen für das Team kann der Fokus darauf liegen, die Ergebnisse zu steigern, statt Einzelpersonen oder Prozesse dafür verantwortlich zu machen, dass Dinge nicht dort sind, wo sie sein sollten.

2 . Deployments sind ein "Nicht-Ereignis".

Um in kleinen Schritten ausliefern und schnell auf Zwischenfälle oder Kundenfeedback reagieren zu können, muss die Auslieferung einfach sein und keine Angst oder Unsicherheit hervorrufen. Vertraut ein Team seinen Deployment-Prozessen nicht – oder dauern sie zu lange, beinhalten manuelle Arbeitsschritte – entstehen Unsicherheit und Zögern, die den Übergang zu DevOps verhindern.

3 . Entwickler sind individuell befähigt, Änderungen von der Idee bis zur zuverlässigen Produktionseinführung zu begleiten. DevOps funktioniert, wenn die Verantwortung für den gesamten Ablauf vom Konzept bis zur Produkteinführung in die Hände der Entwickler gelegt wird. So kann Ihr Team Arbeit in kleine, überschaubare Pakete teilen und dem Kunden schnell in kleinen Schritten Mehrwert liefern.

4 . Das Team verfügt über Sicherheitsnetze wie Observability und Fehlermaßnahmen, die das Vertrauen schaffen, schnell voranzugehen. Die Zeiten, in denen "schnell vorankommen und Dinge kaputtmachen" galt, sind vorbei. Heute muss schnell UND verlässlich gearbeitet werden. Dafür braucht es automatisierte Sicherheitsnetze.

5 . Die gesamte Organisation verfolgt einen DevOps-Workflow.

Welche aufkommenden Trends sehen Sie im Bereich DevOps, die künftig die Strategien zur digitalen Transformation maßgeblich beeinflussen könnten?

Das mag derzeit wie eine offensichtliche Antwort wirken, aber KI-Tools verändern bereits jetzt die Arbeit von Entwicklern und werden in Zukunft sicherlich großen Einfluss darauf haben, wie DevOps umgesetzt wird. Künstliche Intelligenz wird mindestens genutzt werden, um Fehler und Ausfälle auf eine Weise zu erkennen und zu identifizieren, wie es heute noch nicht möglich ist.

Wenn KI alle ihre Versprechen einlöst, wird sie die heutigen komplexen Deployment- und Test-Pipelines vollständig ersetzen.

Abonnieren Sie den Newsletter des CTO Clubs für weitere Einblicke, Zusammenfassungen, Q&As und mehr!