Release

Was ist ein Release, wo wird der Begriff verwendet, welche Arten gibt es und wie erfolgt die Bereitstellung?

Wissen kompakt: Ein Release bezeichnet einen Stand eines Produkts oder einer Software mit definierten Funktionen, die Anwendern und Kunden zusätzliche Möglichkeiten bieten.

Release – die Freigabe einer neuen Produktversion

Der Begriff Release wird sehr unterschiedlich verwendet. In der Produktentwicklung bezeichnet es eine neue Version eines Produkts, die freigegeben und veröffentlicht wird. Es ist ein Stand eines Produkts mit definierten Funktionen, die Anwendern und Kunden zusätzliche Möglichkeiten verspricht.

Häufig erweitert das Release den Produktnamen und drückt somit dessen Neuartigkeit aus. Leicht lässt sich dies bspw. bei Spielekonsolen wie dem Game Boy¹, verschiedenen USB Generationen² oder in der Softwarebranche³ beobachten. 

Releases - drei verschiedene Arten

Releases in unterschiedlichen Branchen und Bereichen

Der Begriff Release wird in zahlreichen Branchen und Bereichen genutzt:

  • in der Softwareentwicklung bei der Veröffentlichung neuer Versionen,
  • in der Pharmakologie bei der Ausschüttung von Botenstoffen,
  • in der Musik beim Loslassen einer Taste eines elektronischen Tasteninstruments, auch als Release Velocity bezeichnet,
  • im Sport beim Bogenschießen das Loslassen der Bogensehne,
  • beim Angeln das Wiederfreilassen eines gefangenen Fischs (Fangen und Freilassen / catch and release),
  • bei der Veröffentlichung und Vermarktung von Kinofilmen, Schallplatten, CDs oder Büchern, einige Events werden bspw. als Release Parties promotet,
  • in der Automobilindustrie bei der Modellpflege von Fahrzeugreihen (u.a. auch als Facelifting bezeichnet),

Die Verwendung des Begriffs geht auf dessen mannigfaltige Bedeutung zurück. Als Verb übersetzt bedeutet der englische Begriff unter anderem (in alphabetischer Reihenfolge): abgeben, ablösen, ausgeben, ausklingen, auslösen, ausrücken, befreien, entbinden, entspannen (Werkzeug, Werkstück), erlösen, freilassen, freistellen, herausgeben, loslassen, losmachen, veröffentlichen etc. So wird bspw. Energie freigesetzt, jemand aus dem Gefängnis entlassen, eine Handbremse gelöst, Hormone ausgeschüttet, ein Service freigeschaltet etc.

Übersetzt als Substantiv steht Release unter anderem (in alphabetischer Reihung) für: Abgabe, Ablassen, Abwurf (Sport), Ausgabe, Auslöser, Ausschüttung, Befreiung, Erlösung, Freigabe, Freilassung, Freilaufen (Sport), Freisetzung, Lösen, Quittung, Übertragung, Veröffentlichung, Verzicht etc. 

Arten von Releases in der Softwareentwicklung

Es gibt verschiedene Arten von Releases in der Produktentwicklung bzw. der Softwareentwicklung:

  • Ein Major Release – auch als „große Veröffentlichung“ oder Hauptversion titutliert – umfasst wesentliche Neuerung eines Produkts bzw. einer Software, also bspw. Funktionsbereiche, die fortan erstmalig unterstützt werden wie bspw. in einem Requirements Engineering Tool die Traceability von Anforderungen oder die Visualisierung von Zielen in einem Zieldiagramm. Oftmals gehen solche funktionalen Neuerungen mit Veränderungen an der System- bzw. Softwarearchitektur einher. 
    Darüber hinaus ersetzt eine Hauptversion auch kleinere Ergänzungen und Erweiterungen, die seit der letzten Freigabe zur Verfügung gestellt wurden.
  • Ein Minor Release enthält „kleinere“ Ergänzungen und Erweiterungen von bereits vorhandenen Funktionen. Bspw. könnte im Zieldiagramm fortan die Bedeutung von Zielen für Stakeholder mit einem Weight visualisiert oder die Nachvollziehbarkeit zwischen Anforderungen und ihrer Quelle als sogenannte Pre-Requirements Traceability ermöglicht werden. 
  • Ein Emergency Release bezeichnet kurzfristig verfügbare Softwareversionen, die Probleme beheben. Es handelt sich also um eine „Notfall-Freigabe“, die in der Regel lediglich Fehlerbeseitigungen und keine zusätzlichen Funktionen enthält. Alternativ wird auch von Bugfixes, Emergeny Fix oder Hotfixes besprochen. 

 

