Erkunden der kontinuierlichen Planung
Kontinuierliche Planung ist eine der acht DevOps-Funktionen.
Erkunden, warum kontinuierliche Planung notwendig ist
Lassen Sie uns eine Fallstudie einer Softwareanwendung durchgehen, die von einer Regierungsbehörde zwischen 2000 und 2005 entwickelt wurde. Das Projekt war noch nicht einmal annähernd fertig, als es im Januar 2005 offiziell aufgegeben wurde, nachdem es sich zu einem kompletten Fiasko entwickelt hatte. Zusätzlich zur Verschwendung von mindestens 100 Millionen USD brachte das Versagen der Behörde und ihrem Direktor umfassende Kritik ein.
Ein zweites Projekt wurde 2006 gestartet, mit ähnlich desaströsen Ergebnissen. Die beiden Anstrengungen nutzten ein „Big Design Up Front“ (BDUF) sowie die Wasserfall-Entwicklungsmethodik, zusammen mit einem klassischen, geplanten Big-Bang-Go-Live-Event. Sie endeten damit, dass nichts geliefert und Hunderte von Millionen Dollar ausgegeben wurden.
Warum sind diese Versuche gescheitert?
- Big Design Up Front: Ein 200-köpfiges Team verbrachte sechs Monate mit der Erstellung der Anforderungen.
- Verschiebung von Prioritäten: Während der Projektlaufzeit ereignete sich eine Katastrophe, was zu einer massiven Änderung des Umfangs führte – und ein weiteres 300-köpfiges Team arbeitete sechs Monate lang, was zu 600 Seiten mit Anforderungen führte.
- Vergeudeter Aufwand und Nacharbeit führten zu geplatzten Terminen und Burnout beim Team – 700.000 Zeilen Code wurden geschrieben und umgeschrieben.
Im Dezember 2010 wurde ein Scrum-Studio eingerichtet und am selben Ort untergebracht. Das Personal wurde von 400 bei den ursprünglichen Projekten auf 40 reduziert. Der Entwurf wurde von 600 Seiten Anforderungen auf 670 User Storys reduziert. Das Team lieferte alle zwei Wochen Code aus und demonstrierte neue Funktionen. Nach einigen Sprints war es möglich, grobe Zeitpläne zu prognostizieren und inkrementelle Geschäftsänderungen zu planen. Code Complete war im Dezember 2011.
Aber warum ist es schwierig, gut im Detail zu planen?
Alan Turing entwickelte während des Zweiten Weltkriegs eine Maschine zum Entschlüsseln der als „Enigma“ bekannten Verschlüsselungsmaschine.
Turing musste ständig neue Codes entschlüsseln, um Leben zu retten. Anstatt aufgrund der scheinbar unendlichen Komplexität aufzugeben, wusste Turing, dass er nur kleine Details entschlüsseln musste, um zu größeren Ergebnissen zu kommen:
„Wir können nur eine kurze Strecke voraussehen, aber wir sehen dort viel, was getan werden muss.“
Anspruchsvolle Softwareprojekte sind immer komplex. Aber lassen Sie sich nicht von der Komplexität überwältigen. Stattdessen – führen Sie dort aus, wo Klarheit herrscht: auf kurze Sicht.
Kontinuierliches und effektives Planen mit klarer Richtung, Fokus und Agilität auf Basis von „Objectives and Key Results“ (OKRs)
Bevor wir die kontinuierliche Planung definieren, müssen wir ein wichtiges Konzept und Rahmenwerk vorstellen, das Ihnen hilft, kontinuierlich und effektiv mit klarer Richtung, Fokus und Agilität zu planen.
Objectives and Key Results (OKRs, Zielsetzungen und Schlüsselergebnissen/Ergebniskennzahlen) ist ein Rahmenwerk für die Zielsetzung, das entwickelt wurde, um die von der Führung festgelegten strategischen Ziele mit den täglichen Aktivitäten der Ausführungsteams zu verbinden.
Wichtig
OKRs helfen, das bestmögliche Ergebnis zu identifizieren und schaffen Klarheit darüber, wie echter Erfolg aussieht.
OKRs werden in der Regel vierteljährlich festgelegt, um den Fokus zu schärfen und Agilität zu ermöglichen.
Die Zielsetzung gibt die Richtung vor, und das Schlüsselergebnis muss messbar sein (Ergebniskennzahl). Am Ende können Sie beurteilen und ohne Diskussion entscheiden: Habe ich das getan, oder habe ich es nicht getan? Ja? Nein? Einfach. Ganz wertneutral.
OKRs befinden sich innerhalb der Organisation in allen Teams – horizontal wie vertikal, um Ausrichtung (Alignment) und Transparenz zu demonstrieren.
Was sind OKRs?
Es gibt drei wesentliche Aspekte von OKRs:
Sie bilden ein Rahmenwerk für die Definition klarer Zielsetzungen, die auf allen Ebenen der Organisation Klarheit über die Absicht und Richtung schaffen.
Sie werden durch messbare Schlüsselergebnisse untermauert. Schlüsselergebnisse sind Ergebnisse, an denen der Erfolg gemessen wird.
Sie fördern eine ergebnisorientierte Mentalität, die einen klaren Wechsel von einer ausgangsorientierten zu einer ergebnisorientierten Mentalität ermöglicht.
OKR-Beispiel
Hier sehen Sie ein OKR-Beispiel:
Zielsetzung: bis 1970 einen Astronauten auf den Mond bringen.
Schlüsselergebnisse/Ergebniskennzahlen:
- Bis 1965 ein Raumschiff unter 40.000 Pfund bauen.
- Bis 1967 Astronauten für die Mondlandung trainieren.
- Das Raumschiff erfolgreich auf dem Mond landen.
- Die Astronauten sicher wieder zur Erde zurückbringen.
Dieses OKR-Beispiel identifiziert die Zielsetzung oder das Ziel, bis 1970 einen Astronauten auf den Mond zu bringen.
Hinweis
Zielsetzungen müssen einfach zu verstehen sein, eine klare Richtung vorgeben und Motivation bieten.
In diesem Beispiel sind die Schlüsselergebnisse Messgrößen des Fortschritts, die den Erfolg der Zielssetzung messen sollen.
Hinweis
Schlüsselergebnisse müssen messbar sein und angeben, wie das Ziel erreicht werden soll.
Die wichtigsten Vorteile von OKRs
Es gibt fünf wesentliche Vorteile von OKRs:
- Fokus: Jede Zielsetzung sollte auf eine Zeile passen. Was die Schlüsselergebnisse betrifft, so sollte es nicht mehr als fünf pro Zielsetzung geben.
- Alignment (Ausrichtung): Manager wie Mitarbeiter binden ihre täglichen Aktivitäten an die unternehmensweite Vision der Organisation. Der Begriff für diese Verbindung ist „Alignment“ (Ausrichtung/Orientierung), und sein Wert kann nicht hoch genug eingeschätzt werden.
- Verpflichtung (Commitment): Zeitpläne und Ressourcen werden angepasst, um sicherzustellen, dass alle vereinbarten Verpflichtungen erfüllt werden.
- Nachverfolgung (Tracking) von OKRs vom Ausgang bis zum Ergebnis ist der Grund, warum Management durch Zielvorgaben (Objectives) bei Top-Unternehmen so beliebt ist. Jede OKR sollte über die bei ihrer Erstellung festgelegten Metriken nachverfolgt werden können.
- Ambition (Stretching): OKRs zwingen Organisationen von Natur aus dazu, sich stärker zu bemühen, ein wenig mehr herauszuholen als das, was sie für möglich hielten.
Vergleichen von kontinuierlicher mit statischer Planung
Kontinuierliche Planung ist eine Praxis, die von Planern, Architekten und Agile-Teams verlangt, dass sie ihre Pläne fortlaufend im gesamten Unternehmen integrieren.
Bei der kontinuierlichen Planung ermöglichen Scrum-basierte Planungsmethoden und sich entwickelnde Entwürfe den Teams, die Planung bis in die Ausführungsebene zu verfeinern.
Es ist wichtig, einen allgemeinen Plan zu haben, der Veränderungen standhält, aber von einer klaren Vision und einem klaren Ziel geleitet wird.
Das „eiserne Dreieck“ der Kompromisse zwischen Waserfall- und Agile-Entwicklungsmethodiken veranschaulicht den Vergleich zwischen kontinuierlicher und statischer Planung.
Bei der statischen Methodik ist die Planung des Umfangs festgelegt. Sie bestimmen, wie viel Zeit das Projekt in Anspruch nehmen und wie viel es kosten wird.
Bei der Agile-Methodik, die die Prinzipien der kontinuierlichen Planung verwendet, wird die Zeit festgelegt, um die Geschäftsziele zu erreichen. Das einzige, was verhandelbar ist, ist der Umfang.
Das „eiserne Dreieck“ zeigt typischerweise Zeit, Ressourcen und Funktionalität. Gartner hat diese Darstellung noch um den Faktor Qualität erweitert, weil Dauer und Kosten korreliert sind und die Qualität oft übersehen wird.
Doch wie steht es um den Erfolg der beiden Vorgehensweisen?
Ein Grund, warum Agile-Projekte erfolgreicher sind, ist die Tatsache, dass Releases in kleinen Chargen die Gelegenheit vergrößern, Erkenntnisse zu gewinnen.
Es gibt vier Dinge, die Sie im Auge behalten sollten:
- Geschäftsanforderungen ändern sich ständig und zwar kurzfristig.
- Agile verfügt über die Planungsmechanismen, um mit geschäftlichen Veränderungen Schritt zu halten.
- Leistungsstarke Teams können ebenso schnell in die falsche Richtung gehen.
- Erkenntnisgewinn verringert das Risiko.
Sowohl die Wasserfall- als auch die Agile-Methodik werden infrage gestellt. Agile ist nur zufällig in 30 % der Fälle erfolgreich.
Erkunden der sechs Prinzipien der kontinuierlichen Planung
Es gibt sechs Prinzipien der kontinuierlichen Planung:
- Wertschätzung von Einfachheit
- Das Manifest für Agile-Softwareentwicklung
- Design Thinking
- Iterative und inkrementelle Entwicklung
- Lean Management
- Schätzgenauigkeit
Kontinuierliches Planungsprinzip 1: Wertschätzung von Einfachheit
Das erste Prinzip der kontinuierlichen Planungsprinzip lautet „Wertschätzung von Einfachheit“.
„Wenn man es nicht einfach erklären kann, hat man es nicht gut genug verstanden.“
–Albert Einstein
Kontinuierliches Planungsprinzip 2: Manifest für Agile-Softwareentwicklung
Das zweite Prinzip der kontinuierlichen Planung ist das Manifest für Agile-Softwareentwicklung.
In dem Manifest geht es um die Bereitstellung von Software. Es geht um Softwareentwicklung – nicht um Projektmanagement oder Design. Es bildet den Kern der kontinuierlichen Planung und von DevOps.
Wir entdecken bessere Wege, Software zu entwickeln, indem wir es tun und anderen helfen, es zu tun. Durch diese Arbeit haben wir Folgendes zu schätzen gelernt:
- Individuen und Interaktionen gegenüber Prozessen und Tools
- Funktionierende Software gegenüber umfassender Dokumentation
- Zusammenarbeit mit Kunden gegenüber Vertragsverhandlungen
- Reagieren auf Veränderungen gegenüber dem Befolgen eines Plans
Kontinuierliches Planungsprinzip 3: Design Thinking
Das dritte Prinzip des Continuous Planning ist Design Thinking.
Design Thinking verfolgt einen menschenzentrierten Ansatz für Innovationen. Es konzentriert sich auf die Schnittmenge zwischen Machbarkeit, Durchführbarkeit und Erwünschtheit, um Grenzen zu setzen und Verschwendung zu verringern.
Kontinuierliches Planungsprinzip 4: Iterative und inkrementelle Entwicklung
Das vierte Prinzip der kontinuierlichen Planung ist iterative und inkrementelle Entwicklung.
Einige befürchten, dass sie nicht wissen, was sie bekommen werden. Die iterative Entwicklung löst dieses Problem, indem sie die Anforderungen und die Priorisierung in einer iterativen Feedbackschleife in die Hände der Beteiligten legt. Jede Iteration ist vollständig, praktikabel und nützlich für seine Benutzer. Es fügt mehr Funktionalität hinzu, vorzugsweise die wichtigste Funktionalität zuerst.
Kontinuierliche Planungsprinzipien 5: Lean Management
Das fünfte Prinzip der kontinuierlichen Planung ist Lean Management.
Wert wird aus der Sicht des Endkunden definiert. Im Prozess werden Wertströme identifiziert und Schritte, bei denen kein Wert für den Kunden entsteht, als Verschwendung erkannt und beseitigt.
Der Prozess beginnt von Neuem und strebt durch kontinuierliche Verbesserung nach einem Zustand der Perfektion.
Kontinuierliches Planungsprinzip 6: Schätzgenauigkeit
Das sechste Prinzip der kontinuierlichen Planung ist Schätzgenauigkeit.
Eine Schätzung ist eine analytische Vorhersage, wie lange etwas dauern wird, wie viel es kosten wird, oder wie viele Funktionen geliefert werden können. Sie besitzt zwei Attribute – Genauigkeit und Präzision, die in keinem Zusammenhang zueinander stehen. Schätzungen sind im Besitz des Technikteams.
Ein Ziel ist die Formulierung eines geschäftlichen Bedarfs: wie lange etwas brauchen soll, wie viel es kosten soll, oder wie viele Funktionen geliefert werden sollen – aus unserer Sicht. Ziele sind im Besitz des Unternehmens.
Eine Verpflichtung (Commitment) ist ein Versprechen, Funktionalität und Qualität bis zu einem bestimmten Datum zu liefern. Verpflichtungen sind im gemeinsamen Besitz.
Wichtig
Das Ziel der kontinuierlichen Planung ist die Aufrechterhaltung der Übereinstimmung zwischen Schätzungen, Ziel und Verpflichtung. Andernfalls werden wir die Erwartungen innerhalb und außerhalb der Organisation nicht erfüllen.
Erläutern der Beziehung zwischen OKR und Scrum
Nachdem Sie nun das warum und was der OKRs sowie Aspekte der kontinuierlichen Planung verstanden haben, erfahren Sie hier nun, wie die beiden miteinander verbunden sind.
Die Strukturierung der Arbeit mit Techniken wie OKRs verringert die Unsicherheit – zumindest kurzfristig. Da OKRs kaskadenartig definiert werden sollen, wird sich damit auch der Führungsstil ändern, den Manager an den Tag legen.
Techniken wie OKRs sind ein schneller und effizienter Weg, um die Entwicklung weg von einem autoritären Führungsstil anzustoßen.