Linked by snydeq on Thu 17th Nov 2011 22:47 UTC
General Development Fatal Exception's Neil McAllister discusses why code analysis and similar metrics provide little insight into what really makes an effective software development team, in the wake of a new scorecard system employed at IBM. "Code metrics are fine if all you care about is raw code production. But what happens to all that code once it's written? Do you just ship it and move on? Hardly - in fact, many developers spend far more of their time maintaining code than adding to it. Do your metrics take into account time spent refactoring or documenting existing code? Is it even possible to devise metrics for these activities?" McAllister writes, "Are developers who take time to train and mentor other teams about the latest code changes considered less productive than ones who stay heads-down at their desks and never reach out to their peers? How about teams that take time at the beginning of a project to coordinate with other teams for code reuse, versus those who charge ahead blindly? Can any automated tool measure these kinds of best practices?"
Thread beginning with comment 497593
To read all comments associated with this story, please click here.
Comment by Luminair
by Luminair on Fri 18th Nov 2011 04:31 UTC
Member since:

"it might be best simply to forget about the idea of measuring developer productivity and rely instead on tried and true methods. That's right: A highly effective, productive developer workforce is often the result of high-quality, effective management. Unfortunately, nobody has developed a metric for that yet. Coincidence?"

he has some valid ideas, but he is also ranting. he is attacking logic-based decisions with emotional fire. fury even!

make your points, but we must still keep TRYING to get better. we can't shut it all down and work on intuition. we (organizations of people) must TRY to find processes to better ourselves. even if we keep failing!

Reply Score: 2

RE: Comment by Luminair
by intangible on Fri 18th Nov 2011 17:41 in reply to "Comment by Luminair"
intangible Member since:

To his point a bit, I also find that a lot of organizations start to run down the road of "performance metrics" periodically and it always seems that we start spending more time working on stuff to "keep track of metrics" instead of the actual work itself.

If I'm spending between 30% and 200% of my time updating all the tools and systems with my breakdowns of how much time I actually spent working on tasks, it doesn't seem all that efficient to me... The alternatives: lines of code, bugs fixed, scm checkins, are all so easy to game, they're not really useful either.

Reply Parent Score: 2

RE[2]: Comment by Luminair
by Alfman on Fri 18th Nov 2011 19:34 in reply to "RE: Comment by Luminair"
Alfman Member since:


"To his point a bit, I also find that a lot of organizations start to run down the road of 'performance metrics' periodically and it always seems that we start spending more time working on stuff to 'keep track of metrics' instead of the actual work itself."

I had one employer who implemented a system to measure every single minute of work and log what we're doing at all moments. While it's a quasi-reasonable thing to want to have, it's terribly inefficient and invasive in practice. Their system sent out emails informing most of the employees that they didn't put in the required 40 hours, which is insulting given that many of us were there more than 50 hours, obviously we just didn't account for every minute of every day. We complained that often times developers help each other out by talking to one another even when we're not always on the same projects, management responded that the only time we'd be given credit for is what got logged in the time sheet (the system didn't allow us to record time for items which weren't officially assigned to us).

In the end, the system under-emphasizes important results and just encourages abuse: rounding up time, leaving the clock running, etc. I wouldn't be surprised if many developers are fabricating the numbers all together for their time quota.

What ever happened to treating software engineers as professionals?

Edited 2011-11-18 19:46 UTC

Reply Parent Score: 2

RE: Comment by Luminair
by Yamin on Fri 18th Nov 2011 21:34 in reply to "Comment by Luminair"
Yamin Member since:

He is not ranting at all.

It's actually a very good point. One I think you should look at again.

They haven't found any good metrics for management? Why is that... because it is a skilled job... just like developers.

And the argument that we should *keep trying* is kind of pointless. It's great to *keep trying* in an academic setting. The problem is that a bad metric is worse than having no metrics.

For example, if you ran a software company and used lines of code as a measure of performance... you would end up with a poorer product than if you just let people do their job.

Of course we should always progress and try and innovate in everything... including process. However how much you adopt of 'new things' in current systems is always a challenge as you risk breaking what works and even making things worse.

That is not progress at all.
Given the poor state of developer metrics, I certainly wouldn't think it progress to put in anything into a company right now. That's a step backwards. To put it simply... the best metrics we have are peer review.

Reply Parent Score: 3

RE[2]: Comment by Luminair
by Luminair on Sat 19th Nov 2011 05:20 in reply to "RE: Comment by Luminair"
Luminair Member since:

he is totally ranting, AND peer review is the best. BAM!

Reply Parent Score: 2