On Thu, Apr 18, 2013 at 10:26 PM, Chiradeep Vittal
<chiradeep.vit...@citrix.com> wrote:
>
>
> On 4/18/13 6:41 PM, "David Nalley" <da...@gnsa.us> wrote:
>
>>On Thu, Apr 18, 2013 at 6:26 PM, Will Chan <will.c...@citrix.com> wrote:
>>>
>>> > -----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.
>>
>>So both 4.0 and 4.1 strike me as extraordinary. 4.0 was our first
>>release - and we had lots of issues to resolve. 4.1 introduced a ton
>>of packaging and name changes that I also consider to be hopefully one
>>time. Really - we've only been through our release cycle once, so I am
>>not ready to declare it perpetually behind schedule.
>>
>>
>>> 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.
>>>
>>
>>Having seen the point releases twice now, which still need upgrade
>>testing, release notes, etc I don't get the feeling that the
>>'overhread' referred to above is the problem. Joe may disagree with
>>me.
>>
>>> 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.
>>>
>>
>>I wonder why we would merge feature that we can't prove doesn't break
>>the entire stack and prove that it works. Some of this is the missing
>>automation you talk about below. Essentially we have no way, sometimes
>>until months after the merge, to tell if something works or not
>>because we relay on manual QA to test it.
>>
>>> 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.
>>>
>>
>>
>>So a couple of other comments.
>>We have folks clamoring for the awesome new features. To the point
>>they are creating derivative works (which tells me we are doing some
>>things right as folks are finding it easy enough to do)
>>
>>What I gathered from reading the above doesn't really have anything to
>>do with schedule:
>>* New development destabilizes our code base, and is a threat to
>>quality and the release schedule
>>* We can not depend on the current level of manual QA to be present
>>going forward.
>>
>>This brings me to conclusion that as a community we should seriously
>>temper our inclusion of new features and make our focus automated
>>testing until such time as pushing a release out is less months of
>>manual QA processes and more of a decision. This makes me want to
>>raise the barrier for merges even higher. Perhaps running the entire
>>Marvin suite with the proposed merge is what we need to begin
>>mandating.
>>
>>--David "who wishes he had kept working on Automated QA tasks" Nalley :)
>
> How does "temper the inclusion of new features" jive with "folks clamoring
> for awesome new features" ?
>

It doesn't.
But as Animesh indicates all we are really doing is racking up
technical debt. We will have to pay the Piper one way or another.

--David

Reply via email to