What is General Availability?
General availability, abbreviated as GA, refers to when a product is made widely available to users. It is the phase when all activities necessary to make the solution accessible to the general public for purchase are well underway. This stage is also referred to as production release.
Products that make it to general availability have gone through several earlier steps and are deemed ready for use by the public. They have shown to be usable and reliable. GA entails that all relevant commercialization activities, including security and compliance tests, have been concluded.
Release Lifecycle
General availability is one of the phases in a software release lifecycle or, simply, a product lifecycle. The latter is a series of steps that a product passes through from the beginning of development to the eventual release.
Aside from GA, other stages in the release lifecycle can include:
- Pre-alpha
- Alpha
- Beta
- Release candidate
- Release to manufacturing or release to marketing (RTM)
- Production or live release
General availability is the phase that follows RTM. As stated in the intro, some people also call it production release (the last stage in the cycle).
These stages of product development can also be divided into two categories: pre-release and release. The first four – pre-alpha, alpha, beta, and RTM – belong to the pre-release category, while the rest are release stages.
The origin of the software release lifecycle, more especially the use of alpha and beta, is traced to IBM. These terms described the first and second tests that were done for verification before a product is announced and sent for mass production respectively.
General Availability vs. Beta
Of all the phases in the product lifecycle, beta and GA are arguably the ones that customers are more aware about. Companies, particularly those in the software industry, typically disclose that a solution is in beta when it is. Also, when making a release to the market, it is not uncommon to announce beforehand the date on which this would happen.
So how do these two stages of the product release lifecycle compare?
The beta phase is when you have completed the features of a solution but you are yet unsure of what bugs are present. It is common for beta versions to have multiple bugs that the development team hasn’t been able to pick.
Beta testing aims to uncover these known or unknown issues and generate feedback from users. It often includes usability tests.
Betas can be open or closed, depending on who has access to test them. They may also last for a specific period or be perpetual – in the latter case, there’s practically no final “release” as features are constantly added.
While a product in beta, sometimes called betaware, is not considered ready, one that is generally available is. The GA stage is when things that haven’t been finalized in beta versions, such as security testing and compliance, are deemed completed.
General availability is the point when you have a product that you can sell to the general public. The product must be good enough to deliver on its promised features or do relatively well at this. A GA product is usually said to have “gone live.”
The fact GA follows RTM doesn’t imply that it begins immediately after the latter. It is not impossible for months to pass before having a product to offer the general public.
It should be noted that availability can vary based on certain factors, such as language, release form, or region.
Software Support
General availability is more or less the last phase in the software release lifecycle. At this stage, a product is deemed to be free of serious issues and to be satisfactorily reliable. It is fully supported including with documentation and openly-available pricing.
A piece of software gets extra or supporting releases during its supported lifetime. A variety of terms are used to describe these, including “service releases,” “maintenance releases,” or “patches.” These releases bring new updates, fixes, features, or enhancements.
Support often lasts for a defined duration. At the end of this period, a product is said to have gotten to its end of life. No more bug fixes or new feature additions are implemented. While such a product may still be available to the public, it is discontinued or retired by its maker.