Re: [openstack-dev] [bugs] definition of triaged

2013-12-20 Thread Thierry Carrez
Robert Collins wrote:
 On 16 December 2013 23:56, Thierry Carrez thie...@openstack.org wrote:
 I like the first and third parts. Not really convinced with the second
 part, though. You'll have a lot of Confirmed bugs without proposed
 approach (like 99% of them) so asking core to read them all and scan
 them for a proposed approach sounds like a waste of time. There seems to
 
 So, I'm trying to reconcile:
  - the goal of moving bugs into 'triaged'
- which really is:
  - keeping a pipeline of low hanging fruit as an onramp
  - apparently some documentation needs too, though I'd rather push
 /all/ those into DocImpact tags on changes, + those bugs that are
 solely documentation issues.
  - the goal of identifying critical bugs rapidly
  - the goal of steering bugs to the right subteam (e.g. vendor interests)

Agree on your 3 goals. But I would argue that, in our setting, the value
of the second and third goal is much higher than the value of the first
one. We need *some* easy/analyzed bugs in the onramp pipeline, but we
don't need all of them.

 [...]
 I'm *entirely* happy with saying that anyone with the experience to do
 it can move things up to Triaged - I see no problem there, but there
 is a huge problem if we have any step in the process's inner loop that
 requires O(bugs) tasks.
 [...]

I completely agree. I felt like *your* approach for the second phase was
O(bugs), which is why I disagreed with it :)

You proposed:

Daily tasks - second layer - -core current and previous members
1. Assess the proposed approach in Confirmed+High[1] bugs
1.1. If good, move to Triaged
1.2  If not, suggest what would make the approach good[2]
2. If appropriate add low-hanging-fruit tag

IIUC that means going through each and every Confirmed+High[1] bug to
check if there is a proposed approach in them, and move them to
Triaged if it's any good. This is O(confirmedbugs).

My proposal (and the current state of things) is like this:

Anyone can propose an approach to a random bug and set the bug to
Triaged when he does. Anyone.

This is not an O(bugs) effort, this is 0 effort for your core members.

I assert there is not enough value in assessing the proposed approach
for it to be worth core time. Anyone should be able to propose a
solution and, if they are sure enough about it, set the bug to Triaged.
That creates enough Triaged bugs for your on-ramp pipeline. Code review
will be there to catch the corner case bad solution.

Core developers are just human beings that sign up to do a lot of code
reviews. Not deities that need to vouch every proposed solution in every
bug before a human may be tempted to solve it.

-- 
Thierry Carrez (ttx)

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [bugs] definition of triaged

2013-12-19 Thread Robert Collins
On 16 December 2013 23:56, Thierry Carrez thie...@openstack.org wrote:
 Robert Collins wrote:
 https://wiki.openstack.org/wiki/BugTriage is a 10 step process: thats
 not something we can sensible do over coffee in the morning.

 Totally agree with that. The idea of those 10 steps was not meant as
 something you could ever complete, it was more a way to state there is
 no point in doing step 8 unless step 1 is covered.

 I agree that splitting the process into separate daily / cycle-y
 processes (as you propose below) is a better way to ever get it done.

Ok, cool.


 I like the first and third parts. Not really convinced with the second
 part, though. You'll have a lot of Confirmed bugs without proposed
 approach (like 99% of them) so asking core to read them all and scan
 them for a proposed approach sounds like a waste of time. There seems to

So, I'm trying to reconcile:
 - the goal of moving bugs into 'triaged'
   - which really is:
 - keeping a pipeline of low hanging fruit as an onramp
 - apparently some documentation needs too, though I'd rather push
/all/ those into DocImpact tags on changes, + those bugs that are
solely documentation issues.
 - the goal of identifying critical bugs rapidly
 - the goal of steering bugs to the right subteam (e.g. vendor interests)

 be more value in asserting that there is a proposed approach in the
 bug, rather than there is a core-approved approach in this bug.

The definition of Triaged on the Bugs wiki page is 'Triaged The bug
comments contain a full analysis on how to properly fix the issue '

