Software release life cycle

Some software, particularly in the internet and technology industries, is released in a perpetual beta state, meaning that it is continuously being updated and improved, and is never considered to be a fully completed product.

[5] A feature-complete (FC) version of a piece of software has all of its planned or primary features implemented but is not yet final due to bugs, performance or stability issues.

Usually, feature-complete software still has to undergo beta testing and bug fixing, as well as performance or stability enhancement before it can go to release candidate, and finally gold status.

As the Internet has facilitated the rapid and inexpensive distribution of software, companies have begun to take a looser approach to the use of the word beta.

Private beta could be suitable for the software that is capable of delivering value but is not ready to be used by everyone either due to scaling issues, lack of documentation or still missing vital features.

This build may be digitally signed, allowing the end user to verify the integrity and authenticity of the software purchase.

The RTM build is known as the "gold master" or GM[13] is sent for mass duplication or disc replication if applicable.

RTM could also mean in other contexts that the software has been delivered or released to a client or customer for installation or distribution to the related hardware end user computers or machines.

The term does not define the delivery mechanism or volume; it only states that the quality is sufficient for mass distribution.

The deliverable from the engineering organization is frequently in the form of a golden master media used for duplication or to produce the image for the web.

[15] Such service releases contain a collection of updates, fixes, and enhancements, delivered in the form of a single installable package.

Classes of software that generally involve protracted support as the norm include anti-virus suites and massively multiplayer online games.

Continuing with this Windows XP example, Microsoft did offer paid updates for five more years after the end of extended support.

[16] When software is no longer sold or supported, the product is said to have reached end-of-life, to be discontinued, retired, deprecated, abandoned, or obsolete, but user loyalty may continue its existence for some time, even long after its platform is obsolete—e.g., the Common Desktop Environment[17] and Sinclair ZX Spectrum.

If the developer wishes, they may release the source code, so the platform will live again, and be maintained by volunteers, and if not, Usage of the "alpha/beta" test terminology originated at IBM.

Martin Belsky, a manager on some of IBM's earlier software projects claimed to have invented the terminology.

Major public betas developed afterward, with early customers having purchased a "pioneer edition" of the WordVision word processor for the IBM PC for $49.95.

In 1984, Stephen Manes wrote that "in a brilliant marketing coup, Bruce and James Program Publishers managed to get people to pay for the privilege of testing the product.

"[19] In September 2000, a boxed version of Apple's Mac OS X Public Beta operating system was released.

In February 2005, ZDNet published an article about the phenomenon of a beta version often staying for years and being used as if it were at the production level.

An example of a basic software release life cycle
Microsoft Windows 2000 Server Release Candidate 2 media.
Satya Nadella of Microsoft with the gold master disc of Gears of War 4
Milestones in a product life cycle: general availability (GA), end of life announcement (EOLA), last order date (LOD), and end-of-life (EOL)