I agree that we can't move to our end goal in on go. But I disagree that we should go on with business as usual right now. baby steps but never stop taking steps.
On Fri, Mar 14, 2014 at 12:20 AM, Mike Tutkowski <mike.tutkow...@solidfire.com> wrote: > My reasoning here is that otherwise we will just be futilely creating RCs > for 4.4 since this expectation was not clearly defined ahead of the release. > > If we set expectations appropriately for 4.5, then we should expect we can > begin RC building right after Feature Freeze for that release. > > > On Thu, Mar 13, 2014 at 5:18 PM, Mike Tutkowski < > mike.tutkow...@solidfire.com> wrote: > >> I think we should set that as a goal for 4.5. We should treat 4.4 as >> business as usual at this point and give "fair warning" for the next >> release. >> >> We should formally define what "tested" means for 4.5 and then take the >> appropriate course of action from a RC point of view. >> >> >> On Thu, Mar 13, 2014 at 5:00 PM, Daan Hoogland >> <daan.hoogl...@gmail.com>wrote: >> >>> That's how i like to see it and why I asked. Is there a reason people >>> merge and then commit their features instead of rebasing and running a >>> standard set of integration tests to validate before merging. I am not >>> better then average on this myself but I think here is where we have >>> room to improve if anywhere. >>> >>> So do we create 4.4 RC1 next Monday? >>> >>> >>> >>> On Thu, Mar 13, 2014 at 11:19 PM, Mike Tutkowski >>> <mike.tutkow...@solidfire.com> wrote: >>> > I think many people (myself included) are used to performing rigorous, >>> but >>> > focused feature-specific testing before feature freeze, but are under >>> the >>> > impression that once feature freeze arrives that we are in >>> > integration-testing mode (where our feature is tested in combination >>> with >>> > other features...not so isolated anymore). At this point, we tend to >>> find >>> > bugs that were not hit pre feature freeze because that mode of testing >>> was >>> > more confined. >>> > >>> > Perhaps we simply need to decide on how tested a feature should be for >>> > feature freeze. Does it need to be fully tested from an integration with >>> > other features standpoint or not? If yes, then we are basically "done" >>> with >>> > the release at feature freeze time and can begin the release-candidate >>> > process. >>> > >>> > >>> > On Thu, Mar 13, 2014 at 4:11 PM, David Nalley <da...@gnsa.us> wrote: >>> > >>> >> Thats a very good point - we are effectively saying we know the >>> >> features we merged in have potentially months worth of bugs. Though >>> >> really, our hiccups don't seem to generally be in new features, it's >>> >> old features. >>> >> >>> >> On Thu, Mar 13, 2014 at 3:44 PM, Marcus <shadow...@gmail.com> wrote: >>> >> > Its a good point. I had thought about. Essentially we are saying >>> that we >>> >> > know the features we just merged need another few months of work. >>> >> > On Mar 13, 2014 1:01 PM, "Daan Hoogland" <daan.hoogl...@gmail.com> >>> >> wrote: >>> >> > >>> >> >> Just a thought, >>> >> >> >>> >> >> Why isn't the freshly cut branch the first RC from the get go? It is >>> >> >> quite sure not to pass but it should cantain what we ant to ship >>> >> >> feature wise. >>> >> >> >>> >> >> On Thu, Mar 13, 2014 at 6:35 PM, Mike Tutkowski >>> >> >> <mike.tutkow...@solidfire.com> wrote: >>> >> >> > OK, so it sounds like a 3-month dev cycle for a four-month release >>> >> was on >>> >> >> > purpose. >>> >> >> > >>> >> >> > Just curious...thanks :) >>> >> >> > >>> >> >> > >>> >> >> > On Thu, Mar 13, 2014 at 11:31 AM, David Nalley <da...@gnsa.us> >>> wrote: >>> >> >> > >>> >> >> >> This was (IIRC) part of the explicit decision in how to do >>> things. >>> >> The >>> >> >> >> thought being that if you are restricting what people can do >>> with a >>> >> >> >> release branch, people still need to be able to have a place to >>> base >>> >> >> >> their ongoing work; and master should be that place. Some >>> features >>> >> >> >> will take more than a cycle to get integrated. >>> >> >> >> >>> >> >> >> --David >>> >> >> >> >>> >> >> >> On Thu, Mar 13, 2014 at 1:11 PM, Mike Tutkowski >>> >> >> >> <mike.tutkow...@solidfire.com> wrote: >>> >> >> >> > Yeah, if you "abandon" the "old" release as soon as a release >>> >> branch >>> >> >> is >>> >> >> >> cut >>> >> >> >> > for it, then you essentially have three months on the new >>> release >>> >> >> before >>> >> >> >> > its release branch is cut and you move on to the newer >>> release. I'm >>> >> >> not >>> >> >> >> > sure that was the intent when such a schedule was created. It >>> means >>> >> >> we're >>> >> >> >> > releasing every four months, but developing for only three. >>> >> >> >> > >>> >> >> >> > >>> >> >> >> > On Thu, Mar 13, 2014 at 11:03 AM, Marcus <shadow...@gmail.com> >>> >> wrote: >>> >> >> >> > >>> >> >> >> >> 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)* >>> >> >> >> >> >>> >> >> >> > >>> >> >> >> > >>> >> >> >> > >>> >> >> >> > -- >>> >> >> >> > *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)* >>> >> >> >> >>> >> >> > >>> >> >> > >>> >> >> > >>> >> >> > -- >>> >> >> > *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)* >>> >> >> >>> >> >> >>> >> >> >>> >> >> -- >>> >> >> Daan >>> >> >> >>> >> >>> > >>> > >>> > >>> > -- >>> > *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)* >>> >>> >>> >>> -- >>> Daan >>> >> >> >> >> -- >> *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)* >> > > > > -- > *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)* -- Daan