Release management - How to not get it wrong
Automatisierung Bewährte Methoden Verwaltung
9 min lesen
September 9, 2023

Release Management: Was man beachten sollte!

Das Release-Management ist ein wesentlicher Bestandteil des modernen Produktlebenszyklus. Selbst kleine Teams können das Chaos der verwalteten Releases nicht bewältigen, ganz zu schweigen von Unternehmen in regulierten Branchen. Es kann immer noch etwas schief gehen - wie also richtet man den Prozessablauf des Release-Managements ein?

photo
photo
Kate Hornysh
Denis Matusovskiy

Der Prozess des Release-Managements umfasst in der Regel die Planung, das Design und die Bereitstellung von Software-Releases, um den Überblick zu behalten. Dazu gehören die Codeübergabe von den Entwicklern an die Qualitätssicherung (und bei Bedarf zurück), das Testen, mögliche DevOps-Aktivitäten im Release-Management und die Bereitstellung an sich.

Vorteile der Release-Kontrolle

Auch wenn Sie keine gesetzlichen Vorschriften einhalten müssen, gibt es eine Reihe von Gründen, Ihren Release-Management-Lebenszyklus zu formalisieren.

  • Die Release-Kontrolle bringt mehr Stabilität und Zuverlässigkeit. Die meisten Unternehmen verwenden bereits ein Tool zur Verwaltung von Testläufen und haben sogar eine gewisse Priorisierung der Probleme im Sinn. Sowohl das Unternehmen als auch die Mitarbeiter würden jedoch von einer formalen Checkliste profitieren, die sie abhaken können.
  • Die kontrollierte Einführung von Funktionen ist ein relativ neuer Vorteil, der bei aktiv unterstützten Produkten einen großen Unterschied macht. Vielleicht möchten Sie erst einmal sehen, was die ersten 10% der Benutzer von einer neuen Funktion halten, bevor Sie sie einführen. Sie könnten eine Funktion haben, die noch etwas Feinschliff braucht, aber Sie können oder wollen kein weiteres Update veröffentlichen, nur um sie zu aktivieren. Richtiges Release-Management sorgt für Modularität, um bestimmte Funktionen später zu aktivieren.
  • Eine Release-Historie ist ein großer Vorteil, auch wenn Ihr Unternehmen nicht verpflichtet ist, eine solche zu führen. Sie vereinfacht potenzielle interne Audits, liefert Daten zur Verbesserung der Softwareentwicklung und bietet die Möglichkeit, schlechte oder fahrlässige Updates schnell zu erkennen.
  • Sicherheit ist ein wichtiger Aspekt bei der Implementierung der Release-Kontrolle. Sie können nicht nur QS-Prüfungen, sondern auch manuelle Code-Abnahmen durchsetzen. Der Grund, warum man in großen Softwareunternehmen kaum Defekte sieht, ist einfach: Jemand fängt potenziell fehlerhaften Code ab.
  • Die Einhaltung des Zeitplans ist mit agilem Release-Management einfacher, wenn Ihr Unternehmen die agile Methodik anwendet. Die Release-Kontrolle schreibt echte Meilensteine vor, die das Team einhalten muss, damit ein neuer Build rechtzeitig freigegeben wird.

Vorteile der Freigabekontrolle

ALM-Lösung für agiles Release-Management

aqua ALM testen

Vorteile von On-Demand-Freigaben

On-Demand-Releases sind besser bekannt als kontinuierliche Bereitstellung. Sie entkoppeln Patches und sogar Feature-Updates von den traditionellen wöchentlichen/monatlichen Zyklen. Wir bei aqua ALM haben diesen Ansatz vor kurzem mit großem Erfolg eingeführt.

Hier sind einige Gründe für die Einführung von On-Demand Releases:

  • Schnellere Releases passen zu sich verändernden Geschäftsumgebungen. Von Pokemon GO bis Tinder mussten viele geolokalisierungsbasierte, auf Interaktion ausgerichtete Dienste umschwenken, als die Pandemie ausbrach. Selbst eine zusätzliche Woche Wartezeit hätte zu einem erheblichen Umsatzrückgang geführt, da die Länder etwa zur gleichen Zeit mit den Lockdowns begannen.
  • Geschäftliche Experimente lassen sich leichter durchführen, wenn man die Software aktualisieren kann, wann immer man will. YouTube hat vor kurzem versucht, die 4K-Wiedergabe für einen kleinen Teil der Nutzer kostenpflichtig zu machen, aber Google hat es beim ersten Hauch von Empörung in der Community wieder zurückgenommen.
  • Die Minderung von Engpässen ist wohl der größte Vorteil von On-Demand-Releases. Fertige Funktionen warten nicht wochen- oder monatelang auf ihre Freigabe. Geschäftsanalysten und das Produktteam warten nicht länger, bis sie das erste Feedback erhalten, und können sich schnell an eine zweite Iteration einer bestimmten Funktion machen.
  • Auch die Qualitätsgrundlagen werden verbessert. Selbst wenn Sie in der Urlaubssaison eine Notbesetzung haben, die ein unvorhergesehenes Problem in Angriff nimmt, gewährleistet die kontinuierliche Bereitstellung ein hohes Maß an automatisierten Tests und ein ordnungsgemäßes Release-Protokoll. Außerdem wird das Rollback vereinfacht, falls ein neues Release das Problem noch verschlimmert oder etwas anderes kaputt macht.

Vorteile der Freigabe auf Abruf

