Beta is not what it used to be.
It used to mean “buggy and unusable”, meant to be used in a transition phase from development to finished product. Now it means “usable, but still under development” or “we’re still adding new features” – or maybe just “free”. That’s slightly different.
Well, it’s actually very different.
The change is of course due to the internet and the ever more powerful web browser as an application platform. Moving your application to the internet means moving them into another heartbeat rhythm compared to the heydays of Win32 applications (or any similar platform of course). You’re going from nothing, nothing, RELEASE, patch, nothing, nothing, RELEASE, patch, nothing, nothing… to release, release, release, release…
Needless to say this has a major impact on the development process used for building the software. Feedback from users is instantaneous, updates can be applied in a flash, downtime affects every single one of your users and best of all – no one has to install anything.
This should of course influence how you manage your software project. When the cost of each new release goes down, you can make many of them. The beginning and the end of the project might be unclearer, it’s more of an ongoing upgrade and improvement.
There are books written about software maintenance. That used to mean the phase of development after the release.
Software projects of today are in a constant maintenance mode. Beta has gone from the exception to the normal state of things.
So, maybe the software maintenance face is a thing of the past, but the beta is more alive than ever.