loslegen@agile-life.de +49 1578 499 884 8

    • HOME
    • Leistungen
    • Academy
    • Agile Trinität
    • BLOG
    • Ressourcen
      • PODCAST
      • EVENTS
      • GLOSSAR
      • GRÜNDER
        • Alex
        • Ben
    • Home
    • Agile Blog
    • Blog
    • DevOps Shift Left – was ist das und was für Vorteile hat es? || DevOps Series – Episode 7
    Kanban Board
    Kanban – was ist das? || Agile Series – Episode 14
    13. Juni 2021
    effektive scrum teams devops teams
    Was macht ein effektives Scrum Team bzw DevOps Team aus? || Agile Series – Episode 15
    27. Juni 2021
    20. Juni 2021
    Kategorie
    • Blog
    • DevOps
    Tags
    Shift Left Modell - DevOps

    Shift Left Modell in DevOps

    DevOps Shift Left – was ist das und was für Vorteile hat es? || DevOps Series – Episode 7

    In diesem Artikel erklären wir dir was Shift Left genau ist und was für Prinzipien dafür nötig sind, wie man das Ziel von Shift Left erreicht und was die Vorteile davon sind.

    In der letzten Folge haben wir Kanban erklärt. Wir sind dabei auf die Prinzipien und Praktiken von Kanban eingegangen und haben natürlich auch erklärt, wie ein Kanban Board aussehen kann.

    Schau also unbedingt hier vorbei, falls darüber noch mehr wissen willst 😉

    Shift Left – was ist das genau?

    Als erstes möchten wir klären, was Shift Left in DevOps eigentlich genau bedeutet. Dabei hilft es, wenn man den Arbeitsfluss, also die einzelnen Schritte eines Entwicklungsprozesses, sich vor Augen hält. Im Englischen wird dies als Software Development Life-Cycle (SDLC) bezeichnet und wir haben dir das mal in der nachfolgenden Grafik visualisiert.

    Vorgehensmodell zur Softwareentwicklung (SDLC)

    Vorgehensmodell zur Softwareentwicklung

    Man erkennt sehr schnell, dass die „Qualitätssicherung“, nämlich z.B. das Testen sehr weit am Ende (= Rechts) steht in diesem Zyklus. Das bedeutet, dass man erst sehr spät merkt, dass ob es Qualitäts– oder andere allgemeine Probleme, wie z.B. Integrationsprobleme, im Code gibt. Das heißt der Fokus auf die Qualität des Endprodukts sieht während dieses Zyklus klassischerweise ungefähr so aus:

    klassische Qualitätssicherung

    klassische Qualitätssicherung

    Warum benötigen wir mehr Shift Left?

    Jeder der bereits in der Produktentwicklung, egal ob in der IT oder im produzierenden Gewerbe, gearbeitet hat, dass es immer einfacher ist Fehler zu beheben, je früher diese im Prozess gefunden werden. Im Idealfall landen diese dann erst garnicht im Produkt. Dadurch werden auch die Kosten pro Fehler reduziert, da der Fehler entweder viel kleiner ist oder viel weniger Instanzen betrifft.

    Das Ziel von Shift Left:

    Das Ziel von Shift Left ist es also:

    Eine hohe Produktqualität so früh wie möglich im Entwicklungsprozess zu erreichen.

    Das bedeutet, dass (im Fall von Softwarentwicklung) viel weniger Probleme oder Bugs erst in der Produktionsumgebung gefunden werden, sondern viel früher. Dadurch ist es auch viel leichter das Problem bzw. den Bug zu fixen.

    Der Fokus auf Qualität sieht in einem Shift Left Modell ungefähr so aus:

    Shift Left Modell - DevOps

    Shift Left Modell von DevOps

    Aber wie genau kann man das umsetzen? Was für Best-Practices gibt es?

    Die Grundprinzipien von Shift Left

    Shifting Left bezeichnet allgemein, dass ein Schritt früher im Prozess durchlaufen werden soll. Im Bezug auf Shift Left in der Softwareentwicklung und speziell aus dem DevOps-Gedanken heraus bedeutet das konkret, dass die Tests viel früher im Entwickungsprozess stattfinden als beim klassischen Vorgehen und vor allem auch kontinuierlich durchgeführt werden. Continuous Testing ist hier das Stichwort. Aber was genau ist Continuous Testing?

    Continuous Testing is the process of executing automated tests as part of the deployment pipeline to obtain immediate feedback on the business risks associated with a software release candidate. – DevOps Foundation Kurs-Guide

    Shifting Left

    Shifting Left

    Zu Continuous Testing gehören verschiedene Tests, die regelmäßig während des gesamten Entwicklungsprozesses durchgeführt werden müssen. Diese sind:

    • Automatisierte Builds
    • Automatisierte Unit Tests
    • Automatisierte Acceptance Tests
    • Automatisierte Performance Tests
    • Automatisierte Sicherheitstests
    • Automatisiertes Deployment in die Testumgebung

    Speziell die beiden ersten Automatisierungen sind für Elite-Unternehmen laut dem State of DevOps Report von 2019 besonders entscheidend.

    State of Devops report 2019 - testing

    Quelle: State of Devops Report 2019

    Das Ziel ist es diese Tests so automatisiert wie möglich durchzuführen und gleichzeitig eine möglichst hohe Testabdeckung (engl.: Test Coverage) zu haben. Test-Driven Development (TDD) ist hier das Ziel. Bei der Testabdeckung muss man sich allerdings immer im Klaren sein, dass eine unrealistisch hohe Testabdeckung (z.B. +95%) nicht für alle Anwendungen praktikabel bzw. umsetzbar ist.

    Continuous Testing bedeutet dabei auch die richtigen Tests zum richtigen Zeitpunkt im Entwicklungsprozess durchzuführen, ohne dabei Flaschenhälse im System zu erzeugen. So werden zum Beispiel einfache und schnell auszuführende Unit Tests häufig und sehr früh verwendet, da sie die Entwicklung nicht unnötig lange blockieren.

    Das zweite Prinzip, das wir für Shift Left aus DevOps benötigen ist Continuous Deployment. Continuous Deployment automatisiert dabei das Deployment und die Bereitstellung des neuesten Release-Kandidates.

    Grundlage dafür ist, dass die Tests sich gut in die verwendeten CI/CD-Tools (wie z.B. Jenkins) integrieren lassen. Diese Testskripte sollten bei jedem Build ausgeführt werden und falls diese fehlschlagen, sollte der Build auch fehlschlagen. Das stellt sicher, dass kein neues Feature den Code kaputt macht.

    Hierfür ist eine enge Zusammenarbeit der Entwicklerteams mit den Operationsteams nötig, damit sich diese Deployment-Pipelines oder Prozesse nicht unterscheiden. Der Idealfall, aus Sicht von DevOps, ist natürlich, dass die Teams, die die Features entwickeln auch für den Betrieb verantwortlich sind. „You build it. You run it.“

    Dieser Prozess des Shift Left und damit verbunden Continuous Testing und Continuous Deployment helfen uns dabei Risiken früh zu finden, zu analysieren und zu beheben und damit die Qualität des Produkts deutlich zu steigern.

    Bei Shift Left geht es also um die Problemvermeidung, anstatt nur das Auffinden von Problemen.

    Die Vorteile von Shift Left

    Wir wollen hier nun nochmal die ganzen Vorteile von Shift Left zusammenfassen.

    Die Entwicklungskosten sind geringer:

    Je später Probleme und Bugs gefunden werden, desto mehr Kosten entstehen dadurch. Durch die Einführung von Shift Left wird sichergestellt, dass diese so früh wie möglich während der Entwicklung gefunden werden und dadurch Kosten gespart werden können.

    Die Qualität des Produkts steigt

    Da durch Continuous Testing nun Tests mehrmals täglich möglich sind, wird natürlich mehr getestet und dadurch auch mehr Fehler gefunden als sonst. Dies verbessert die Qualität des Endprodukts und führt natürlich auch direkt zu zufriedeneren Kunden.

    Effektiveres Bug-Fixing

    Da ein Bug (im Idealfall) kurz nach dessen Entstehung entdeckt wird, weiß der/die Entwickler(in) noch sehr genau, was sie an der Stelle des Codes getan hat und kann somit den Bug deutlich schneller fixen. Wenn sie diesen Fehler erst Tage oder gar Wochen später entdeckt und eigentlich schon an einem neuen Feature arbeitet, wird dieser Bug-Fix deutlich länger dauern. Das sorgt dann natürlich auch für höhere Kosten.

    Weniger Spillovers und genauere Vorhersagen

    All die bereits genannten Vorteile und die Verwendung von Continuous Testing und Continuous Deployment führen dazu, dass es weniger Überraschungen und aufwändige Bug-Fixes gibt. Dies ermöglicht eine deutlich bessere Vorhersage der Timeline. Nur so ist es möglich, dass man nachhaltig profitabel bleibt.

     

    All das führt zu einem riesigen Vorteil für das Unternehmen:

    Einem klaren Wettbewerbsvorteil gegenüber der Konkurrenz.

    Und wahrscheinlich ist diese Liste nichtmal vollständig, weil es noch weiter Vorteile gibt, die uns bei der Arbeit mit unseren Kunden noch gar nicht aufgefallen sind.

    Du willst wissen, wie man es schafft erfolgreich auf Shift Left umzustellen und was dafür nötig ist? Schreib uns gerne einen Kommentar, dass dich das auch interessiert 🙂 .

    Und am besten meldest du dich einfach direkt für den Newsletter an, um den Artikel dann auch nicht zu verpassen 😉 .

    Fazit

    Shift Left ist ein sehr wichtiges Konzept von DevOps, das gleich zwei Praktiken, nämlich Continuous Testing und Continuous Deployment, verwendet. Damit ist Shift Left ein ganz entscheidender Schritt auf dem Weg zu einem Unternehmen, das voll von den Gedanken von DevOps profitiert und damit wettbewerbsfähig bleibt bzw. wird.

    Um Shift Left erfolgreich im Unternehmen einführen zu können und damit die oben genannten Vorteile zu erzielen,  benötigt man erfahrene Coaches, die wissen auf was man achten muss bei der Einführung und was die entsprechenden Voraussetzungen dafür sind.

    Wenn du dich selbst in diesem Bereich weiterentwickeln willst, dann schau unbedingt bei unseren Devops-Trainings vorbei.

    Du willst noch mehr wissen und hast noch Fragen oder bist anderer Meinung?

    Schreib uns das auch unbedingt in die Kommentare und wir werden dir gerne und ausführlich antworten!

    Da das jetzt alles wieder sehr viel Input auf einmal war, haben wir eine einfache Übersicht über alles was zum Scrum Framework gehört, für dich in einem kostenlosen Poster dargestellt. Du findest es hier:

    Dein kostenloses Scrum Übersichtsposter!

    Link zum Poster

    Damit du all die gelernten Begriffe auch schnell nachschauen kannst, haben wir dir zusätzlich einen kostenlosen Glossar auf Deutsch mit +230 Begriffen zu DevOps, Agile und Lean mit den entsprechenden englischen Fachbegriffen (macht das Googeln meist einfacher, da es noch sehr wenige vollständige deutsche Blogs zu diesen Themen gibt) erstellt.

    Und auch der ist komplett kostenlos. Du findest den Glossar hier:

    Zum Glossar

    Ausblick

    In der nächsten Folge erklären wir dir, was ein gutes Team ausmacht. Egal ob es in einem Unternehmen ist, dass DevOps, Agile oder Lean verwendet.

    Falls du das nicht verpassen willst und ein noch besserer Scrum Master/Agile Coach/Product Owner/Entwickler oder Leader werden willst, melde dich jetzt für unseren kostenlosen Newsletter an:

    Dein kostenloser Newsletter!

    Unser Podcast

    Und falls du unsere Experteninterviews und alle anderen Podcast-Folgen als erster bequem unterwegs hören willst, abonnier einfach unseren Podcast mit folgendem RSS-Feed:

    Podcast RSS-Feed

    Agile Podcast iTunes
    Google Podcast
    Agile Podcast Spotify

    Unser YouTube-Channel

    Du stehst auf bewegtes Bild und zusätzliche Grafiken und Visualisierungen? Dann ab auf unseren YouTube-Channel „Agile Coach Academy“.

    Abonniere den Channel und verpasse kein Video oder Experteninterview mehr.

    Abonnier jetzt unseren YouTube-Channel

    Jetzt abonnieren

    Wie immer freuen wir uns auch wenn du diesen Artikel mit deinen Freunden, Kollegen und Bekannten teilst und uns dein ehrliches Feedback in den Kommentaren schickst.

    Wir freuen uns auf dich in der nächsten Folge.

    Deine Agile Coach Academy Gründer Ben und Alex

    Mit * markierte Links sind Affiliate-Links mit denen du uns unterstützt dir weiterhin so guten Content zu liefern.

    Vielen Dank für deinen Support 🙂

    Note: Wir gehen keine Affiliates mit Amazon ein (auch wenn es hier mehr Möglichkeiten gäbe für uns), da die Mitarbeiter hier nicht fair behandelt werden und wir das nicht unterstützen!

    Share
    4

    Ähnliche Beiträge

    Essenz aller Frameworks 21. Jahrhundert

    Die Essenz aller Frameworks des 21. Jahrhundert.

    1. August 2021

    Die 5 Must-Have Skills für DevOps || DevOps Series – Episode 10


    Mehr erfahren
    Fähigkeiten Agile Coach

    Die 5 wichtigsten Fähigkeiten eines Agile Coaches

    25. Juli 2021

    Die 5 wichtigsten Fähigkeiten eines Agile Coach || Agile Series – Episode 17


    Mehr erfahren
    Die 6 DevOps Erfolgsfaktoren

    Die 6 DevOps Erfolgsfaktoren

    18. Juli 2021

    Die 6 Erfolgsfaktoren für DevOps || DevOps Series – Episode 9


    Mehr erfahren
    Agile Transformation Herausforderungen

    Mangelndes Training und Wissen als große Herausforderung einer Agile Transformation

    11. Juli 2021

    Agile Transformation – die 5 größten Herausforderungen || Agile Series – Episode 16


    Mehr erfahren
    5 Schritte Theory of Constraints

    Die 5 Schritte der Theory of Constraints

    4. Juli 2021

    Die Theory of Constraints erklärt || DevOps Series – Episode 8


    Mehr erfahren
    effektive scrum teams devops teams

    Effektive Teams

    27. Juni 2021

    Was macht ein effektives Scrum Team bzw DevOps Team aus? || Agile Series – Episode 15


    Mehr erfahren

    Schreibe einen Kommentar Antworten abbrechen

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

    Weitere spannende Impulse

    • Essenz aller Frameworks 21. JahrhundertDie 5 Must-Have Skills für DevOps || DevOps Series – Episode 10
      Lesezeit: 14 Min

      In diesem Artikel erklären wir dir was die 5 wichtigsten Skills für DevOps sind. Sowohl auf Management-, als auch auf Team-Ebene.  Wir erklären dir auch was für spezifische Skills nötig sind für die jeweilige Kategorie. […]
    • Fähigkeiten Agile CoachDie 5 wichtigsten Fähigkeiten eines Agile Coach || Agile Series – Episode …
      Lesezeit: 12 Min

      In diesem Artikel erklären wir dir was unserer Meinung nach die 5 wichtigsten Fähigkeiten eines Agile Coaches sind und wie diese einem Unternehmen helfen. […]
    • Die 6 DevOps ErfolgsfaktorenDie 6 Erfolgsfaktoren für DevOps || DevOps Series – Episode 9
      Lesezeit: 14 Min

      In diesem Artikel erklären wir dir was die 6 wichtigsten Erfolgsfaktoren für DevOps sind und was das für die Organisation allgemein bedeutet. […]
    • Agile Transformation HerausforderungenAgile Transformation – die 5 größten Herausforderungen || Agile Series …
      Lesezeit: 16 Min

      In diesem Artikel erklären wir dir was die 5 größten Herausforderungen einer Agile Transformation und wie man diese verbessern oder gar verhindern kann und natürlich auch was sich für Vorteile dann ergeben. […]
    • 5 Schritte Theory of ConstraintsDie Theory of Constraints erklärt || DevOps Series – Episode 8
      Lesezeit: 10 Min

      In diesem Artikel erklären wir dir alles rund um die Theory of Constraints von Goldratt. Also was ist ein Bottleneck (Flaschenhals) bzw. ein Constraint (Einschränkung), was die Schritte dieser Methode sind und wir werden natürlich auch ein Beispiel für die Theory of Constraint geben. […]

    Zertifizierte Coaches

    PSM1-Batch PSM2-Batch SPS-Batch PSM1-Batch
    Impressum | Datenschutz
    © 2022 Agile Coach Academy

    created by

    kuss-maul-marketing-hautnah