October 21, 2008
One of the mantras of the open source movement is "release early and release often". In a commercial setting at least I believe this can be overdone.
I have been thinking about the notion of "releasing often" lately. This is because the team I am currently working with has a philosphy of frequent beta and alpha releases (at one point we released two betas just two weeks apart, but still several months in advance the release candidate!).
There have been several essays that advocate this approach. One of the classic examples is the cathedral and bazaar essays ( http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ar01s04.html ). But I don't think releasing often is quite as wonderful as some of the advocates of the approach make it sound.
The problem with releasing too often, especially in a commercial setting, is that it can lead to an expectation that there should be apparent progress between releases. This means that developers are under pressure to make small changes, just to appease the user and management, and to justify the release schedule.
Some changes to a code base by their very nature require more time. For example, imagine if we want to refactor a multi-million line C++ code base to change how it deals with memory allocation and deallocation. This can take a long time to make happen, without any apparent progress in the mean time.
The other issue is that there is an overhead in making a release. We have to freeze the bits, go into lock-down mode, smoke-test the package, write up release notes, peform a legal check, etc. All of this can add up to a lot of person-hours.
Finally, it is annoying to end users to get too many intermediate releases. I know that some of my software seems to nag me endlessly to get the latest release. As a user you can't help but ask yourself, why they just can't get it right the first time. I know that I don't even bother getting releases right away.
I'm not saying that releasing often is always bad, but that sometimes it is more important to do what needs to be done than to obey a release schedule that is too arbitrary, and that with frequent releases there is a point of diminshing returns.
About the Author(s)
You May Also Like