From Idea to Reality
There are five stages in the software development life cycle. These necessary phases are essential to the overall goal of putting most software products on the shelf. This will ensure that 99% of all bugs are fixed and that the product is perfect or near.
The five stages are pre-alpha, alpha, beta, release candidate, and the general availability release. Each stage has a purpose and a goal that is set to help engineers and developers put out the very best merchandise as soon as they possibly can. They know that doing so will create trust between the brand name and their fans or customers.
Pre Alpha & Alpha Stages
The very first step in software product development is the pre-alpha stage. The pre-alpha stage actually means that all tasks are completed or done before the software-testing portion begins. This means that it is the first milestone in the development partaking and the testing of the software can start. Although, it does not mean that every feature is included or those that are inclusive are fully developed. It does mean that the project is well on its way.
The alpha stage is usually for the software testers who are within the organization. They are not the developers or the engineers for the company; they will do the internal or in-house testing of the software for the sake of helping to develop a strong product. Some actually call this the alpha release of the software, in that most times it will not be placed in the hands of the public.
The beta stage is one that most are more familiar with and have probably participated in at one time or another. In this portion of the development life cycle, those outside of the organization test the product. This version usually includes all fully functional features. This version may be as close as it gets to the final copy. It is for testing in hopes of finding any last minute bugs that need fixing or any issues, in general. It is a great time for feedback from those who test the product outside of the organization. Feedback from the public is generally welcomed.
Once the software has passed through beta release, it is one more step closer to the final release version. This version is the actual product ready and can be purchased by consumers, if they so desire. If there are users who have been taking advantage of the beta version, it is during this phase that they receive billing for the product, if they continue to use it.
"Microsoft and others use the term “release to manufacturing” (RTM) to refer to this version (for commercial products, like Windows XP, as in, “Build 2600 is the Windows XP RTM release“), and “release to Web” (RTW) for freely downloadable products." 
In other words, it is right before the production phase of the software development life cycle. Nevertheless, if it is RTW or 'released to the web' it may be available for downloading on the web somewhere for no cost to all users. If it is a product such as an open source software product, meaning it is free to all.
If it were a CD, only then it would go to the manufacturer and be processed with label and branding. It is priced and boxed, ready to be on display in a store. This boxed copy complete with all packaging frills, is the general availability release.
That overall is a brief overview of the software development life cycle for most products. If you own some type of software program such as your computer's operating system, most likely your OS went through these stages even if it is an open source product, such as UNIX or Linux.
 Admin. "Software release cycle – Explain Stuff – Fact of the day". Explain Stuff – Science and Technology Concepts Explained. July 19, 2009 <https://www.explainstuff.com/2009/04/27/software-release-cycle-explain-stuff-fact-of-the-day/>.
Image Credit: sxc.hu/nazreth