Viele Modelle und Perspektiven beschreiben die Komplexität einer Organisation. Letztendlich läuft alles auf die Interaktion von Menschen mit Technologie und Prozessen hinaus. Der Soziologe Dr. Ron Westrum hat eine Typologie von Organisationskulturen erstellt, darunter auch eine generative Kultur. Zu den wichtigsten Merkmalen einer generativen Kultur gehören:
- Orientiert an der Leistung
- Hohe Kooperation
- Scheitern führt zu Nachforschungen
- Risiken teilen
Die Förderung dieser Eigenschaften in der Kultur eines Unternehmens lässt Kapazität, Qualität und Innovation wachsen. Eine CI/CD-Pipeline hilft dabei, die Tools und Prozesse zu erleichtern, die diese Eigenschaften ermöglichen. Eine CI/CD-Pipeline wird oft als eine Möglichkeit zur Bündelung und Verteilung von Software wahrgenommen. Es ist die moderne Art, Software automatisiert zu verteilen, anstatt dies manuell zu tun. Aus technischer Sicht ist dies richtig. Das Schlüsselkonzept einer CI/CD-Pipeline besteht jedoch darin, konsistente Qualität und frühzeitiges Feedback zu liefern. Durch die kontinuierliche Überwachung der bestehenden (Qualitäts-)Leistung gewinnen Sie Erkenntnisse und Daten darüber, wie Sie die Bereitstellung und die angewandten Kontrollen verbessern können. Lassen Sie uns anhand des Dreiklangs von Menschen, Prozessen und Technologie sehen, was eine CI/CD-Pipeline für ein Unternehmen bedeutet und wie sie sich auf die Qualität des Softwarebereitstellungsprozesses auswirkt.
Kontinuierliche Integration und kontinuierliche Lieferung
Kontinuierliche Integration ist die Praxis der Integration neuer Arbeit in die aktuelle Arbeit. Jede Änderung löst einen automatisierten Build-Prozess aus, der eine Reihe von Prüfungen durchführt, um die Integrität des gesamten Softwarepakets zu bestätigen. Continuous Delivery ist eine Reihe von Praktiken, mit denen Änderungen auf sichere, schnelle und nachhaltige Weise in die Hände der Benutzer gelangen. Weitere Informationen zu den technischen Aspekten von CI/CD finden Sie in diesem Blog über Continuous Integration als Teil von Continuous Delivery. Diese technischen Aktivitäten tragen zur Qualität und Konsistenz der Softwarebereitstellung bei, indem sie manuelle, arbeitsintensive Aktionen ersetzen und ein schnelles Feedback zur Qualität und Funktionalität der Software liefern. Diese Maßnahmen sind zwar wertvoll, reichen aber allein nicht aus, um ein Unternehmen in eine leistungsstarke Organisation zu verwandeln.
Die Continuous Integration/Continuous Delivery-Pipeline ist nur das technische Artefakt, das Technologie, Menschen und Prozesse zusammenbringt. In ihrem Kern ist CI/CD der Ort, an dem wir definieren und überwachen, was Qualität ist. Um ein wirklich generatives Unternehmen zu werden, müssen wir uns auch mit den Aspekten der Prozesse und der Mitarbeiter befassen. 
Kontinuierliche Verbesserung und kontinuierliche Entdeckung
Prozesse sind in einem Unternehmen wichtig, da sie als Schnittstellen zwischen verschiedenen Geschäftskontexten und Bereichen fungieren. Sie minimieren den kognitiven Aufwand dieser Interaktionen, indem sie allen Beteiligten eine Orientierungshilfe in Bezug auf die Erwartungen bieten. Während die technische CI/CD-Pipeline große Teile unserer Arbeitsweise kodifiziert, strukturieren Prozesse die Abläufe rund um die Softwarebereitstellung. So kann ein Prozess beispielsweise beschreiben und durchsetzen, wer Pull Requests überprüfen und genehmigen darf. In gewisser Weise ist dies die Automatisierung der Verfahren.
Prozesse sind in der Regel so konzipiert, dass sie in einen bestimmten Kontext passen. Kontexte ändern sich im Laufe der Zeit und verringern die Effektivität eines Prozesses. Automatisierung allein rettet nicht den Tag, da sie sich nicht anpassen kann, wenn sich die Umgebung ändert. Deshalb legen leistungsstarke Unternehmen großen Wert auf kontinuierliche Verbesserung und ständige Entdeckung.
Das Ziel der kontinuierlichen Verbesserung ist es, eine Kultur der schrittweisen Verbesserung durch Lernen und Experimentieren zu schaffen. Die Bemühungen um eine kontinuierliche Verbesserung sollten sich darauf konzentrieren, die Effektivität zu erhöhen und gleichzeitig die Komplexität zu verringern. Jede Änderung oder Ergänzung des Systems sollte es einfacher machen.
Die Vermeidung zusätzlicher Komplexität mag anfangs etwas Zeit in Anspruch nehmen, zahlt sich aber auf lange Sicht aus. Bei der kontinuierlichen Verbesserung geht es jedoch darum, einen bestehenden Ansatz zu verbessern. Um zu verhindern, dass Prozesse Sie letztlich ausbremsen, ist es notwendig, nach passenderen Prozessen in einem neuen Kontext zu suchen. Diese Aktivität wird als
Kontinuierliche Entdeckung
.
Bei Continuous Discovery geht es darum, Ihre Ziele kontinuierlich mit den gesammelten Daten abzugleichen und alternative, besser geeignete Prozesse zu identifizieren, um sie aufeinander abzustimmen. Die Einführung dieser Kultur der kontinuierlichen Verbesserung und kontinuierlichen Entdeckung liegt in der Verantwortung aller Beteiligten. Die Führung ist ein wichtiger Faktor bei der Förderung einer Kultur, in der es sicher ist, zu versagen, Informationen auszutauschen und zusammenzuarbeiten. Teams sollten ständig versuchen, die Gelegenheit zu ergreifen, ihre Arbeitsweise zu verändern und zu verbessern. Retrospektiven sollten sich auf den Prozess und nicht auf das Ergebnis konzentrieren.
Kontinuierliche Erleuchtung und kontinuierliche Disziplin
Organisationen sollten danach streben, generativ zu sein. Eine generative Organisation kann etwas produzieren oder neue Möglichkeiten hervorbringen. Sie bringt Ideen oder neue Arbeitsweisen hervor. Einfach gesagt, sie machen neue Dinge möglich. Sie verlassen sich nicht nur auf das Management, wenn es um neue Ideen geht, sondern die Ideen kommen von der gesamten Belegschaft. Die Betonung liegt auf "wir sollten" und nicht auf "wir müssen". Es reicht nicht aus, nur Ihre Technologie und Prozesse zu verbessern. Ein weiterer wichtiger Aspekt generativer Organisationen ist, dass sie von Misserfolgen nicht überrascht werden und Stressfaktoren absorbieren können. Diese dritte Sichtweise auf CI/CD kann als kontinuierliche Beleuchtung und kontinuierliche Disziplin beschrieben werden.
Bei Continuous Illumination geht es um den Zugang zum Wissenserwerb, den Austausch von Wissen zwischen Teams und der Außenwelt und die ständige Ausrichtung auf die Mission und Vision des Unternehmens und des Produkts. Es reicht jedoch nicht aus, nur Schulungsmöglichkeiten anzubieten. Sie sollten sich bewusst darum bemühen, die richtige Mischung aus Theorie und praktischer Erfahrung zu kombinieren, indem Sie eine Kultur des Austauschs, den einfachen Zugang zu Unterlagen und das Stellen schwieriger Fragen fördern. Bei Continuous Discipline geht es darum, dass die Teams Verfahren einüben und ihre Problemlösungskompetenz verbessern. Der beste Weg, dies zu erreichen, ist das Üben von Zwischenfällen und deren Behebung. Diese Übungen sollten regelmäßig durchgeführt werden und sich darauf konzentrieren, im Falle unerwarteter Probleme effektiver zu werden. Die Einführung von Post-Mortems ohne Schuldzuweisungen, ein klares Verständnis von Rollen und Verantwortlichkeiten und das Üben von Fehlern tragen zu einer generativen Kultur bei. Weitere Informationen und nützliche Hinweise zu diesem Thema finden Sie auf der Website von Google zum Thema Site Reliability Engineering. 
Fazit
Bei CI/CD in DevOps geht es nicht nur um die Automatisierung des Softwarebereitstellungsprozesses. Die Konzentration auf den technischen Teil ist eine begrenzte Sichtweise. Angesichts des Dreiklangs von Menschen, Prozessen und Technologie sollten wir auch alle anderen genannten Konzepte berücksichtigen. Dr. Nicole Forsgren schrieb in Accelerate:
Investitionen in Technologie sind auch Investitionen in Menschen, und diese Investitionen werden unseren Technologieprozess nachhaltiger machen.
Ein Unternehmen ist ein komplexer Organismus und das Gleiche gilt für den Softwarebereitstellungsprozess. Die Optimierung des Erstellungs- und Bereitstellungsprozesses erfordert einen ganzheitlichen Blick auf das gesamte Ökosystem. CI/CD-Pipelines schaffen Vertrauen und Sicherheit, indem sie Schutzmechanismen einbetten, die verhindern, dass fehlerhafte Produkte in die Produktion gelangen. Wir glauben, dass die Optimierung all dieser kontinuierlichen Disziplinen dazu beiträgt, ein Hochleistungsunternehmen zu werden und zu bleiben.
Dieser Blog ist Teil unserer Serie "Holistische Horizonte". Lesen Sie den vorhergehenden Beitrag - "Die Softwareentwicklungs-Tool-Falle" von Tariq Ettaji. Oder lesen Sie weiter zum nächsten Artikel - "Brauche ich wirklich ein weiteres Tool" von Adnan Alshar.
Verfasst von

Dave van Stein
Process hacker, compliance archeologist and anthropologist, ivory tower basher, DepSevOcs pragmatist, mapping enthousiast, complexity reducer, intention sketcher. LEGO® SERIOUS PLAY® Facilitator.
Unsere Ideen
Weitere Blogs
Contact




