What is DevOps?
Die Kombination von „Dev“ und „Ops“ bezieht sich auf das Ersetzen von Siloentwicklung und -betrieb. Die Idee besteht darin, multidisziplinäre Teams zu bilden, die nun mit gemeinsamen und effizienten Verfahren und Tools zusammenarbeiten. Zu den grundlegenden DevOps-Methoden gehören agile Planung, Continuous Integration, Continuous Delivery sowie die Überwachung von Anwendungen. DevOps ist eine ständige Journey.
Verstehen der Zykluszeit
Beginnen wir mit einer grundlegenden Annahme zur Softwareentwicklung. Wir beschreiben dies mit der OODA-Schleife (Observe (beobachten), Orient (orientieren), Decide (entscheiden), Act (handeln)). Ursprünglich wurde die OODA-Schleife entwickelt, um Kampfpiloten davor zu bewahren, abgeschossen zu werden, aber sie eignet sich auch hervorragend, um der Konkurrenz einen Schritt voraus zu sein. Sie beginnen mit der Beobachtung von Geschäft, Markt, Bedürfnissen, aktuellem Nutzerverhalten und verfügbaren Telemetriedaten. Dann orientieren Sie sich an der Aufzählung der Möglichkeiten, was Sie bereitstellen können, vielleicht mit Experimenten. Im nächsten Schritt entscheiden Sie, was Sie weiterverfolgen möchten, und Sie handeln, indem Sie funktionierende Software für echte Benutzer bereitstellen. All dies geschieht in einer bestimmten Zykluszeit.
Informieren Sie sich über Daten
Es wird empfohlen, Daten zu nutzen, um zu entscheiden, was im nächsten Zyklus zu tun ist. Aus vielen Erfahrungsberichten wissen wir, dass etwa ein Drittel der Bereitstellungen negative Geschäftsergebnisse haben wird. Etwa ein Drittel wird zu positiven Ergebnissen führen, und ein Drittel wird nichts verändern. Verwerfen Sie Ihren Plan schnell bei Auswirkungen, die das Unternehmen nicht voranbringen, und konzentrieren Sie sich auf Ergebnisse, die das Unternehmen unterstützen. Manchmal wird dieser Ansatz auch als „Pivot“ oder „Beharrlichkeit“ bezeichnet.
Streben Sie nach validiertem Lernen
Wie schnell Sie Ihren Plan verwerfen oder Ihre Anstrengungen verdoppeln können, richtet sich nach Ihrer Zykluszeit. Und danach, wie lange diese Schleife dauert bzw. wie „schlank“ sie ist. Ihre Zykluszeit bestimmt, wie schnell Sie Feedback sammeln können, um zu bestimmen, was in der nächsten Schleife passiert. Das Feedback, das Sie in jedem Zyklus sammeln, sollte aus sachlichen, umsetzbaren Daten bestehen. Wir nennen es „validiertes Lernen“.
Verkürzen Sie die Zykluszeit
Bei der Einführung von DevOps-Vorgehensweisen gilt:
- Sie verkürzen die Zykluszeit, indem Sie in kleineren Batches arbeiten.
- Sie verwenden mehr Automatisierung.
- Sie härten Ihre Releasepipeline.
- Sie verbessern die Telemetrie.
- Die Bereitstellung erfolgt häufiger.
Optimieren des validierten Lernens
Je häufiger eine Bereitstellung erfolgt, desto mehr können Sie experimentieren. Desto mehr Möglichkeiten haben Sie, jeden Zyklus zu pivotieren oder beharrlich zu verfolgen und validiertes Lernen zu gewinnen. Diese Beschleunigung beim validierten Lernen ist der Wert der Verbesserung. Stellen Sie sich dies als Summe des erreichten Fortschritts und der Fehler vor, die Sie vermeiden.