Was ist ein Release?

Ein Release ist eine definierte Software-Version einer Anwendung. Ein Software-Release ist somit eine für Anwender definierte Software-Version mit einem definierten Funktionsumfang und Reifegrad.

Arten von Releases

Releases gibt es in verschiedenen Arten und diese haben in der Softwareentwicklung eine ganz spezielle Bedeutung:

Initiales Software-Release

Ein initiales Software-Release stellt im Allgemeinen die erste Generation einer neuen oder verbesserten Softwareanwendung dar. Im Kontext der Softwareentwicklung von Software-Produkten wird alternativ auch der Begriff Release Candidate genutzt.

Alpha und Beta-Releases von Software

Einem Release geht die Verteilung von Alpha-Releases und dann Beta-Releases oder auch Beta-Versionen der Software voraus.

Major Release

Das Major Release definiert die Hauptversion einer Softwareversion und umfasst wesentliche Neuerung eines Softwareprodukts. Solche Neuerungen können komplett neu hinzugekommene Funktionsbereiche sein oder besondere Technologien beinhalten die fortan erstmalig unterstützt werden. Nicht selten gehen solche funktionalen Erweiterungen mit Veränderungen an der System- bzw. Softwarearchitektur einher.
Darüber hinaus ersetzt die Hauptversion mit dem Major-Release auch Ergänzungen und Erweiterungen, die seit der letzten Release-Freigabe veröffentlicht wurden.

Minor Release

Ein Minor Release enthält „kleinere“ Anwendungsergänzungen und Software-Erweiterungen zu bereits vorhandenen Funktionen.

Emergency Release

Ein Emergency Release hat Relevanz in punkto IT-Sicherheit und bezeichnet kurzfristig verfügbare Softwareversionen, die gravierende Probleme beheben. Es handelt sich also um eine „Notfall-Freigabe“, die in der Regel lediglich schwerwiegende Fehlerbeseitigungen und keine zusätzlichen Funktionen enthält. Alternative Begriffe für Emergency Releases sind Bugfixes, Emergeny Fix oder Hotfixes. Vor Veröffentlichung eines Emergency Release sollten speziell definierte Test-Fälle zur Qualitätssicherung definiert und bestanden sein.

Welche Eigenschaften hat ein Software-Release?

Ein Stable-Release kennzeichnet in der Regel einen Releasestand, der für den produktiven Einsatz freigegeben ist und entsprechende Stabilitätskriterien erfüllt.

Ein Software-Release kann entweder öffentlich oder privat sein, wobei hiermit die Berechtigungsstufen innerhalb sogenannter Git-Repositories gemeint sind.

Releases in der agilen Softwareentwicklung

In der agilen Softwareentwicklung ist ein Release ein einsatzfähiges Softwarepaket, das den Höhepunkt mehrerer Iterationen darstellt. Releases können vor dem Ende einer Iteration erstellt werden.

Software-Release-Zyklus

Ein Software-Release-Zyklus ist das Ergebnis aus einzelnen Entwicklungs- und Reifephasen einer Computersoftware. Die Release-Zyklen reichen von der anfänglichen Softwareentwicklung bis zur endgültigen Freigabe einer Softwareanwendung. Dabei beinhalten Software-Releases aktualisierte Versionen, Patches und Updates der freigegebenen Version mit dem Ziel Software qualitativ zu verbessern oder noch in vorangegangenen Release-Versionen vorhandene Softwarefehler zu beheben.

Release-Management

Die Bereitstellung von Software-Releases wird in den meisten Organisationen inzwischen mittels Git-Repository-basierten im Rahmen des Release Management abgebildet. Hier werden Software-Releases geplant und umgesetzt. Im Zuge des Release Managements wird klassischerweise ein Release Plan genutzt. Auf Basis von Release Plänen planen Software-Entwickler den Umfang, Inhalt und Zeitpunkt der Bereitstellungen in Releases. Abhängig von den Software-Produkten und der individuellen Unternehmensstrategie variieren entsprechende Release-Zyklen stark voneinander. Auch die kurzfristige Umsetzung und Bereitstellung von Bugfixes, die Software-Qualitätskontrolle, vereinbarte Kriterien zur Releaseveröffentlichung, die Pflege von Change-Logs und die Bereitstellung von Release Keys zur Freigabe von Funktionen kann dem Release Management obliegen.