Software development metrics and reporting

Posted by David M on Stack Overflow See other posts from Stack Overflow or by David M
Published on 2010-01-06T20:24:33Z Indexed on 2010/03/24 0:43 UTC
Read the original article Hit count: 491

Filed under:
|

I've had some interesting conversations recently about software development metrics, in particular how they can be used in a reasonably large organisation to help development teams work better. I know there have been Stack Overflow questions about which metrics are good to use - like this one, but my question is more about which metrics are useful to which stakeholders, and at what level of aggregation.

As an example, my view is that code coverage is a useful metric in the following ways (and maybe others):

  • For a team's own internal use when combined with other measurements.
  • For facilitating/enabling/mentoring teams, where it might be instructive when considered on a team-by-team basis as a trend (e.g. if team A and B have coverage this month of 75 and 50, I'd be more concerned with team A than B if the previous month they'd had 80 and 40).
  • For senior management when presented as an aggregated statistic across a number of teams or a whole department.

But I don't think it's useful for senior management to see this on a team-by-team basis, as this encourages artifical attempts to bolster coverage with tests that merely exercise, rather than test, code.

I'm in an organisation with a couple of levels in its management hierarchy, but where the vast majority of managers are technically minded and able (with many still getting their hands dirty). Some of the development teams are leading the way in driving towards agile development practices, but others lag, and there is now a serious mandate from the top for this to be the way the organisation works. A couple of us are starting a programme to encourage this. In this sort of an organisation, what sort of metrics do you think are useful, to whom, why, and at what level of aggregation?

I don't want people to feel their performance is being assessed based on a metric that they can artificially influence; at the same time, the senior management are going to want some sort of evidence that progress is being made. What advice or caveats can you provide based on experience in your own organisations?

EDIT

We are definitely wanting to use metrics as a tool for organisational improvement not as a tool for individual performance measurement.

© Stack Overflow or respective owner

Related posts about best-practices

Related posts about metrics