portrait timon

Strategie

Sparen Sie bis zu CHF 120K pro Entwickler und Jahr mit einer CI/CD-Pipeline - ein Business Case

Von Timon3/9/2021

Traditionell veröffentlichen softwareentwickelnde Organisationen neue Anwendungsfunktionen in Zyklen. Abhängig von der Anwendung und dem organisatorischen Aufbau dauern solche Release-Zyklen zwischen 2 Wochen und 6 Monaten. Somit wird neue Software zwischen 2 und 26 Mal pro Jahr veröffentlicht.

In der Theorie sieht ein typischer Software-Releasezyklus wie folgt aus:

  1. Code schreiben - ein Team von Entwicklern arbeitet an verschiedenen Anwendungsmerkmalen. Sie fügen vorhandenen Code hinzu und ändern ihn.
  2. Code integrieren - alle Codeänderungen werden in eine bestehende Codebasis integriert.
  3. Stage code - eine modifizierte Codebasis wird manuell in einer Art Staging-Umgebung bereitgestellt (z.B. in einer virtuellen Maschine über ssh).
  4. Code testen - ein Qualitätssicherungsteam (QA) testet die neue Version auf Fehler und genehmigt Änderungen.
  5. Code verteilen - nach Genehmigung durch die QS wird der Code an ein Betriebsteam übergeben und manuell in einer Produktionsumgebung (z.B. auf einer virtuellen Maschine über ssh) verteilt.
  6. Genießen Sie den Code - die Benutzer können jetzt die neuen Anwendungsfunktionen nutzen, und alle sind zufrieden!

Was ist also das Problem mit dieser Praxis?

Erwarten Sie das Unerwartete - Fehler verlangsamen den Software-Release-Prozess

  • Die Code-Änderung kann fehlerhaft sein, ohne dass die Entwickler es merken.
  • Die Integration von Code-Änderungen bricht die bestehende Code-Basis, ohne dass die Entwickler/Integratoren dies merken.
  • Der neue Code ist nicht richtig in der Staging-Umgebung installiert oder funktioniert nicht auf die gleiche Weise wie auf dem Rechner des Entwicklers, aber die Person, die die Staging-Umgebung einrichtet, bemerkt es nicht.
  • Im Allgemeinen ist das manuelle Einrichten einer produktionsähnlichen Umgebung oder die Einführung von Code in die Produktion zeitaufwändig. Daher werden für Entwicklung und Staging oft vereinfachte Umgebungen und Bereitstellungen verwendet. Mit dieser Einschränkung ist eine vollständige Qualitätsbewertung der Code-Änderungen unter produktiven Bedingungen nicht vor dem Release durchführbar.
  • Das QA-Team findet die Fehler, aber mit einer beträchtlichen Verzögerung und ohne eine Ahnung, wo die Ursache in den vorherigen Entwicklungsschritten der verschiedenen Entwickler zu suchen ist. Infolgedessen erfordert die Behebung der Fehler ein unendliches Hin und Her zwischen QS, Betrieb und Entwicklern.
  • Einige der Fehler rutschen in die Produktion oder es werden neue Fehler bei der Bereitstellung der Produktionsumgebung oder bei der Installation des neuen Codes gemacht. Dies kann zu Produktionszwischenfällen und Anwendungsausfallzeiten führen. Zeitaufwändige, manuelle Rollbacks sind die Folge.

Was also in der Theorie einfach aussieht, ist in der Praxis ein zeitraubender, nicht-linearer Prozess. Benutzer müssen lange auf neue Anwendungsfunktionen warten und können die Anwendung nicht ohne Unterbrechungen genießen. Das Auftreten menschlicher Fehler verlangsamt den Freigabeprozess von Software. Leider sind diese menschlichen Fehler unvermeidlich. Deshalb verbringen Entwickler und Software-Ingenieure nur zwischen 25-35% ihrer Zeit mit dem Schreiben von neuem Code und etwa 50% ihrer Zeit mit der Behebung von Fehlern.

Fehlerbehebung - eine Aktivität, die Ressourcen verbraucht, aber keinen Wert produziert

