Community Bug Management

Open source projects and products suffer from a unique problem when it comes to managing bug reports.  The open nature of the community means you'll get many more excellent bugs filed as compared to a proprietary, closed-source product.  But you'll also get:

  • More poor reports (compared to closed source, proprietary products).  Poor bug reports are ones that are hard to understand, have no reproduction instructions, are improperly categorized, etc.
  • More "drive-by" reports, where a reporter files a report, and then disappears, never to be seen again.  Requests for clarification go unanswered.
  • Bugs that really were bugs in the past, but happen to be fixed in later releases as a side effect of some other work.
  • Lots of duplicates.  Not everyone searches first :)
  • More requests for help.  Some people like to file bugs instead of asking questions on forums, mailing lists, etc.

The effect this has is to obscure the true quality of the product, when these "bugs" are mixed in with "real" bugs.  It is a project manager's nightmare to be faced with a mountain of bugs and a looming ship date.  It is the fodder of disgruntled users (read the comments on Dana's Article) who point at it and say "look at all those bugs!".

We (the Liferay Community) have made great strides to improve the perceived and measurable quality of Liferay.  In the last several months many of you have read, classified, and tagged the mountain of tickets.  Some have been rejected (ideas that didn't make any sense), or closed (already implemented), and differentiated between bugs and improvements/enhancements.  New ideas are being placed into two queues: Product Backlog and Community Backlog (more on these buckets in a later post, but hopefully it will spur more community contributions!).

In an effort to further clean up bugs, and in conjunction with the recent major release of Liferay 6, we have been targeting bugs that we believe can be closed (for a variety of reasons, such as those above).  Many of them are old and I believe a large percentage of them no longer exist (or weren't bugs in the first place).  I'd like to get rid of these ASAP using the following process (please give your comments if any):

  1. Create a new category ("Bug that probably won't be fixed")
  2. Assign bug to that category along with a note about why
  3. Timeout after 2 weeks, and close the bug, with a "if it can be reproduced in 6.x, please re-open".

This is based on a discussion many of you probably remember (or participated in).


In addition, I am working on some docs for "how to file a good bug report" which will be added to the JIRA system and hopefully ward off future bad bugs.  Getting rid of the last vestiges of these non-bugs will also encourage the entire community to maintain a tidy issue log.

In the future I would like to encourage other community members (not Liferay employees) to actively participate in issue management.  If everyone pitches in (for example, validate one bug per week against Liferay 6.x!), it is very easy to maintain a clean issue tracking system!

 

10
Blogs
I think you should also sort new tickets. For example look at this: http://issues.liferay.com/browse/LPS-14009
Juan wrote that this is moved to backlog but maybe it would be better point this user to alternative solution and close this ticket like this "For such functionality we recommend to use other workflow engine (Intalio, jBPML) and integrate them with liferay through API". It's nice to have a backlog with "what can we develop for new release" but IMHO it is better to have something like this http://getsatisfaction.com/worksmartlabs/products/worksmartlabs_cardiotrainer?sort=most_me_toos&style=topics
We're not as much worried about closing improvement or new feature tickets as we are with resolving the major and critical bugs because we want to make sure the issues reported against old versions are no longer issues (either they are fixed or are not really issues).

Your idea for a "leaderboard" for new features is a good one, and I'm working on something like that. Currently we have the "Suggestions and Improvements" Wiki which we routinely convert into tickets, but the interface could be streamlined into a linear list. Another good example (thanks to Juan) is http://brainstorm.ubuntu.com
That's probably a good first step. But what think is essential is that bugs are looked at more quickly. People typically file bugs while working on a project. if 6 months later somebody finally gets around to look at the bug. This person will have moved on to other things and will no longer care about the issue.

As it stands now the situation is pretty dire with critical issues going unresolved for months and community patches sitting idle in jira. Even when a fix is trivial and obvious like AUI-267
I agree the faster issues are looked at the better chance they have of getting resolved, since the submitter is still interested in getting it fixed.

I hope that we can get community members to start pushing these fixes themselves (following the process of course) instead of relying on Liferay, Inc. employees to do it. This is already happening on a smaller scale, but I hope to widen it in the next 3-4 months.
If you want to encourage community members to start pushing fixes then again being responsive is key.

There is nothing more frustrating than going the extra mile to submit a patch and seeing it ignored release after release

For example LPS-12203 is an example of an obvious problem that is solved by an obvious 1 line fix. Yet it lingered in jira for a very long time

I know that the people at liferay are doing what they can but if you want to grow community participation. This has to improve
"I know that the people at liferay are doing what they can but if you want to grow community participation. This has to improve."

Agreed.
And another question: how can we help you with "I-forgot-that-there-is-a-forum-for-questions" bugs such as LPS-14052?
We need to add some Liferay-specific content to the JIRA workflow for creating new bugs and such, to remind folks to search first. For extra credit, before submitting a new issue, we could show a list of "possibly related issues" (based on the info entered so far in the workflow). Hmm. There is an upcoming upgrade of JIRA planned, I'll ask if this is possible.
I'd like to point out that currently it's not possible for the reporter of an issue to close a bug when he determines that an issue has been resolved
"I'd like to point out that currently it's not possible for the reporter of an issue to close a bug when he determines that an issue has been resolved "

I think this is a bug that needs to be fixed!