Release
Inhaltsverzeichnis: Definition – Arten in der Softwareentwicklung – Begriffsabgrenzung – Bereitstellung – Vermarktung – Hinweise
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 – ein Begriff mit vielen Bedeutungen und Verwendungen
Der Begriff Release ist in der Produkt- und Softwareentwicklung weit verbreitet. Er kennzeichnet eine konkrete Version eines Produkts, die Anwendern zusätzliche Optionen durch neue Features und Funktionen bietet. Doch auch in anderen Branchen und Bereichen wird der Begriff häufig verwendet:
- 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.
Wer also den Begriff nutzt oder hört, sollte auf den Kontext achten, da die Bedeutung entsprechend variiert.
Arten von Releases in der Softwareentwicklung
Im Kontext von Produkten lässt sich oft beobachten, dass eine Releaseangabe den Produktnamen erweitert. Dies bietet die Möglichkeit, unterschiedliche Generationen¹ zu vermarkten oder unterschiedliche technische Merkmale² zu kommunizieren.
In der Softwareentwicklung lassen sich drei verschiedene Arten von Releases unterscheiden:
- 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.
Begriffsabgrenzung: 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:
Haben Sie Lust auf einen neuen Lieblings-Newsletter?
Die Inhalte auf dieser Seite dürfen Sie gerne teilen oder verlinken.
[1] Unterschiedliche Versionen des Game Boys
[2] Unterschiede bei USB 2.0, 3.1, 3.2 und 4.0
In manchen Fällen wird auch von einem Paper-Release gesprochen. Dabei handelt es sich um die Ankündigung einer neuen Version eines Produkts, die allerdings erst einmal nur auf Papier und noch nicht in der Realität verfügbar ist.
Hier finden Sie ergänzende Informationen aus unserer Rubrik Wissen kompakt: