Hi Dan, 
quote:  Perhaps I got the wrong end of the stick but it seems like you had a pretty open beta for v2 for almost a couple of years and for a lot of that time it was close to production-ready. 
Yup, that's a good description of how it went. I think there was only really 1 beta release for v2 that was seriously messed up and I put out a new one just a couple of days after it to fix it up.
 
Other than that one release they were all highly stable.
 
I just generally put a high priority on stabilizing things and fixing bugs more as I go along instead of postponing them all until the end. I think keeping the quality high all the time like this actually ends up saving a lot of time in the long run.
 quote:   
Will it be something like: 
 
-V2 docs completed, v2 ships 
-Holiday! 
-Planning for next version 
-Six months later, v3 rolling beta starts 
-New functions added bit by bit over 6-12 months 
-New functions frozen 
-Final bug fixes, tidy up docs and ship v3 
 
Or will it be more conventional sort of approach i.e. we wait 18 months and suddenly one day a fairly complete v3 appears with a frozen feature set and the package is shipped after 3 months of beta testing? 
 
Well, the idea is to do something more like the first type which is kind of like how v2 went.
 
It just produces a much higher quality end result to do it like that, not only just for stability but also being able to incorporate feedback and suggestions.
 
When possible I do like to finish up individual features more completely earlier in the cycle, instead of there really being a single "New functions frozen" stage like you're listing above.
 
    - Michael  
 |