Nach den Konzepten der Lean-Management-Philosophie ist die Behebung von Fehlern (Defekten) eine von sieben Arten von Verschwendung, d.h. Muda - das japanische Wort für jede menschliche Tätigkeit, die Ressourcen verbraucht, aber keinen Wert erzeugt. 50 % der Zeit für die Fehlerbehebung aufzuwenden, bedeutet im Grunde, dass 50 % des Geldes, das Sie für Ihre Entwicklungsressourcen aufwenden, verschwendet werden.

embrio.tech image

In der Schweiz kostet ein Vollzeitäquivalent (VZÄ) einer erfahrenen, hoch qualifizierten Entwicklungsressource Ihre Organisation bei einer Berechnung der Gesamtbetriebskosten etwa 240.000 CHF pro Jahr. Die Hälfte davon - 120.000 CHF pro Entwickler, der an Ihren Projekten arbeitet - ist verschwendetes Geld.

Was können Sie also tun, um die Verschwendung dieses Geldes zu stoppen und Ihre Software-Entwicklung effizienter zu gestalten - insbesondere dann, wenn menschliches Versagen ein integraler Bestandteil der Entwicklung und daher unvermeidlich ist?

CI/CD-Pipelines - Drei Strategien zur Verschwendung von weniger Entwicklungsressourcen

Drei Strategien helfen, menschliche Fehler zu vermeiden und den Zeitaufwand für deren Behebung zu reduzieren.

  1. Automation - ersetzen repetitive manuelle Aufgaben und integrieren, liefern und verteilen Codeänderungen kontinuierlich und automatisch.
  2. Frühe Fehlererkennung - Fehler und ihre Grundursachen automatisch und so früh wie möglich in der Wertschöpfungskette der Entwicklung erkennen.
  3. Easy recovery - ermöglichen ein schnelles Zurücksetzen auf eine stabile Code-Version, falls etwas die produktive Anwendung stört.

Pipelines für automatische, kontinuierliche Integration, kontinuierliche Bereitstellung und kontinuierliches Deployment (CI/CD) ermöglichen die Umsetzung dieser drei Strategien. Sie helfen Ihnen bei der Entwicklung robuster und qualitativ hochwertiger Software-Anwendungen. Sie können wertvolle Zeit und Geld sparen, das Sie für die Codeintegration, -bereitstellung und -verteilung oder für die Fehlerbehebung ausgegeben hätten. Sie können Ihren Benutzern neue Anwendungsfunktionen schnell und effizient zur Verfügung stellen. So können Sie schneller auf sich ändernde Benutzeranforderungen reagieren und die Zeit bis zur Markteinführung Ihrer Anwendung verkürzen. Und für den Fall, dass etwas schief geht, kann ein Rollback zu einer früheren Anwendungsversion mit nur einem Klick durchgeführt werden.

Eine richtig aufgebaute CI/CD-Pipeline reduziert den Muda der Software-Entwicklung. Im Idealfall können Ihre Entwickler bis zu 50% ihrer Zeit freisetzen, und Sie können bis zu CHF 120K pro Entwickler und Jahr sparen. Eine gute CI/CD-Pipeline ermöglicht es Ihnen, robuste Software nicht in Zyklen von 2 Wochen bis 6 Monaten, sondern mehrmals täglich zu veröffentlichen.

Wenn Sie mehr über CI/CD-Pipelines erfahren möchten, zögern Sie nicht, mit uns zu sprechen. Bei EBMRIO.tech unterstützen wir Unternehmen bei der Einrichtung automatisierter CI/CD-Pipelines für schnellere und bessere digitale Innovationen. Profitieren Sie von unseren Kompetenzen im DevOps-Engineering. So können Ihre Software-Tools und -Produkte schnell an sich ändernde Marktbedingungen und sich entwickelnde Benutzerbedürfnisse angepasst werden.


Wollen Sie wissen, wie viel Geld Sie mit einer automatisierten CI/CD-Pipeline in Ihrer Organisation sparen könnten?

Wir können Ihnen helfen, Ihre aktuelle Situation zu analysieren und eine auf Ihre Bedürfnisse zugeschnittene CI/CD-Pipeline einzurichten.

Reden wir!