[WG: Sakai QA] [Building Sakai] Jira process clarification and modification - "Target Version"
Anthony Whyte
arwhyte at umich.edu
Fri Aug 21 20:25:24 PDT 2009
In other words, imagine the portfolio team with the puck in the
offensive zone with an opportunity to score. Why force them to dish
the puck off to a branch manager back on the blue line when Beth
Kirschner is in position to top-shelf the goalie with a wrist shot
from just above the circle?
I think she should take the shot.
Anth
On Aug 21, 2009, at 7:16 PM, Noah Botimer wrote:
> I see this as strikingly accurate and exceedingly valuable.
> Monitoring makes more sense in most cases than gate keeping. The
> kernel is most sensitive and already handled with some additional
> guidelines and care. Cross-module dependencies are next and require
> some level of cooperation, but I wouldn't say they beg for central
> administration.
>
> For modules with no inward dependencies, I see limited value in
> handing things off for the sake of handing them off. The folks who
> apply fixes are usually the closest to the knowledge of how things
> should work out. They are also the ones who are ultimately
> responsible for the well-being of that module. The ability to merge
> closer to the time of fix, by more familiar hands, is valuable for a
> raft of sanity and quality reasons. It's also worth noting that none
> of this requires that we lose any visibility of, or ability to raise
> issue with, changes going into maintenance branches.
>
> If I were cheeky on a Friday evening, I might say that oversee is
> the right verb, not overdo.
>
> Thanks,
> -Noah
>
> On Aug 21, 2009, at 3:59 PM, Anthony Whyte wrote:
>
>> It might do well to unpack the discussion still further and ask if
>> our current assumptions regarding the value of the gate keeping
>> embedded in the workflow outlined below still makes sense. Branch
>> management gate keeping, for instance, is currently practiced as a
>> part-time occupation by a few hardy community souls who volunteer
>> their time to merge fixes into our *.x maintenance branches. This
>> is an important task without which we could roll no releases.
>>
>> Unfortunately, verified fixes ready for merging are often forced to
>> queue up for rather long periods of time while the few branch
>> managers we have available labor to process merge requests while
>> juggling their other commitments. Many of these merge requests
>> could in fact be handled by the originating project teams
>> themselves with little risk to the target maintenance branch.
>> Tested and verified fixes could be brought to market faster and
>> branch managers could instead focus on general branch oversight and
>> coordination activities. If, as in the case of 2.6.x, we raised
>> the portcullis currently defending the maintenance branch and
>> permitted project teams to merge their own tested and verified
>> fixes we could reduce dramatically the current backlog of fixes
>> queued up to be merged into 2.6.x (170+ issues by my count).
>>
>> Branch oversight is important but if we practice it in a way that
>> impedes the otherwise quick delivery of verified and tested fixes
>> we gain no advantage.
>>
>> Cheers,
>>
>> Anth
>>
>>
>> On Aug 21, 2009, at 11:18 AM, Michael Korcuska wrote:
>>
>>> I think this is a good discussion. I think we need to take a bit
>>> more time and that some confusion is resulting from the fact that
>>> we don't have a common understanding of what the work flow is (or
>>> should be). So I recommend starting with a plain English (no
>>> reference to Jira) description of what should be happening. Once
>>> we agree on that then we can figure out how to wrestle jira into
>>> helping us reflect that as simply as possible. It would also
>>> serve as good documentation for newcomers.
>>>
>>> For bug something like:
>>>
>>> Someone identifies issue and the version(s) of the software it
>>> affects
>>> Others verify the issue exists and examine whether it affects
>>> other releases/trunk
>>> Some developer takes responsibility for the issue and lets
>>> everyone know it is being worked on
>>> Developer describes fix on list and asks for approval to commit
>>> (possibly optional)
>>> Developer submits a fix to the relevant branch and asks for testing
>>> QA tests the issue and either sends it back for more work or
>>> confirms it is fixed
>>> Branch managers apply fix to their branches, resolving merge
>>> conflicts along the way
>>> Fix is verified in the relevant branches
>>>
>>> I know this probably isn't exactly right, but I hope you get the
>>> idea. There are other complexities like "I was working on this
>>> but now I'm not" that might be relevant.
>>>
>>> The crux of the matter, I think, happens after a fix is created
>>> for a particular branch, say trunk. In some sense, from the
>>> developers perspective, that closes the issue. But there may still
>>> be work to apply that issue to multiple branches. And so a single
>>> bug turns into multiple issues to track from a QA and release
>>> perspective. The branch managers and release team want to be able
>>> to figure out not only if a bug was fixed but whether that fix was
>>> applied to their branch.
>>>
>>> Thoughts?
>>>
>>> Michael
>>>
>>> On Aug 21, 2009, at 07:17, Anthony Whyte wrote:
>>>
>>>> I should note that if I was going to shrink the list of statuses
>>>> below (I like as few steps as possible) it would go with:
>>>>
>>>> Open
>>>> Test
>>>> Merge
>>>> Closed
>>>> Reopened
>>>> Suspended
>>>>
>>>> Cheers,
>>>>
>>>> Anth
>>>>
>>>>
>>>> On Aug 21, 2009, at 10:04 AM, Anthony Whyte wrote:
>>>>
>>>>> I'd like to see the target version restored for planning,
>>>>> scheduling and as an indicator of where finished/fixed code
>>>>> needs to be merged (rather than the current custom *.x status
>>>>> dropdowns). This would be coupled with a revised status
>>>>> workflow that would include steps resembling the following:
>>>>>
>>>>> ___________________
>>>>>
>>>>> Open
>>>>>
>>>>> Work in progress ("in progress" does exist)
>>>>> Work suspended
>>>>> Work resumed [perhaps redundant, just reset to "work in
>>>>> progress" if previously suspended]
>>>>>
>>>>> [Review requested
>>>>> Review started
>>>>> Review completed] [perhaps a set of "review" phase statuses is
>>>>> overkill (could be construed as part of "work" above) but then
>>>>> again . . .]
>>>>>
>>>>> Testing requested
>>>>> Testing started
>>>>> Testing completed
>>>>>
>>>>> Merge requested (this step might involve merging to multiple
>>>>> branches)
>>>>> Merge started [not sure we'd ever use this one]
>>>>> Merge completed
>>>>>
>>>>> Closed [means done, fini, for the history books, all workflow
>>>>> actions completed, time for a Theakston's Old Peculiar or sleep]
>>>>>
>>>>> Reopened
>>>>>
>>>>> ________________________
>>>>>
>>>>> The K2 team has developed a set of workflow statuses similar to
>>>>> this and I like how they are approaching the challenge of
>>>>> tracking tasks through their life cycle; although I should note
>>>>> that they do not use a target version.
>>>>>
>>>>> So restore the target version, revise the 2.x workflow,
>>>>> eliminate the custom *.x branch status fields -- made redundant
>>>>> by restoration of target version and revised workflow statuses
>>>>> and continue work on streamlining and simplifying as much as is
>>>>> possible our issue tracking workflows.
>>>>>
>>>>> By the way, it's not hard to check the change history to check
>>>>> the workflow on an issue and ensure that, for example testing
>>>>> has been completed before a branch manager or myself honor a
>>>>> merge request but I'd need the target version set correctly to
>>>>> know where I should merge the code (acknowledging of course that
>>>>> it's usually obvious) without those pesky custom *.x status
>>>>> dropdowns (which I would like to see eliminated). Alongside
>>>>> this the assignee could/should be updated to reflect the person/
>>>>> team responsible for a given phase of work. Megan I believe has
>>>>> configured IU's Jira to list multiple assignees--something else
>>>>> to look at.
>>>>>
>>>>> Finally, we should create a Jira cheat sheet so that people who
>>>>> use Sakai's issue tracking system can quickly get themselves up
>>>>> to speed on how it all works.
>>>>>
>>>>> Cheers,
>>>>>
>>>>> Anth
>>>>>
>>>>>
>>>>> On Aug 21, 2009, at 8:41 AM, Noah Botimer wrote:
>>>>>
>>>>>> Matthew,
>>>>>>
>>>>>> Thanks for the response. Notes inline below.
>>>>>>
>>>>>> On Aug 21, 2009, at 6:36 AM, Matthew Buckett wrote:
>>>>>>
>>>>>>> 2009/8/21 Noah Botimer <botimer at umich.edu>:
>>>>>>>>
>>>>>>>> This goes to a concrete suggestion, rather than to an outright
>>>>>>>> redefinition
>>>>>>>> of your goal. Three principles first:
>>>>>>>
>>>>>>> Completely agree with your principals.
>>>>>>>
>>>>>>>> To meet with these principles, I suggest that we evaluate the
>>>>>>>> following for
>>>>>>>> fitness:
>>>>>>>> 1. Favoring subtasks (which may be assigned) over our merge
>>>>>>>> status fields
>>>>>>>> when something is fixed in trunk and should be included in a
>>>>>>>> maintenance
>>>>>>>> release
>>>>>>>
>>>>>>> I worry that this may make is harder to find if an issue has
>>>>>>> been
>>>>>>> fixed in a branch as you are more reliant on using JIRA to
>>>>>>> locate the
>>>>>>> SAK for the branch rather than an issue having the same SAK
>>>>>>> across all
>>>>>>> branches and msub spaces.
>>>>>>
>>>>>> I am somewhat concerned about this myself but I'm not sure if
>>>>>> it's as
>>>>>> big as we might imagine. At worst, we could use guidelines like
>>>>>> including both numbers in commit comments. At best, it might
>>>>>> clarify
>>>>>> the logs some by avoiding the large numbers of "duplicate"
>>>>>> changes
>>>>>> tracked on a ticket (if we didn't include both numbers). i
>>>>>> haven't
>>>>>> formed a final opinion here.
>>>>>>
>>>>>>>
>>>>>>>> 3. Guiding our contributor community in setting Fix Version
>>>>>>>> appropriately
>>>>>>>> as a target for unresolved issues and allowing this to
>>>>>>>> default into
>>>>>>>> zero-touch accuracy when following through to actual resolution
>>>>>>>
>>>>>>> Sorry I don't follow, could you explain what you mean by this
>>>>>>
>>>>>> I mean that we need a clear definition of what the "right" Fix
>>>>>> Version is for intended outcomes. If we follow through on our
>>>>>> intentions, there is no post-management of the ticket required.
>>>>>> Tickets and filters would become more stable over the release
>>>>>> cycle
>>>>>> and be automatically correct in the nominal case (file w/targeted
>>>>>> version(s), commit, verify, close ticket).
>>>>>>
>>>>>> The QA/release task becomes verifying the work and only changing
>>>>>> versions on the tickets that were wrong (missed a release,
>>>>>> indicated
>>>>>> by an unresolved status; wrong version; had to roll back). We
>>>>>> shouldn't elect for setting things we know someone will have to
>>>>>> fix
>>>>>> down the line, but prefer cases where someone applies minimal
>>>>>> or no
>>>>>> change when the right things were done before them (e.g.,
>>>>>> closing the
>>>>>> ticket with a verification comment).
>>>>>>
>>>>>> In our community, the folks closest to the work are pretty well
>>>>>> attuned to what should be targeted where. I have faith that the
>>>>>> core
>>>>>> workers on an issue can get it right in the vast majority,
>>>>>> provided
>>>>>> there is a clear process and a very simple cheat sheet.
>>>>>>
>>>>>> Thanks,
>>>>>> -Noah
>>>>>>
>>>>>> _______________________________________________
>>>>>> sakai-dev mailing list
>>>>>> sakai-dev at collab.sakaiproject.org
>>>>>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>>>>>
>>>>>> TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org
>>>>>> with a subject of "unsubscribe"
>>>>>>
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> sakai-dev mailing list
>>>>> sakai-dev at collab.sakaiproject.org
>>>>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>>>>
>>>>> TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org
>>>>> with a subject of "unsubscribe"
>>>>
>>>> _______________________________________________
>>>> sakai-qa mailing list
>>>> sakai-qa at collab.sakaiproject.org
>>>> http://collab.sakaiproject.org/mailman/listinfo/sakai-qa
>>>>
>>>> TO UNSUBSCRIBE: send email to sakai-qa-unsubscribe at collab.sakaiproject.org
>>>> with a subject of "unsubscribe"
>>>
>>> --
>>> Michael Korcuska
>>> Executive Director, Sakai Foundation
>>> mkorcuska at sakaifoundation.org
>>> phone: +1 510-859-4247 (google voice)
>>> skype: mkorcuska
>>>
>>>
>>>
>>>
>>>
>>>
>>
>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2417 bytes
Desc: not available
Url : http://collab.sakaiproject.org/pipermail/sakai-qa/attachments/20090821/e2ff29b2/attachment.bin
More information about the sakai-qa
mailing list