I am in agreement with my radical CloudStack brother.

On Mar 13, 2014, at 9: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

Reply via email to