Re: First step at useful metrics

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



John Summerfield said the following on 06/04/2008 09:04 PM Pacific Time:
Jon Stanley wrote:
On Wed, Jun 4, 2008 at 9:27 PM, John Summerfield
<debian@xxxxxxxxxxxxxxxxxxxxxx> wrote:

I'd rather John spoke for himself.

Well with Will and I being John's cohorts in crime, I think we can
speak to what each of us wants.  First, we want to measure the impact
that we're having in the project. This is just good sense, how do you
know that you're doing something that's worthwhile if you have no
metrics to back up your position? The second is, as Will said,
recognition and reward for top triagers.  Triage is a thankless job,
so we need some way to recognize the rock stars of triage, and reward
them appropriately.


I've been in IT since it was called ADP/EDP, and remember punched cards, paper tape and typewriter keyboards on large computers.

On occasion I've been hired to write programs, and one of the questions much in the mind of managers is how to measure productivity.

A measure in one place I worked was "lines of code." Programmers writing more lines of code was held to be more productive than those writing fewer.

This without any regard for complexity, or code quality (another thing that's hard to quantify), or consumption of resources (such as _then_ very expensive computer time).

A number of LOC I've seen quoted is 100 per day, for a basically capable programmer on not too-difficult code, and including documentation (to standards I don't recall, but undoubtedly better than that which one ordinarily sees in OS code).

At number of LOC was found to be fairly constant over a variety of programming languages (but I suspect C wasn't included in the survey), so writing in higher-level languages such as COBOL and PL/1, where suitable, had obvious benefits in business applications than assembler, and interpretive languages such as REXX (which probably didn't exist then) produced even greater productivity benefits.

Now, writing computer programs is just one example of problem solving; writing (books, stories etc) and triaging are other examples.

I don't think metrics that are easily measured are very useful in measuring productivity.

If Will triaged 100 bugs in May, that's (I expect) quite good. However, if 20 of them are misassigned or otherwise badly handled, I think I would rather he handled 50 bugs and got 48 of them right.

A little while ago I filed a bug report against kernels 2.6.25, my DC7700 wouldn't boot because the kernel couldn't find its disks.

The mkinitrd team said, "That's ours," without (I think, but I might be defaming them unfairly) looking very closely at it. Had I left it at that, it might still be on their list, but I went to some effort to prove it wasn't mkinitrd and then changed the assignment.

Misassignment can be quite expensive, in terms of getting problems fixed.

I think that the idea of acknowledging good performance is excellent, but that its implementation needs to be done carefully.

To achieve an award, I suggest these need to be considered. Change the numbers to suit, I have no idea what absolute numbers are realistic. 1. Activity. People need to be more than casual workers. Maybe disposing of 20 bugs in a month. If you don't do at least this amount of work, you won't be recognised[1]. 2. Accuracy. Allow maybe 5% error rate: one mistake in 20. If you don't measure up on this, you are not eligible for recognition (but you might attract some attention form a mentor). 3. Relative performance. Not the absolute best performance, this isn't the Olympics, but compared with the worker's previous efforts. If Jon's doing more, or making fewer mistakes than before, acknowledge that. 4. Knowing when to ask for advice. Jo says, "I've done this and that, and I think .., what do you say?" This is way better than mishandling the problem, and makes it into a learning experience. OTOH if Jo's only had a quick look and done no analysis of the problem, then asking for help is a distraction to others. Better to pass on that one, and go for the next. 5. Mentoring. Jeff's been around for a while, maybe doesn't do much triaging himself these days, but he's always ready to help people like Jo. And he keeps an eye on newcomers, and those prone to making mistakes.

[1] Unless you're new. New workers should be publicly welcomed.


I might be using "mentor" a little loosely; those more experienced should be expected to help others (and package maintainers probably should be mentoring too). I don't mean a formal mentoring role such as Debian has (but it might be a good idea).

I can see that some simple metrics might help, but be careful they arent used too mechanistically.




John Speaks :)

Big picture right now is that we have no way to provide positive feedback to those doing bug triage. On its face many would consider bug triage to be a "miserable job"... I'm looking for ways to mitigate that: http://poelcat.wordpress.com/2008/02/23/miserable/

I hope that providing information to the individuals and the wider community can help alleviate Anonymity, Irrelevance, and Immeasurement.

Each person is motivated by different things. For me the biggest detractor for getting involved in bug triage was not how my performance would be measured, but that what I did wouldn't matter--thus for me I want to charts of overall performance and how the efforts of the team are paying off. Others might be competitive and want to see how they rank against others. There are many motivators too.

My approach to these metrics is positive motivation, not issuing accurate performance reviews to be considered for year-end compensation increases :)

Thanks for sharing your ideas cautions about using metrics. The big difference between your example of misguided metrics and our project here is that there is NO "management". Management is all of us and what WE decide we want things to be.

Here is the hard part, but the part that will help all of this most--what can we tangibly start doing today to recognize the efforts of bug triagers and chart our overall progress? I'm not talking about t-shirts, candy bars and USB keys. Yes, we may have those from time to time, but that is like trying to motivate employees soley by money--which most studies have shown isn't a long term sustainable motivator.

I believe to really scale we need to be able to collect motivational information about our individual and group progress in an automated way that can be reported in an automated way. So while I agree with your ideas, a helpful and much needed next step would be to outline exactly how we can practically start doing them in Fedora.

Thanks,
John


--
fedora-test-list mailing list
fedora-test-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-test-list

[Index of Archives]     [Fedora Desktop]     [Fedora SELinux]     [Photo Sharing]     [Yosemite Forum]     [KDE Users]

  Powered by Linux