Launchpad bug workflow change
Henrik Nilsen Omma
henrik at ubuntu.com
Wed Jun 20 10:13:57 UTC 2007
Hi all,
Instead of answering each point made by each person I will try to
explain the reasoning behind this change in a more structured way.
The reality is that the development team is flooded with open bugs ATM
and we need to take steps to improve this situation. We have over 30 000
open bugs presently and only 88 members of ubuntu-dev. Not all these
bugs will ever be fixed by ubuntu-dev; some will be fixed upstream, by
other distros, by other volunteer developers; some are duplicates and
some will be rejected. But the fact is that as it stands today
ubuntu-dev potentially has to consider all those 30 000 bugs because
there could be serious problems hiding there.
The current triage process is not solving that problem and does not look
likely to scale as we get more users and bugs. We must look at ways of
enhancing the process to:
* Attract more bug triagers into the bugsquad
* Provide better training so more people can in turn join ubuntu-qa
* Structure the division of work better to reduce duplication of effort
The bug triage process must be improved at all levels, not just in the
bugsquad and ubuntu-qa but also within the development teams. We should
also encourage more people to join ubuntu-dev as this group performs
both important development and triage work.
So far I think most will agree. It seems that the controversy centers
around the restricted use of In Progress, Fix Committed and Fix
Released. There is also a feeling that Todo and Triaged are superfluous.
I will try to address these.
The Triaged and Todo states and their new restricted nature is important
to improving our workflow. Other restrictions are useful for other
reasons, but also have disadvantages and the answer may be to reduce the
restrictions on some of those.
* Triaged -- The bugs in the Triaged state are known to have a certain
quality and completeness. They will have the right package, have enough
information, have a reasonably accurate priority, etc. The reason we
know this is that it has been vetted by someone that we know is an
experienced bug triager, a member of ubuntu-qa. Any other triager can
place a bug in Complete, which many have pointed out means nearly the
same as Triaged. That's correct but the key difference is precisely that
Triaged has been checked by someone in ubuntu-qa, which is a very
valuable piece of information about that bug. Someone in the bugsquad
learning to triage will take bugs from New to Incomplete through to
Confirmed where a more experienced triager will look at it. If the first
person has made mistakes in the process then corrections are made and
lessons are learned. When the bugs triaged by the bugsquad member are
generally correct then that person should be admitted to ubuntu-qa.
* Todo -- A developer now mainly has to look at the trusted Triaged
pile of bugs and will decide to move some onto the active ToDo list. The
ToDo state seems to be another duplicate of the old 'Confirmed' that
only developers can set. Again, therein lies its importance. This allows
developers to control their own todo list, which is something they were
previously struggling to do. Large packages like ubiquity, openoffice
and firefox have over 500 open bugs that must be sorted not only
relative to their intrinsic importance but also when they will be worked
on. The relation between the Triaged and Todo states also provides a
mechanism for developers to feed back information to ubuntu-qa about how
bugs should be handled for that particular package.
* WontFix -- This new value has been restricted to ubuntu-qa and
developers. Since only otherwise valid bugs should be marked as WontFix
it is important that this be done by a person who in some way represents
the project because it is expression of the features we care about and
the reasons for rejecting a bug may not be clear to the submitter.
* In Progress, Fix Committed, Fix Released -- these are states related
to the development (bug fixing) process. They would normally follow
after the Todo state but there are clearly exceptions to this, esp.
relating to upstream bugs. These settings have been restricted to
developers but I personally have no problem with opening these up to
ubuntu-qa or/and the bugsquad.
In my view, if a bug triager is cable to determine correctly when a bug
should be WontFix and can confirm that a bug fix from bupstream has been
applied in Ubuntu and is now working, etc. they qualify for ubuntu-qa
and should be admitted there. I believe we should be growing ubuntu-qa
faster tan we are ATM. As a project we may decide that this in not the
correct way to handle it and may coose instead to give more powers to
the bugsquad.
In the development teams we have formal processes of review and
sponsorship. Submitted work is looked at by more experienced people.
This ensures the quality of what is committed remains high and helps
people improve their skills. We currently don't have such a formal
process on the triage side. There will always be a tendency to think
that what we are doing currently is about right, but if you don't try to
make changes you will never test that assumption and will not be able to
find potential improvements.
Henrik
More information about the Ubuntu-devel-discuss
mailing list