The is an interesting article on zdnet today entitled A long winding road out of beta. In the article Paul Festna comments on the fact that a lot of companies are now performing the Beta stage of software development in public and for a long period of time.
I think that Paul is missing the point here about what the Beta in “Beta Software” really means. I do agree that in the classic software development process the beta stage could be described some what like this:
The beta version, named for the second letter of the Greek alphabet, typically refers to the second stage of software testing. Traditionally distributed to a limited group of testers, it follows the alpha version, which is tested in the lab
This description doesn’t map very well on to software like flikr or gmail. Both of these products are going through a long beta cycle. In fact I suspect that during this process many new features have been introduced and at the introduction of each one your traditional beta cycle really recommences. In traditional software development this would have been obvious to the beta tester because the version number of the software they were using would have been incremented. However, the web based software that we are discussing here doesn’t really have a user visible version number and as such these changes are not obvious.
To me as a software developer the different stages of software development mean different things as following:
- Alpha – The software is functional to some degree, it has some if not all the features desired for the current release. It is possible that it has serious bugs (or features!).
- Beta – The software is feature complete for the current version. We need to find out from our users whether or not it does what they expect and that the way in which it works fits there usage pattern.
- Release Candidate – This is the result of fixing any issues found in the Beta version, without adding any new features, new features would require another Beta release.
- Release Product – The product is finished, the next version (if it is to be developed further) will have a set of new features/ incremental improvements