Does this sound familiar: there’s a ton of stuff to do, which people put on a list. Every day, things from the top of the list get done, and other things are added to the bottom of the list. Usually, these lists are sorted for priority – which means, if there are enough high-priority tasks coming in, (almost) all lower-prio tasks will suffer from starvation.
For OOo, the list is IssueZilla, and the starving low-prio tasks are affectionally named “OOo later” – that name has the nice property of being eternally correct, as later usually never comes…
My conjecture would be that about every bugtracker in this world has those issues – annoying, but never important enough to be fixed for the upcoming release (but surely for the one after that…). At least it’s the same for Novell’s bugzilla. What’s the computer scientist’s answer to this class of problems: fair queuing – partition the input into priority classes, and assign each class an own queue and a minimal fraction of the resource-to-be-scheduled. This ensures members of each class at least minimal progress, and prevents starvation (at the cost of limited throughput for the highest priority class, of course).
So, well, that’s what we did here at Novell: we set aside a fixed fraction of time for Project Pedigree, which was all about fixing those small, but very annoying issues that our internal users have reported over time (or even reported for the first time – we went around and asked them about their favorite pet peeve). Smart idea, and I really enjoyed touching application code again – in fact, the work was quite similar to the very focused bi-weekly iterations I did during the agile experiment at Sun, as there have been (almost) no interruptions.
I’m currently wrapping up the Impress part of the Pedigree project, stay tuned for the list of things achieved.