We started to use beta releases in the 2.5 effort, and we released 2.5.0.Beta1 and 2.5.0.Beta2 before the 2.5.0.Final release. This was really more of an experiment to keep us releasing code about every 4 weeks, but allow some effort to span more than one release.
There definitely were some advantages. The longer timeframe for the final release let us spend a bit more time working on features and performance improvements. We also got some good feedback and we learned a few things with the betas that we were able to change before the final release. Our beta releases were typically pretty solid, although releasing a beta really doesn't have to be as solid as a final release. Plus, our release numbers aren't advancing quite as quickly, especially when the betas constitute mostly bug fixes.
However, there were some disadvantages, too. Some users don't want to use a beta release in their project or product, so the time between final releases increased quite a bit for them. Plus, I think we had less uptake on the beta releases, probably because people thought they were less stable and they didn't want to spend the time working with them.
At this point, I'm not sure whether we should continue with the betas. How about you? What was your experience? Did you like them or loathe them? Should we continue them, or switch back to more frequent final releases?
P.S. We're sticking with the beta release names in JIRA until we make a decision, at which point it's trivial to change (if needed).
|Retrieving data ...|