Monday, 29 November 2010

Many software products I’ve used in the last years comes with these strange titles like Alpha/Beta/Release Candidate (RC)… But never once have I seen any definition of what those terms means.

What’s the real difference between an RC and a final release? what should I expect of a beta version? should I even try to use an alpha version?

When coming to release Rapid-Dev we knew that its is not fully ready, so we needed to do some thinking on the exact term to use. On one side the product is clearly not complete (check here for details). But is in in Alpha stage or beta stage? How can I tell the difference? Should we wait and make it more stable or are we waiting too much risking investing time and money in the wrong directions?

For me the most important things is that the product will deliver value to my users and that they are fully aware of its state (transparency).

Alpha Version – My interpretation

When we came to title the release we did so in light of what we needed to achieve at this point. For me getting users feedback as early as possible, is critical. I want to know how best to help our users. even if i ran the risk of exposing a not 100% stable version.

Therefore we released as soon as the version met the following criteria's:

It gives enough core functionality to actually be of help.

it demonstrates what exactly we want to achieve and how we are approaching this.

its stable enough (hopefully) not to annoy too many people.

and that’s what I call an Alpha.

Its all about gathering feedback, that’s the main purpose for an alpha version, it might (and probably) not as usable as it can be, Its probably not as stable as it should be. However it is a good base on which I can start the discussion with my users.

So when you try an alpha version, please invest five minutes of your time to let the developers know what you think, otherwise the main point of an alpha is missed.