Die Best Practices und Ansätze

Hier finden Sie einige Tipps für die Einführung und Aufrechterhaltung eines guten Release-Managements. Andere Unternehmen haben aus ihren Fehlern gelernt, damit Sie es nicht tun müssen.

  • Legen Sie einen Release-Plan fest oder verwerfen Sie ihn. Der Aufbau Ihres Release-Managements wird sich etwas unterscheiden, wenn Sie eine uneingeschränkte kontinuierliche Bereitstellung im Vergleich zu den von Agile diktierten Zyklen oder sogar einem Waterfall-Release-Plan verwenden. 
  • Führen Sie Software zur Release-Kontrolle ein. Das Release-Management wird erheblich vereinfacht, wenn Sie ein Tool verwenden, das die Änderungen am Code-Repository verfolgt. GIt- und Git-Derivate sind bewährte Optionen für Unternehmen, die die Cloud nutzen können oder ausschließlich auf On-Premise-Software setzen müssen.
  • Behalten Sie verschiedene Umgebungen bei, um Unterbrechungen zu minimieren. Auch wenn Sie keine kontinuierliche Bereitstellung verwenden, ist es wichtig zu beobachten, wie sich Ihr Code verhält, bevor Sie ihn bereitstellen. Führen Sie die Bereitstellung in einer oder mehreren Testumgebungen und einer Staging-Umgebung (Stage) durch, bevor Sie in Produktion gehen. Je kostspieliger eine potenzielle Serviceunterbrechung ist, desto mehr Aufwand sollten Sie betreiben, um die Stage so produktionsnah wie möglich zu gestalten.
  • Fügen Sie Metriken und Auslöser hinzu. Ein intelligentes Release-Management kann Software zur Überwachung von Vorfällen (z. B. Splunk) nutzen, um ein schrittweises Rollout zu stoppen oder das Update aufgrund eines kritischen Problems zurückzuziehen. Diese Daten helfen auch bei der Messung der QS-Effektivität über Metriken.

Die moderne Softwareentwicklung hat sich auch von einem einzelnen Release-Manager, der für jeden Build verantwortlich ist, entfernt. Das hat der Ingenieur und heutige CEO Bob Davis vor einigen Monaten gesagt:

‘Release-Manager sollten sich die Frage stellen, wie sie ihre Aufmerksamkeit auf die Bereiche des Unternehmens richten können, an denen gearbeitet werden muss, anstatt alles zu überprüfen. Wenn zum Beispiel 100 Releases in der Pipeline sind, ist es unwahrscheinlich, dass der Release-Manager sich um jedes einzelne Problem kümmern muss.

Ein fortschrittlicher Release-Manager erkennt, was genau beachtet werden muss, und meldet sich bei Bedarf. Die Teams sind froh, wenn sie Hilfe bekommen, wenn sie sie brauchen, und sie sind froh, wenn sie nicht belästigt werden, wenn alles in Ordnung ist.’

Bob Davis, CEO bei Plutora

Warum sollten Sie eine Automatisierung des Release-Managements einführen?

Die drei Hauptargumente für die Automatisierung sind Qualität, Geschwindigkeit und zusätzliche Funktionen. Manuelles Release-Management ist zeitaufwändig und kann aufgrund des menschlichen Faktors immer noch schief gehen. Die Automatisierung löst diese Probleme und bietet Ihnen darüber hinaus zusätzliche Möglichkeiten wie schrittweises Rollout, automatisches Rollback und integrierte Tests.

Automatisiertes Release-Management funktioniert am besten, wenn es von einer Application Lifecycle Management-Lösung unterstützt wird. Solche Tools helfen Ihnen, die gesamte Release-Management-Software zu koordinieren und binden auch QS- und Entwicklungs-Problemverfolger in das Release-Management ein. Wenn das Release-Management Ihr Hauptanliegen ist, raten wir Ihnen zu einer ALM-Lösung, die über eine gut dokumentierte REST-API zur Anbindung beliebiger Tools verfügt.

All-in-one ALM für automatisiertes Release-Management, flexible QS und transparente Softwareentwicklung

aqua kostenlos testen
Auf dieser Seite:
Sehen Sie mehr
Beschleunigen Sie Ihre Releases x2 mit aqua
Gratis starten
step
FAQ
Was ist die Aufgabe eines Release-Managers?

Ein Release-Manager ist ein technisches Teammitglied, das für die Bereitstellung von Software-Updates zuständig ist. Er arbeitet mit DevOps-Ingenieuren, Softwareentwicklern und QS-Spezialisten zusammen, um neue Builds so schnell wie möglich zu veröffentlichen und gleichzeitig erhebliche Probleme zu vermeiden. Release-Manager verwenden Software für das Release-Management, um die Teamarbeit zu konsolidieren und zu automatisieren.

Warum ist Release-Management wichtig?

Release-Management beseitigt potenzielles Chaos und Missverständnisse im Prozess der Software-Aktualisierung. Es kann auch die Bereitstellung beschleunigen und Engpässe beseitigen, bei denen ein Teil des Teams wartet, bevor neue Funktionen bereitgestellt werden, um sie zu verbessern.

Was ist Release-Management in Agile?

Beim agilen Release-Management wird die Sprint-Planung eines Teams mit dem Release-Zeitplan der Software in Einklang gebracht. Am besten funktioniert es, wenn Sie am Ende eines jeden Sprints veröffentlichen, aber auch längere Zyklen können funktionieren.

closed icon