What is a Release?
Table of Contents: Definition – Types in software development – Differentiation of terms – Deployment – Publishing – Notes
Smartpedia: A release refers to a status of a product or software with defined functions that offer users and customers additional possibilities.
Release – a term with many meanings and uses
The term release is widely used in product and software development. It characterises a specific version of a product that offers users additional options through new features and functions. However, the term is also frequently used in other sectors and areas:
- in pharmacology for setting free messenger substances,
- in music, the let go of a key on an electronic keyboard instrument, also known as release velocity,
- in sport archery the unhand of the bowstring,
- when fishing, the process of releasing a caught fish (catch and release),
- in the publication and marketing of cinematographic films, records, CDs or books, some events are for example promoted as release parties,
- in the automotive industry in the model maintenance of vehicle series (also known as facelifting),
- …
The use of the term goes back to the manifold meanings of release. For example, energy is released, someone is released from prison, a hand brake is released, hormones are released, a service is released etc.
So anyone who uses or hears the term should pay attention to the context, as the meaning varies accordingly.
Types of releases in software development
In the context of products, it can often be observed that a release specification extends the product name. This offers the opportunity to market different generations¹ or to communicate different technical features².
In software development, three different types of release can be distinguished:
- A major release includes essential innovations of a product or software, e.g. functional areas that are supported for the first time, such as the traceability of requirements or the visualisation of goals in a goal diagram in a requirements engineering tool. Such functional innovations are often accompanied by changes to the system or software architecture. In addition, a major release also replaces minor one and hotfixes that have been made available since the last major release was released.
- A minor release contains “minor” additions and enhancements to existing features. For example, from now on, the meaning of goals for stakeholders could be visualised in the goal diagram with a weight or the traceability between requirements and their source could be enabled as so-called pre-requirements traceability.
- The emergency release is a term for software versions that are available at short notice and that solve problems. They are also called bug fixes or hotfixes. Usually they contain only bug fixes and no additional features.
Differentiation of terms: updates, upgrades and release candidates
In the course of installation and commissioning, updates and upgrades are often mentioned. The installation of an update is usually equivalent to the installation of a minor release (or the installation of ongoing versions). And installing an upgrade is usually identical to installing a major release (or installing versions that skip others, e.g. an upgrade from version 2 to version 4).
In the context of product or software development, the term release candidate is often used. It refers to the version status before the release. It is the result of a phase in the software development process. The official release in the development process turns a candidate into a release, either a minor or a major release. In the course of a bugfixing, the term release candidate is not used.
The deployment of releases
How are releases made available to customers and interested parties?
The provision of a new one is planned and implemented in release management in many organisations. Release Management typically creates a release plan and uses it to plan the scope, content and timing of minor and major versions. If required, it also implements emergency releases at short notice. Release Management can also be responsible for maintaining change logs or providing keys for releasing features.
The actual provision of releases varies: are these existing customers with corresponding maintenance and service agreements or new customers? Today, existing customers with service agreements usually receive new versions (i.e. emergency, minor or major releases) automatically. Depending on the system or software architecture and/or marketing, new customers receive either the latest major release with a purchase followed by possible minor or emergency versions, or directly the latest minor one.
The marketing and publishing of releases
Imagine that there are two comparable products: X and Y. X is available in version 4.3, Y in version 10.2.
- Which product is longer on the market?
- Which product has more features?
- For which product are new versions available more regularly?
It is obvious to believe that Y 10.2 is older, more mature, functionally more comprehensive than X 4.3. In fact, it could be the other way around. Maybe X has version 4.3.127, i.e. 127 smallest changes compared to 4.3.0, and the manufacturer of Y makes his versioning less small, but increases the major release label for marketing reasons. A high number can therefore be an indicator of age, maturity, or functionality, but does not necessarily have to be.
Impulse to discuss:
How useful is it to define release backlogs in agile software development?
Notes:
[1] Different releases of the Game Boy
[2] Differences in USB 2.0, 3.1, 3.2 and 4.0 (in German)
In some cases, this is also referred to as a paper release. This is the announcement of a new version of a product that is only available on paper and not yet in reality.
If you like the article or would like to discuss it, please feel free to share it in your network. And if you have any comments, please do not hesitate to send us a message.
Here you will find additional information from our Smartpedia section: