> -----Original Message-----
> From: Chip Childers [mailto:chip.child...@sungard.com]
> Sent: Monday, April 15, 2013 7:22 AM
> To: dev@cloudstack.apache.org
> Cc: cloudstack-...@incubator.apache.org
> Subject: Re: [ASFCS42] Proposed schedule for our next release
> 
> On Thu, Apr 11, 2013 at 02:50:02PM -0700, Animesh Chaturvedi wrote:
> >
> > I want to call out my concern on technical debt we have accumulated so
> far.
> >
> >  I did an analysis on JIRA bugs yesterday night PST on "Affects
> > Version = 4.1" and created since Dec 2012
> >
> > Total records : 429
> > Resolution Type (Invalid, Duplicate, Cannot reproduce etc.) : 87 (30
> > Blockers, 27 Critical, 27 Major, 4 Minor) Valid Defects  : 429-87= 342
> > Fixed : 246 (60 Blockers, 70 Critical, 99 Majors) out of which 217
> > were fixed since Feb Unresolved : 96 (1 Blocker, 8 Critical, 64 Major)
> >
> > With this data it looks like we have fixed 2/3 of valid defects in little 
> > over
> 2 months and pretty much deferring around 1/3 rd of issues for future
> release.
> >
> > I also looked at overall backlog of bugs (Critical, Major and Blockers only)
> as of 4/10/2013 - 10:0PM PST.
> >
> > 284 open (18 Blocker, 38 Critical, 228 Major) ; By Fix version
> >     -  Release 4.0.x and prior: 13
> >     -  4.1: 70
> >     -  4.2 : 97
> >     -  Future: 8
> >     -  No version: 107
> >
> > Looking at that we fixed 217 bugs in roughly 2 months during 4.1 cycle,
> fixing the backlog of bug  will probably take us 2 months.  Should we extend
> the 4.2 test cycle by 2 months [Original Schedule: 6/1 - 7/22, Extended
> Schedule: 6/1-9/22] to reduce the technical debt significantly? I would like
> to hear how community wants to address technical debt. Based on the
> input and consensus I will publish the agreed schedule next week.
> >
> >
> 
> I don't think that an extension of time changes bug counts really.  IMO, we
> need to pull together to have some bug-fix focused effort applied to the
> code-base.  It's also another reason that I'm so big on making sure that
> automated tests come in with the new features.  That doesn't address test
> scenarios that human testers can come up with, but if a developer spends
> the time to think about testing the basic feature and codifies that, we
> should at least avoid the "this actually doesn't work at all" types of bugs.
> 
> There's a school of thought that says, don't build another feature until you
> have sorted out the known bugs in the current features.  I don't think we
> could really pull that off, but perhaps a different thread to rally people
> around the bug backlog is in order?
> 
> -chip

Sorry to chime in so late to this thread as I've been offsite for the better 
part of this week.  I was one of the original 4 month release crowd but after 
the recent two releases of ACS, I'm starting to wonder if we shouldn't start 
moving this to a 6 month cycle instead of two.  Here are some high level 
observations based on the previous two releases:

1. It doesn't seem like we are on a true 4 month time based release schedule.  
Both 4.0 and 4.1 were delayed more than several weeks past the original 
proposed GA date.  4.0 was released 11/6 and let's assume that 4.1 will ship 
within a week or two.  That's almost a 6 month release cycle.  Every release 
incurs a fixed cost of release notes, upgrade testing, etc. that I suspect at 
least eats a month worth of time depending on people's schedule.  That's 3 
months out of the year rather than two if we can get a 6 months cycle.  We can 
use that extra month for other purposes if need be.  I suppose if we want to 
continue to release past the proposed hard GA date, then I guess it doesn't 
matter if it's 4 or 6 months.  It's basically a release when the release mgmt. 
team feels it's right to release based on current bugs, etc.

2. As more and more features/development go in, it just means more 
destabilization of the code.  4.0 was delayed and the majority of that work was 
licensing files.  4.1 got just a bit more complicated with new feature 
development and the delay is now much longer.  Not all features are created 
equal in terms of testing.  Some may require more time to develop but may not 
impact the entire system like for example, adding a new hypervisor.  However, 
work like refactoring vm sync or other more internal code could affect the 
entire stack and require more QA time.  We need extra time for new code to 
settle in.

3. ACS is still dependent largely on manual QA.  Let's face it, our automated 
testing/unit testing isn't mature enough quite yet and we cannot always expect 
manual QA to be there and on ACS schedule.  CloudStack releases have some type 
of quality expectations as well as support for upgrades.  Upgrades and 
migration scripts aren't that easily automatable.  Chip and others have been 
very diligent on ensuring that code check in has the appropriate tests but it's 
not there yet.  

4. ACS development is based on volunteer work and many of us have a $dayjob and 
may not be able to assist with fixing bugs in ACS schedule.  Having only a 
couple of months to fix bugs and expect others to follow our ACS schedule seems 
a bit rushed.  Wearing my Citrix hat now, I can tell you that 2 months of QA 
and bug fixing  is not enough to release quality GA release.  And that is with 
me breathing down the necks of many of the engineers to get them fixed on time. 
 ACS does not have this type of culture and nor should it.   Given that, we 
should be a bit more flexible in terms of allowing people eventually to act on 
issues.

Will

Reply via email to