Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Continuous Delivery – autonome Teams arbeiten a...

Continuous Delivery – autonome Teams arbeiten an gemeinsamen Zielen

Inhalt: Die Migration in die Cloud zwingt uns dazu, über vieles nachzudenken, was bisher selbstverständlich war und viel zu lange nicht hinterfragt wurde.

Wir als Hermes Germany haben uns entschlossen, Continuous Delivery als Möglichkeit zu nutzen, möglichst schnell und risikoarm Mehrwerte zu liefern.

Wie aber führt man diesen Ansatz nicht nur für eine Anwendung ein, sondern für alle? Wie erkennt man, welches Team wie weit ist? Wie sorgt man dafür, dass die Teams an dem Wissen der anderen partizipieren?

Wir haben dazu eine Community of Practise gegründet und berichten von unseren Ansätzen und Erfahrungen.

Katja Haase, Hermes Germany
Stephan Stapel, Hermes Germany

Hermes Germany GmbH

August 24, 2018
Tweet

More Decks by Hermes Germany GmbH

Other Decks in Technology

Transcript

  1. Inhalt 01 Ein kurzer Überblick über Hermes Germany 02 Was

    ist Continuous Delivery? 03 Herausforderungen bei der Einführung 04 Unser Lösungansatz 05 Ausblick
  2. Hermes Germany ist der zweitgrößte Paket-Logistiker Deutschlands. • Gegründet 1972.

    • Wir stellen derzeit etwa 400 Millionen Pakete pro Jahr zu. • Neben Privatkunden sind unsere Hauptkunden Otto, Amazon, H&M, Zalando.
  3. Den Teufelskreis durchbrechen mit Continuous Delivery Veränderung Zeit Große Veränderungen/

    viel Code = große Risiken Veränderung Zeit Enterprise IT klassisch Continuous Delivery Kleine Veränderungen = Weniger Risiken, mehr Prozess-Sicherheit Feedback Feedback
  4. Automatisierung der Pipeline – Evolutions-Stufen 10 Continuous Deployment Continuous Delivery

    Continuous Integration (nach: ZekeLabs Technologies) Push Build Funktions- Tests Integrations- Tests Change Management Deploy to Production Automatisiert Automatisiert Automatisiert Automatisiert Automatisiert Push Build Funktions- Tests Integrations- Tests Change Management Deploy to Production Automatisiert Automatisiert Automatisiert Manuell Manuell Push Build Funktions- Tests Integrations- Tests Automatisiert Automatisiert Automatisiert
  5. Automatisierung der Pipeline – Industrialisierung der Abläufe als wichtiger Erfolgsfaktor

    11 Automatisierung von aufwändigen und wiederkehrenden Aufgaben Software-Qualität steigt durch abgestimmte Tool-Kette und permanente Transparenz Steigerung der Produktivität des Produkt-Entwicklungsteam Continuous Deployment Push Build Funktions- Tests Integrations- Tests Change Management Deploy to Production Automatisiert Automatisiert Automatisiert Automatisiert Automatisiert Fokus und Wirksamkeit
  6. Warum ist Continuous Delivery für uns jetzt möglich und relevant?

    Wir haben die Chance • Große Teile der Anwendungslandschaft werden neu gebaut • Durch die Migration in die Cloud stehen uns die notwendigen Voraussetzungen zur Verfügung Die Organisation passt endlich • Wir haben die richtigen Leute eingestellt • Wir sind nicht mehr interner IT-Dienstleister sondern gleichberechtigter Partner von unserem Business Das methodische Verständnis ist gereift • Wir versuchen uns seit langem an agiler Arbeitsweise • Bewusstsein ist vorhanden für iterative Vorgehensweisen • MVP existiert zumindest als Begriff
  7. Herausforderungen bei der Einführung 1. Unterschiedlicher Fokus in der Entwicklung

    Stabilität Time 2 Market Kosten 3. Unterschiedliche Technologien verschiedene IT-Epochen Weites Spektrum 2. Unterschiedlicher Reifegrad der Teams Agilität Wissen 4. Abhängigkeiten Zwischen Systemen
  8. Wir haben eine Community of Practise in Q1 2018 gegründet

    MyHermes White-OPS Black-OPS Green-OPS Blue-OPS BES Dev@On 1 Dev@On 2 Community of Practise Architektur … Themen & Teilnehmer Arbeitsgruppen Arbeitsgruppen Arbeitsgruppen
  9. Um die Continuous Delivery-Fähigkeiten gezielt weiterzuentwickeln, haben wir eine Matrix

    zur Selbsteinschätzung für die Teams entwickelt (Ursprüngliche Quelle: infoQ.com) Grundlagen Einsteiger Fortgeschrittener Könner Experte Kultur & Organisation Ausprägung von Fähigkeiten je Bereich und Level Design & Architektur Build & Deploy Test & Verifikation Information & Reporting
  10. Um die Continuous Delivery-Fähigkeiten gezielt weiterzuentwickeln, haben wir eine Matrix

    zur Selbsteinschätzung für die Teams entwickelt (Ursprüngliche Quelle: infoQ.com)
  11. Beispiel (Ursprüngliche Quelle: infoQ.com) Grundlagen Einsteiger Fortgeschrittener Könner Experte Build

    & Deploy • Versionierte Codebasis (SVN/GIT) • Gescriptete Build- Vorgänge • Grundlegend geplante Builds (CI) • Ein dedizierter Build-Server • Dokumentierte manuelle Deployments • Einige Deploymentscripte existieren • Regelmäßige (z.B. mind. 2x im Jahr) Bereitstellungen von Software • Builds werden aufbewahrt • Manuelle Tags • Manuelle Versionierung • Erste Schritte zu standardisierten Deployments (durch Dokumentation, Scripte und Tools) • Builds werden durch ein Commit getriggert • Versionierung der Builds erfolgt automatisch • Standatisierter Deployprozess für alle Umgebungen je Produkt • Build kann pot. auf allen Umgebungen installiert werden • Automatisierte Massenänderung in der Datenbank • Buildpipeline bis zur Produktion • Deployments ohne Downtime • Voll automatisierte Datenbank- deployments • Vermeiden manueller DBdeployments chritte • Multiple Buildinstanzen für paralleles Bauen und Deployen des Codes für unterschiedliche Zielumgebungen • Vollautomatisierte kontinuierliches Deployment • Jeder Commit kann es potentiell in die Produktion schaffen • Infrastruktur als Code • Umgebungen werden im aktuellen Deployment zusammen mit den Artekfakten erstellt und erst vor dem nächsten Deployment automatisch abgerissen
  12. Wir haben jetzt einen Überblick zu unserem Entwicklungsstand bezogen auf

    Continuous Delivery für die IT Fortgeschritten
  13. 26 Gastvorträge aus den Teams, am besten mit Praxisteil Fokus

    auf das Ziel: Continuous Delivery hermesweit Vorbereitung für vortragende Teams maximal eine Stunde Treffen einmal im Monat für eine Stunde
  14. Wir haben eine Community of Practise in Q1 2018 gegründet

    MyHermes White-OPS Black-OPS Green-OPS Blue-OPS BES Dev@On 1 Dev@On 2 Community of Practise Architektur … Themen & Teilnehmer Arbeitsgruppen Arbeitsgruppen Arbeitsgruppen
  15. Zu diversen Themen gibt es vertiefende Arbeitsgruppen 01 02 04

    03 Experten und Anfänger Austausch von Wissen Hilfe bei konkreten Fragestellungen Ermittlung von Schulungsbedarf Expertise Ausbildung Wissensträger Wissen im Wiki aufbauen Anlaufpunkt für Unterstützung Rückführung in die CoP Teilen mit anderen Teams Inspiration für weitere Schwerpunkte Vertiefung des Wissens Vertiefende Diskussionen Ausprobieren konkreter Frameworks und Techniken
  16. Die Community of Practise als Bereicherung für jedes Team Vernetzung

    Zielgerichtete Verbesserung Erfolge feiern und teilen Der Anlaufpunkt für Continuous Delivery! Von anderen lernen Wissen weitergeben Als Unternehmen Expertenwissen heben
  17. Unsere Erfolgsfaktoren Engagierte Teilnehmer Offene Atmosphäre „Pate“ aus dem Management

    Vernetzung mit anderen Communities Leidenschaftliches Organisationsteam
  18. Was hat uns dieser Ansatz gebracht? Organisatorisch Methodisch inhaltlich Steigerung

    die Dynamik der IT Steigerung der Qualität Umdenken im Business Gezielte Weiterentwicklung der Organisation Kombination aus gemeinsamer Arbeit und Autonomie Vermeidung vertikaler Silos Alle profitieren vom Fortschritt Einzelner Teams gestalten den Weg mit
  19. Kontakt Katja Haase [email protected] Kontakt Stephan Stapel [email protected] @StephanStapel Diese

    und weitere Präsentationen findet Ihr unter: www.speakerdeck.com/hermes