Fundamentally for a process to work at scale we can't depend on 'all
triagers naturally figure out which bugs need to be Triaged and which
only need to be Confirmed'. *regardless* of definition of triaged, we
need a system where we don't exhaust people every few weeks reviewing
*every open bug* to figure out which ones have been missed.

I'm *entirely* happy with saying that anyone with the experience to do
it can move things up to Triaged - I see no problem there, but there
is a huge problem if we have any step in the process's inner loop that
requires O(bugs) tasks.

 Furthermore, I'm not convinced we really need to spend core time
 assessing the proposed approach. You can spend core time on suggesting
 a proposed approach (i.e. turning Confirmed into Triaged), though.

So if I rephrased
Daily tasks - second layer - -core current and previous members
1. Review Confirmed+High[1] bugs
1.1. If there is a full analysis on how to properly fix the issue move
to Triaged
1.2  If not, add one.
2. If appropriate add low-hanging-fruit tag

You'd be happy? The reason I didn't write it like that is that this
burns *more* core time. I was trying to propose a process where we can
scale a competent but non-core team up without demanding that -core
commit to boiling the ocean.

The different between the phrasing I had and the one you seem to be
proposing is that rather than promoting and guiding on bugs, -core are
being asked to /do/ on every bug. That places a lot of load on -core,
*or* it means we get many less bugs triaged.

If we say that anyone with reasonable competency can do it, we could say:

Daily tasks - second layer - more experienced folk
1. Review Confirmed+High[1] bugs
1.1. If there is a full analysis on how to properly fix the issue move
to Triaged
1.2  If not, add one.
2. If appropriate add low-hanging-fruit tag

 You basically have the following states for a bug:

 A - Brand new
 B - WAT (incomplete, ask the reporter for more info)
 C - I don't have the expertise to judge (but I can add tag)
 D - Yes this is definitely a bug, here is its priority
 E - This is a bug and here is a suggested approach to fix it
 F - I'm core and I bless that way to fix it
 G - I started working on that fix
 H - The fix is in code review
 I - The fix landed in master
 J - The fix landed in a milestone
 K - The fix landed in a release

 That is way too many states, especially if you rely on humans to set
 them. My experience is that humans deal with 3 bug states correctly, but
 start to fail doing it consistently if you ask them to set 4 or more.

I would quibble about that list - for instance tagging and expertise
to judge project impact tag properly are IME the same.