Updates, Upgrades und Release Candidates

Im Zuge der Installation und Inbetriebnahme von Software wird oftmals auch von Updates und Upgrades gesprochen. Die Installation eines Updates ist meist gleichbedeutend mit der Installation einer „kleineren Version“ (oder mit der Installation fortlaufender Versionen). Und die Installation eines Upgrades ist meist identisch mit der Installation einer Hauptversion (oder der Installation von Versionen, die andere überspringen, also bspw. ein Upgrade von Version 2 auf Version 4).

Im Kontext der Produkt- bzw. Softwareentwicklung wird auch immer wieder vom Release Candidate bzw. Kandidaten gesprochen. Er  bezeichnet den Versionsstand vor der Veröffentlichung und Freigabe einer neuen Version. Es ist das Ergebnis einer Phase im Prozess der Softwareentwicklung. Durch die offizielle Freigabe im Entwicklungsprozess wird aus einem Kandidaten entweder ein Minor oder ein Major Release. Im Zuge eines Bugfixings wird nicht von Release Candidates gesprochen.

Die Bereitstellung von Releases

Wie erhalten Kunden und Interessenten neue Produkt- oder Softwareversionen? Die Bereitstellung wird in vielen Organisationen im Release Management geplant und umgesetzt. Es erstellt klassischerweise einen Release Plan und plant so den Umfang, Inhalt und Zeitpunkt der Bereitstellungen. Abhängig von den Produkten und Branchen, sowie individueller Unternehmensstrategien variieren entsprechende Zyklen stark voneinander. Auch die kurzfristige Realisierung von Bugfixes, die Qualitätskontrolle zur Überwachung der im Produktmanagement bzw. Änderungsmanagement vereinbarten Kriterien, die Pflege von Changelogs und die Lieferung von Release Keys zur Freigabe von Funktionen kann dem Release Management obliegen.

Die eigentliche Bereitstellung variiert in Organisationen: handelt es sich um Bestandskunden mit entsprechenden Wartungs- und Servicevereinbarungen, um Neukunden oder Interessenten? Bestandskunden mit Servicevereinbarung erhalten heutzutage meist automatisiert sämtliche neuen Versionen. In Abhängigkeit von der System- bzw. Softwarearchitektur und/oder dem Marketing erhalten Neukunden bei einem Kauf entweder das neueste Major Release und im Anschluss mögliche Minor oder Emergency Releases, oder direkt das neueste Minor Release. Und Interessenten erhalten zum kostenlosen Testen möglicherweise eine zeitliche limitierte Vollversion einer Software oder eine funktional reduzierte Trial- bzw. Personal Edition. 

Die Vermarktung und Veröffentlichung von Releases

Stellen Sie sich vor, es gibt zwei vergleichbare Produkte: X und Y. X ist in Version 4.3 verfügbar, Y in Version 10.2.

  • Welches Produkt ist länger am Markt?
  • Welches Produkt umfasst mehr Funktionen?
  • Für welches Produkt gibt es regelmäßiger neue Versionen?

Es ist naheliegend zu glauben, dass Y 10.2 älter, reifer, funktional umfassender als X 4.3 ist. Tatsächlich könnte es aber genau anders herum sein. Vielleicht gibt es von X die Version 4.3.127, also 127 kleinste Änderungen im Vergleich zu 4.3.0 und der Hersteller von Y gestaltet seine Versionierung weniger kleinteilig, sondern erhöht aus Gründen der Vermarktung die Major Release Kennzeichnung. Eine hohe Versionsnummer kann also ein Kennzeichen für Alter, Reife oder Funktionsumfang sein, muss es aber nicht.

Impuls zum Diskutieren:

Wie sinnvoll ist es, in der agilen Softwareentwicklung Release-Backlogs zu definieren?

Hinweise:

[1] Unterschiedliche Versionen des Game Boys
[2] Unterschiede bei USB 2.0, 3.1, 3.2 und 4.0
[3] Verschiedene Software-Freigaben am Beispiel der Produktpalette von microTOOL

Hier finden Sie ergänzende Informationen aus unserer Rubrik Wissen kompakt:

Wissen kompakt: Welche Arten von Traceablity gibt es?
Welche Arten von Traceablity gibt es?
Wissen kompakt: Wie funktioniert Bugfixing?
Wie funktioniert Bugfixing?
Wissen kompakt: Was ist ein Changelog?

Was ist ein Changelog?