Science Fair Project Encyclopedia
In software engineering, development stage terminology expresses how the development of a piece of software has progressed and how much further development it may require. Each major version of a product usually goes through a stage when new features are added (alpha stage), then a stage when it is actively debugged (beta stage), and finally a stage when all important bugs have been removed (stable stage). Intermediate stages may also be recognized. The stages may be formally announced and regulated by the product's developers, but sometimes the terms are used informally to describe the state of a product.
Code names are sometimes assigned to products that are prior to the release.
Sometimes a build known as pre-alpha is issued, before the release of alpha or beta. In contrast to alpha and beta versions, the pre-alpha is usually not "feature complete"; that is, it is at the stage where designers are still wondering about what functionalities the product should have. Such builds can also be called development releases or nightly builds.
An alpha version or alpha release usually represents the first feature complete version of a computer program or other product, likely to be unstable but useful for demonstrating internally and to select customers. Some developers refer to this stage as a preview, as a technical preview or as an early access. Often, this stage begins when the developers announce a feature freeze on the product, indicating that no more features will be added to this version of the product, only bugs will be removed.
The beta version of a product still awaits full debugging or full implementation of all its functionality, but satisfies a majority of the requirements. Beta versions (or just betas) stand at an intermediate step in the full development cycle. Developers release them to a group of beta testers (or, sometimes, to the general public) for a user test. The testers report any bugs that they found, features they would like to see in the final version, etc. When a beta becomes available to the general public it often becomes used almost as widely as the finished product (when developers subsequently complete that product). Usually developers of freeware or open-source betas release them to the general public while proprietary betas go to a relatively small group of testers. Recipients of highly proprietary betas may have to sign a non-disclosure agreement.
The term release candidate can refer to a final product, ready to release unless fatal bugs emerge. In this stage, the product features all designed functionalities and no known showstopper class bugs. Microsoft Corporation often uses the term release candidate. Other terms include gamma, (and occasionally also delta, and perhaps even more Greek letters) for versions that are substantially complete, but still under test, and omega for final testing of versions that are believed to be bug-free, and may go into production at any time. Gamma, delta, and omega are, respectively, the third, fourth, and last letters of the Greek alphabet. Some users disparagingly refer to release candidates and even final "point oh" releases as "gamma test" software, suggesting that the developer has chosen to use its customers to test software that is not truly ready for general release.
The gold or release version of a product is the final version of particular product. It is typically almost identical to the final release candidate, with only any last-minute bugs fixed. In commercial software releases, this version may also be signed (used to allow end-users to verify that code has not been modified since the release).
The term gold anecdotally refers to the use of "gold master disks" which were used to send the final version to manufacturers (who use the gold master to create the mass-produced retail copies.) It may, in this context, be a hold-over from music production.
Microsoft and others use the term "RTM" (Release to Manufacturing) to refer to this version (as in, "Build 2600 is the Windows XP RTM release").
In open source programming, version numbers or the terms stable and unstable commonly distinguish the stage of development. In the Linux kernel, version numbers take the form of three numbers, separated by a period character or "point". An even second number represents a stable release and an odd second number represents an unstable release. The practice of using even and odd numbers to indicate the stability of a release has featured in many other open source projects.
The contents of this article is licensed from www.wikipedia.org under the GNU Free Documentation License. Click here to see the transparent copy and copyright details