+1 Radical proposition.  Setting goals and exit criteria is good so project can 
be executed on time with expected level of quality.  This is common for most of 
 SDLC processes,  that teams would stick to the agreed up on quality cycles and 
quality plans.  Because of open source nature it might be a little difficult to 
run projects in such a manner however we can have broader guidelines for  
feature freeze, merge, system test, RC, GA etc which can help to streamline 
process a bit. 

-----Original Message-----
From: David Nalley [mailto:da...@gnsa.us] 
Sent: Thursday, March 13, 2014 9:42 AM
To: dev@cloudstack.apache.org
Subject: Release cadence

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