wiki/releases/software-release-life-cycle.md

52 lines
2.7 KiB
Markdown

---
title: Software release life cycle
description:
published: true
date: 2020-03-07T12:53:06.623Z
tags: releases, qa
---
# Software release life cycle
From [Wikipedia, the free encyclopedia](https://en.wikipedia.org/wiki/Software_release_life_cycle)
*Freely extracted and adapted.*
## Stages of development and Final release
### Preview and Early Pre-Alpha
The early preview ISOs (one or more) are meant for internal development benefit only, QA and power-users.
They may not work at all or may need some special switches to even boot. They are not intended in any way as public releases, nor suitable for any kind of review.
### Pre-alpha
Pre-alpha refers to all activities performed during the software project before testing. In typical open source development, there are several types of pre-alpha versions. Milestone versions include specific sets of functions and are released as soon as the functionality is complete.
### Alpha
The alpha phase of the release life cycle is the first phase to begin software testing (alpha is the first letter of the Greek alphabet, used as the number 1)
Alpha software can be unstable and could cause crashes or data loss. Alpha software may not contain all of the features that are planned for the final version.
The alpha phase usually ends with a feature freeze, indicating that no more features will be added to the software. At this time, the software is said to be feature complete.
### Beta
Beta, named after the second letter of the Greek alphabet, is the software development phase following alpha. Beta phase generally begins when the software is feature complete but likely to contain a number of known or unknown bugs.
Some developers refer to this stage as a preview, preview release, prototype, technical preview / technology preview (TP), or early access.
The testers report any bugs that they find, and sometimes suggest additional features they think should be available in the final version.
### Release candidate
A release candidate (RC) is a beta version with potential to be a final product, which is ready to release unless significant bugs emerge. In this stage of product stabilization, all product features have been designed, coded and tested through one or more beta cycles with no known showstopper-class bug.
A release is called code complete when the development team agrees that no entirely new source code will be added to this release. There could still be source code changes to fix defects, changes to documentation and data files, and peripheral code for test cases or utilities.
Testing is conducted to test the software from a user's perspective.
### Final release - General availability (GA)
Once released, the software is generally known as a "stable release".