There are many dimensions of input to bugs, and what you're calling
states there are really the combination of things from different
dimensions. Timeline interactions for instance, don't change the state
of a bug, but they change whether we want it to show up in bug
searches.

 In the current setup (constrained by what Launchpad supports) we use
 tags for C, we ignore F, we combine G+H, and we combine J+K:

 A - New
 B - Incomplete
 C - (New + tagged)
 D - Confirmed
 E - Triaged
 F - (Triaged + comment)
 G - In progress
 H - In progress (automatically set)
 I - Fix committed (automatically set)
 J - Fix released (automatically set)
 K - (Fix Released + remilestoning) (automatically set)

 I think less states (and 

Re: [openstack-dev] [bugs] definition of triaged

2013-12-15 Thread Tom Fifield
On 13/12/13 19:13, Thierry Carrez wrote:
 Robert Collins wrote:
 
 Confirmed The bug was reproduced or confirmed as a genuine bug
 Triaged The bug comments contain a full analysis on how to properly
 fix the issue
 

 From wiki.openstack.org/wiki/Bugs

 Putting aside the difficulty of complete reproduction sometimes, I
 don't understand the use of Triaged here.

 In LP they mean:

 Confirmed Verified by someone other than the reporter.
 Triaged Verified by the bug supervisor.

 So our meaning is very divergent. I'd like us to consolidate on the
 standard meaning - which is that the relative priority of having a
 doctor [developer] attack the problem has been assessed.
 
 I'm the one who established, a long time ago, this divergence between
 Launchpad's classic use of those statuses and OpenStack's. In my
 experience NOBODY ever uses Confirmed with the LP meaning, so I
 figured we should use it for something more useful: to describe how
 advanced you are in the resolution of the issue.
 
 This is why I proposed (and we used) the following distinction, as
 described in https://wiki.openstack.org/wiki/BugTriage :
 
 Confirmed bugs are genuine bugs but nobody really looked into the best
 way to fix them yet. They are confirmed, priority-assigned, tagged
 
 Triaged bugs are bugs which are analyzed and have a clear way forward
 to resolve them, just missing someone to actually write the patch
 
 That way developers could pick ready to fix bugs by searching
 Triaged bugs rather than Confirmed ones.
 
 Specifically:
  - we should use Triaged to indicate that:
 - we have assigned a priority
 - we believe it's a genuine bug
 - we have routed[tagged] it to what is probably the right place
 [vendor driver/low-hanging-fruit etc]
  - we should use Incomplete if we aren't sure that its a bug and need
 the reporter to tell us more to be sure
  - triagers shouldn't ever set 'confirmed' - thats reserved solely for
 end users to tell us that more than one user is encountering the
 problem.
 
 I can see how that works for Ubuntu. But did you ever see, in OpenStack,
 an end user tell us that they /also encountered/ the problem ?
 
 The end result of your proposal is that we stop using Confirmed and
 use Triaged instead (to describe the exact same thing). We lose the
 ability to use Triaged to indicate a more analyzed state. I'm not
 sure that's a net win, or worth asking anyone to change their habits, or
 worth changing the BugTriage wikipage (and/or any other page that
 repeated it).
 
 I'll gladly admit that my meaning of Triaged was not used that much
 and that it could be replaced by something more useful. But merely using
 triaged for our old meaning of confirmed (and stop using
 confirmed) sounds like change for the sake of change.

Just want to back Thierry here - find the current Triaged/Confirmed
distinction quite useful.

In the documentation case, Triaged often means that there's a note of
which files to edit and/or has text included in the bug or linked to
somewhere that can be used to write the content needed. This exactly
matches with:

 Triaged bugs are bugs which are analyzed and have a clear way forward
 to resolve them, just missing someone to actually write the patch

and it appears to be working well for facilitating the long tail
contributors, who might just drop by for a patch or two.

Sometimes, we can work out that the issue is real but it might be a
particularly complex fix across multiple books, or need a developer's
input to work out what the actual behaviour should be. These get set as
'confirmed' during the Triage process.

Like others have noted, I've not seen cases where users have marked bugs
as 'confirmed'. Even our tamer in-community operators tend to wait for a
TriagePerson to set it to 'confirmed' - and this is for mere typos in
docs :)

I guess, in short - I'm not sure there's an issue on 'triaged' vs
'confirmed'?

Though, the idea in later emails than this that existing bugs should be
looked at only once or twice a cycle worries me :) I'll leave that for
the more wisened to debate for now ...


Regards,



Tom










___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [bugs] definition of triaged

2013-12-13 Thread Thierry Carrez
Robert Collins wrote:
 
 Confirmed The bug was reproduced or confirmed as a genuine bug
 Triaged The bug comments contain a full analysis on how to properly
 fix the issue
 
 
 From wiki.openstack.org/wiki/Bugs
 
 Putting aside the difficulty of complete reproduction sometimes, I
 don't understand the use of Triaged here.
 
 In LP they mean:
 
 Confirmed Verified by someone other than the reporter.
 Triaged Verified by the bug supervisor.
 
 So our meaning is very divergent. I'd like us to consolidate on the
 standard meaning - which is that the relative priority of having a
 doctor [developer] attack the problem has been assessed.

I'm the one who established, a long time ago, this divergence between
Launchpad's classic use of those statuses and OpenStack's. In my
experience NOBODY ever uses Confirmed with the LP meaning, so I
figured we should use it for something more useful: to describe how
advanced you are in the resolution of the issue.

This is why I proposed (and we used) the following distinction, as
described in https://wiki.openstack.org/wiki/BugTriage :

Confirmed bugs are genuine bugs but nobody really looked into the best
way to fix them yet. They are confirmed, priority-assigned, tagged

Triaged bugs are bugs which are analyzed and have a clear way forward
to resolve them, just missing someone to actually write the patch

