There seems to be a new trend of releasing Beta software onto the web, and then sit back, watch the emergent bahaviour unfold on the Web.
I guess the attractive things for doing this include:
- get feedback on the Beta software functionality early
- encourage early community involvement hence stimulating the excitement and use around the software
- enable rapid development of a novel idea, implement it, and throwing it out into the world, see what happens, if it succeeds, then great, if it fails, you haven't lost that much upfront investment
Releasing Beta on Web 2.0 is now such a widely practiced thing, that the word 'Beta' seems a trendy thing, almost a 'must have' if you want your software to have the 'cool/innovative Web 2.0' image.
This sure is a very different approach to what we used to do in the past - lots of upfront design, planning and testing, gaining plenty of confidence that what we serve up will truly satisfy the customer set, before we release it to the public. And I guess in certain domains like Online Banking, they would still have to do that - can you imagine using 'Beta Commonwealth Bank Online banking' to make a money transfer?
I also think that there is a difference between releasing Beta software that has a complete slice of functionality that you can throw out there, and get users to try it out, versus, throwing a slice of functionality out there that does not have the right quality attributes (performance, scalability, reliability). I mean if out of 5 clicks on your software I get 3 clicks that results in error messages that tells me to try again later due to some availability problems, then hey your competitors' page is only a couple of clicks away...
So, if you're also thinking of releasing Beta, you can deliver a subset of the functionality, but make sure you are still delivering high performance/high availability software so that you don't lose your users...