When you check a software developer
's page, and you see them say "Alpha" or "Final Candidate," this is what they mean. This goes for software, games, and OS
's like Microsoft Windows
Linux, and Mac OS X don't follow this model, they are in perpetual development. Every so often a new version comes out for everyone to upgrade. Rather than have everyone wait for a finished product, people use it and wait for new revisions to come out that have more features and less bugs. The ability of Open Source means that the consumers have a chance to take the code and improve it, thus helping the community.
Other methods of development are Extreme Programming, spyral, prototyping, waterfall, and see Software Lifecycle Model.
Average shelf software and video game development works as follows:
Early Development - This project has been signed and code work has begun. The concepts for the program are being made, and the cool software flow charts are drawn.
Development - Code work has begun, levels, characters, missions, etc... are being implemented.
First Playable - For games. At this stage, enough code work has been done to see some magic happen on your monitor, you can run the game and get a bit into it, though the game is not fully playable and many features may not be functioning.
Alpha - At this stage, the software is still buggy but solid and usable for basic features. There may be a few features that still need to be implemented, but programmers can usually pinpoint the major areas to fix. It's not yet beta because features are still missing. Every so often there are "preview releases" for the public, but they are buggy and unfinished, not yet beta because of missing features.
Beta - At this stage, all the code has been written and all features have been implemented. Beta testers are brought in to test the software for bugs. In games, people are sent copies to "break" the game, basically playing it on different machines, in different ways, to find any bugs and get a solid final candidate. This is a cycle in which a bug is found, squashed, and a new updated copy is tested and sent to testers. Some companies release a "Public Beta" which is free (unless you're microsoft) and a little buggy. Usually they have an expiration date, but help nail bugs by widespread use and testing.
Final Development - Almost all aspects of the program, like levels and sections in games, are complete. The game is playable and backgrounds and textures have been added.
Final Candidate - Once all beta issues have been fixed, the game is then sent off for approval. In large projects, a certain software "build" is chosen. There may be many beta/final development builds in progress for different sections of the program. The fixed code from all is merged into a Final Candidate build.
Gold Master (GM) - Once the program has been approved by the managment, the CD is sent out for duplication, or released to the web. Also known as "gone GOLD"
Released - This is for updates, demos and patches. The item has been tested and is available as a download, via the internet. It's separate from GM because the company tends to hold GM, not release it for a while. Ever so often a patch is yanked because of a bug not discovered until the first hundred downloads, setting back the cycle.
Duplication - Only for software not availible for download. The end is near, the gold master and all packaging assests (including the box and manual) are sent for duplication. Once a project reaches this stage, the progam should be on store shelves in two weeks.
Shipping - You'll see this on a web page, or press release. The title has been produced and packaged, and copies have begun shipping.