The idea of Alpha and Beta testing comes from the days when most software was designed from formal specifications and passed to testing after production and then to quality assurance and finally to customer acceptance. Today, most projects lack that sort of waterfall process and the 'best practice' is to talk to potential users while developing the product and to put very early versions of the product out in front of people as soon as it is possible.<p>Thinking about a user driven waterfall:<p><pre><code> potential users -> alpha testers -> beta testers -> product
</code></pre>
Paralleling a product cycle:<p><pre><code> mockup -> minimum product -> release candidate -> general release
</code></pre>
The purpose of milestones under the waterfall system was to organize projects. There are other and more flexible ways to organize projects that have seen a lot of progress recently.<p>Good luck.