The overlap is simply a byproduct of cutting the branch, I'm not sure there's a way around it. It's a good point though, that essentially the window is 1 month shorter than I think was intended. Better testing will help that, however, with the point being that we shouldn't be doing a ton of work to make the release branch stable. It should push the majority of the work back into the pre-branch stage.
On Thu, Mar 13, 2014 at 10:50 AM, Mike Tutkowski <mike.tutkow...@solidfire.com> wrote: > I wanted to add a little comment/question in general about our release > process: > > Right now we typically have a one-month overlap between releases. That > being the case, if you are focusing on the current release until it is out > the door, you effectively lose a month of development for the future > release. It might be tempting during this one-month time period to focus > instead on the future release and leave the current release alone. > > Would it make sense to keep a four-month release cycle, but not have an > overlapping month of two releases? > > Just a thought > > > On Thu, Mar 13, 2014 at 10:42 AM, David Nalley <da...@gnsa.us> wrote: > >> The RC7 vote thread contained a lot of discussion around release >> cadence, and I figured I'd move that to a thread that has a better >> subject so there is better visibility to list participants who don't >> read every thread. >> >> When I look at things schedule wise, I see our aims and our reality. >> We have a relatively short development window (in the schedule) and we >> have almost 50% of our time in the schedule allocated to testing. >> (over two months). However, it seems that a lot of testing - or at >> least a lot of testing for what became blockers to the release didn't >> appear to happen until RCs were kicked out - and that's where our >> schedule has fallen apart for multiple releases. The automated tests >> we have were clean when we issued RCs, so we clearly don't have the >> depth needed from an automated standpoint. >> >> Two problems, one cultural and one technical. The technical problem is >> that our automated test suite isn't deep enough to give us a high >> level of confidence that we should release. The cultural problem is >> that many of us wait until the release period of the schedule to test. >> >> What does that have to do with release cadence? Well inherently not >> much; but let me describe my concerns. As a project; the schedule is >> meaningless if we don't follow it; and effectively the release date is >> held hostage. Personally, I do want as few bugs as possible, but it's >> a balancing act where people doubt our ability if we aren't able to >> ship. I don't think it matters if we move to 6 month cycles, if this >> behavior continues, we'd miss the 6 month date as well and push to 8 >> or 9 months. See my radical proposition at the bottom for an idea on >> dealing with this. >> >> I also find myself agreeing with Daan on the additional complexity. >> Increasing the window for release inherently increases the window for >> feature development. As soon as we branch a release, master is open >> for feature development again. This means a potential for greater >> change at each release. Change is a risk to quality; or at least an >> unknown that we again have to test. The greater that quantity of >> change, the greater the potential threat to quality. >> >> Radical proposition: >> >> Because we have two problems, of different nature, we are in a >> difficult situation. This is a possible solution, and I'd appreciate >> you reading and considering it. Feedback is welcome. I propose that >> after we enter the RC stage that we not entertain any bugs as blockers >> that don't have automated test cases associated with them. This means >> that you are still welcome to do manual testing of your pet feature >> and the things that are important to you; during the testing window >> (or anytime really). However, if the automation suite isn't also >> failing then we consider the release as high enough quality to ship. >> This isn't something we can codify, but the PMC can certainly adopt >> this attitude as a group when voting. Which also means that we can >> deviate from it. If you brought up a blocker for release - we should >> be immediately looking at how we can write a test for that behavior. >> This should also mean several other behaviors need to become a valid >> part of our process. We need to ensure that things are well tested >> before allowing a merge. This means we need a known state of master, >> and we need to perform testing that allows us to confirm that a patch >> does no harm. We also need to insist on implementation of >> comprehensive tests for every inbound feature. >> >> Thoughts, comments, flames, death threats? :) >> >> --David >> > > > > -- > *Mike Tutkowski* > *Senior CloudStack Developer, SolidFire Inc.* > e: mike.tutkow...@solidfire.com > o: 303.746.7302 > Advancing the way the world uses the > cloud<http://solidfire.com/solution/overview/?video=play> > *(tm)*