The emergence of Application Service Providers, otherwise known as Software-as-a-Service, has made the notion of having formal software development stages somewhat deficient as applied to this form of software deployment. Is it meaningful to label something as Alpha, Beta, Release Candidate, or General Availability Release (GAR)?? I say no. Why? Because as a service, the latest software build is constantly being delivered to end-users. In other words, to say that your software is 'alpha' means little to someone who is actively using this version. To them, this is your product as it currently exists, i.e. GAR. I would maintain that simply giving your software service a numerical version designation says enough. For instance, something that is version 0.5 connotes one thing versus something that is version 9.0. The former says that the software service is fairly immature and potentially unstable versus the latter which indicates maturity. Each major addition of functionality/milestone would increment the version number by 1 whole number versus a minor release to address bugs, etc. which would increment the version by 1 decimal number. As an example, version 1.0 would change to 2.0 for a major change in functionality versus 1.1 for a minor release to address bugs. In summary, in the software service world, giving something the designation of 'alpha' or 'beta' is a bit of a misnomer since presumably, as a service, your software will be constantly evolving with enhancements being periodically if not frequently delivered to end-users.