This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
A software release life cycle is the sum of the stages of development and maturity for a piece of computer software ranging from its initial development to its eventual release, and including updated versions of the released version to help improve software or fix software bugs still present in the software.
There are several models for such a life cycle. A common method is that suggested by Microsoft, which divides software development into five phases: Pre-alpha, Alpha, Beta, Release candidate, and Stable. Pre-alpha refers to all activities performed during the software project before formal testing. Alpha phase generally begins when the software is feature complete but likely to contain several known or unknown bugs. Beta phase generally begins when the software is deemed feature complete, yet likely to contain a number of known or unknown bugs. Software in the production phase will generally have many more bugs in it than completed software, as well as speed/performance issues. The focus of beta testing is reducing impacts to users, often incorporating usability testing. The process of delivering a beta version to the users is called beta release and this is typically the first time that the software is available outside of the organization that developed it. Release candidates are versions of a software product which are nearly ready for release to manufacturing, but are still being tested for software bugs, which can be either resolved or worked around in these versions.
A software release life cycle is used in a similar way to a device life cycle. For example, Apple Inc. follows a major release cycle for MacOS and iOS operating systems. Major releases are numbered in alternating major version and minor version pairs. For example, MacOS Catalina is version 10.15, and MacOS Mojave is version 10.14. Each release of an operating system is followed by one or more minor releases, which include security updates, bug fixes, and improvements to the operating system. For example, Apple released macOS Catalina 10.15.1 on 5 November 2019.
Software release cycles are often categorized by release types and vary in scope. A release type out of scope of a software release life cycle is a beta release.