Just sticking my bib in to provide a 20+ year professional software engineer's perspective/clarification of what BETA means (not as any criticism of any comments here though, just as a "helper" for future mod devs). I'll include some context to paint the picture.
In general the following stages comprise the Development phase of the Systems Development Life Cycle (SDLC):
Development: (kinda self explanatory)
Pre-alpha: This really is no more than a development checkpoint. That is, the very underdeveloped tool at least runs and exits. In my experience, a pre-alpha is usually created to demonstrate to an Executive (or buyer) what the product will "look and feel like". Sometimes, it may be required to "seal the contract" and may be no more than a visual shell in some instances.
Alpha: Time for the testers! The developers will undertake what is known as "white box" testing (ensuring that the (P)rocessing gives the (O)utput from the (I)nput). A dedicated testing team will undertake what is known as "black box" testing (ensuring that the O from the I matches the Functional Specifications). This is an iterative process, lasting as long as time or risk permits. Alpha software is almost never released for general testing or consumption.
Beta: The product now includes all of the required features and many of the "nice to have" features. Usually, this is where the dev says "no more new features!", but may still have some slated features to add. The Beta version is generally created for user testing. It can also be considered a preview. It is often unstable and usually not ready for full release, with a disclaimer stating such usually attached to any public Beta release (although the stability-versus-Beta-tag depends on the developer for a variety of reasons, both negative and positive). HENCE why it is often released to either a select group of testers (preferable) or the general public to gain wider feedback. The aim is for any unforeseen bugs to be identified and for suggested "tweaks" to functionality to be raised. This is an iterative process, again lasting as long as time and risk permits. Some software never actually leaves Beta stage, sometimes because the developer does not want to provide full product support (sly dogs) and sometimes because no showshopping bugs are found so the need to progress just never eventuates. Social commentary coming...I personally find it quite a contradiction for developers to release Beta software whilst stating that it is fully stable and bug free, or not requesting user feedback. Kinda contradicts the purpose of this stage - the software may as well have just progressed to general release and saved everyone's time! Conversely, the "here it is untested" stuff released as Beta annoys me too. There's actually a (derogatory) term for this which I've mentioned below. But for modders I'm more tolerant - they are not professionals after all and as long as they say it's undertested, it is really just a case of caveat emptor. But it's still annoying nonetheless.
Release Candidate: A term you've heard me mention here a few times. Code complete, and usually at "distribution ready" stage. No new code or features will be added. Only data tweaks and last minute bug fixes allowed. This is the most frustrating time to find bugs due to the reverse workflow potentially created!
General Release: As stable and bug free as the developers think is possible. May also be called a "Gold" release. But not Gold as in a reflection of the number of sales, but Gold as in a reflection of the commencement of mass production (as in a "Gold master"). A subsequently marketed "Gold" release could refer to a more stable updated release (ie with all subsequent patches and fixes included), or it could just be a marketing tactic to repackage old material.
Notes:
*Just to add some complexitiy, Alpha and Beta testing can occur concurrently.
**Any mod developer that says "here it is, I haven't had time to test it though" is actually releasing what is known derogatorily as a "Gamma Release", ie a release where the developer has chosen to let general users "test" rather than "use" the final product (even though it may be marketed as a Beta or full release)!
***Disclaimer: Just like the SDLC, the above is just one common example of the Development phase. Individual Dev teams may include extra stages (like Delta testing), or exclude stages (like Pre-alpha). But ultimately, all follow the same basic path.
Maybe somewhat OT for which I apologise, but if it helps provide some framework for future modders...
|