That way developers could pick ready to fix bugs by searching
Triaged bugs rather than Confirmed ones.

 Specifically:
  - we should use Triaged to indicate that:
 - we have assigned a priority
 - we believe it's a genuine bug
 - we have routed[tagged] it to what is probably the right place
 [vendor driver/low-hanging-fruit etc]
  - we should use Incomplete if we aren't sure that its a bug and need
 the reporter to tell us more to be sure
  - triagers shouldn't ever set 'confirmed' - thats reserved solely for
 end users to tell us that more than one user is encountering the
 problem.

I can see how that works for Ubuntu. But did you ever see, in OpenStack,
an end user tell us that they /also encountered/ the problem ?

The end result of your proposal is that we stop using Confirmed and
use Triaged instead (to describe the exact same thing). We lose the
ability to use Triaged to indicate a more analyzed state. I'm not
sure that's a net win, or worth asking anyone to change their habits, or
worth changing the BugTriage wikipage (and/or any other page that
repeated it).

I'll gladly admit that my meaning of Triaged was not used that much
and that it could be replaced by something more useful. But merely using
triaged for our old meaning of confirmed (and stop using
confirmed) sounds like change for the sake of change.

-- 
Thierry Carrez (ttx)

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [bugs] definition of triaged

2013-12-13 Thread Russell Bryant
On 12/12/2013 04:46 PM, Robert Collins wrote:
 Hi, I'm trying to overhaul the bug triage process for nova (initially)
 to make it much lighter and more effective.
 
 I'll be sending a more comprehensive mail shortly

before you do, let's agree what we're trying to solve.  Perhaps you were
going to cover that in your later message, but it wouldn't hurt
discussing it now.

I actually didn't think our process was that broken.  It's more that I
feel we need a person leading a small team that is working on it reguarly.

The idea with the tagging approach was to break up the triage problem
into smaller work queues.  I haven't kept up with the tagging part and
would really like to hand that off.  Then some of the work queues aren't
getting triaged as regularly as they need to.  I'd like to see a small
team making this a high priority with some of their time each week.

With all of that said, if you think an overhaul of the process is
necessary to get to the end goal of a more well triaged bug queue, then
I'm happy to entertain it.

-- 
Russell Bryant

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [bugs] definition of triaged

2013-12-12 Thread Dolph Mathews
On Thu, Dec 12, 2013 at 3:46 PM, Robert Collins
robe...@robertcollins.netwrote:

 Hi, I'm trying to overhaul the bug triage process for nova (initially)
 to make it much lighter and more effective.

 I'll be sending a more comprehensive mail shortly but one thing that
 has been giving me pause is this:
 
 Confirmed The bug was reproduced or confirmed as a genuine bug
 Triaged The bug comments contain a full analysis on how to properly
 fix the issue
 

 From wiki.openstack.org/wiki/Bugs

 Putting aside the difficulty of complete reproduction sometimes, I
 don't understand the use of Triaged here.

 In LP they mean:

 Confirmed Verified by someone other than the reporter.
 Triaged Verified by the bug supervisor.

 So our meaning is very divergent. I'd like us to consolidate on the
 standard meaning - which is that the relative priority of having a
 doctor [developer] attack the problem has been assessed.

 Specifically:
  - we should use Triaged to indicate that:
 - we have assigned a priority
 - we believe it's a genuine bug
 - we have routed[tagged] it to what is probably the right place


++ that's exactly how I use it, with some emphasis on believe which I use
to differentiate from this from Confirmed ...


 [vendor driver/low-hanging-fruit etc]
  - we should use Incomplete if we aren't sure that its a bug and need
 the reporter to tell us more to be sure
  - triagers shouldn't ever set 'confirmed' - thats reserved solely for
 end users to tell us that more than one user is encountering the
 problem.


As a triager, if I put my user hat on and am able to reproduce a bug,
I'll mark Confirmed, otherwise it's just Triaged.



 -Rob



 --
 Robert Collins rbtcoll...@hp.com
 Distinguished Technologist
 HP Converged Cloud

 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev




-- 

-Dolph
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev