Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Businesses IBM Programming Stats IT

The Futility of Developer Productivity Metrics 203

snydeq writes "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?'"
This discussion has been archived. No new comments can be posted.

The Futility of Developer Productivity Metrics

Comments Filter:
  • Re:Refactor... (Score:5, Informative)

    by ZeroExistenZ ( 721849 ) on Thursday November 17, 2011 @03:58PM (#38089660)

    Application design (have someone think about everything in broad lines, set out a main architecture-model in ADVANCE.)

    Iterative design.

    A good project manager prioritizing and communicating current development shielding programmer from clients (who during the "waiting time", are fantasizing changes).

    In contrast, in debugging and QA, free way between the client and the developer (more efficient and gives more motivation to the dev as to slave for )

    Realistic expectations: don't get your devs running around doing "quick" jobs left and right while they're trying to keep a tight schedule.

    Keep everybody current: short standup meeting in the morning

    Motivate communication; devs tend to get absorbed in their coding-problem (nd prioritize being "productive") but forget to be a team

    The right personality on the right segment of a project: developers have their strengths and their weaknesses.

    ...

  • by Crashmarik ( 635988 ) on Thursday November 17, 2011 @05:28PM (#38090726)

    Personally I am always happy with the guy who can get things done with one line of code instead of a hundred, but what I really care about is that objective is met and we don't have a host of bugs that require 10 times the cost of the development just to maintain. Its not hard stuff but it does require common sense and a hard nosed attitude both of which can be scarce commodities these days.

    I am also REALLY happy to have "that guy" that has absolutely shit productivity, but somehow manages to pick up on every time a "solution" is proposed by the rest of the team to a problem that doesn't exist or doesn't matter, and stops THEM from being really efficient at doing the wrong thing.
      I'm also really happy to have "that girl" that doesn't seem to really be doing anything, but take her out of the team and everyone else starts floundering because she's actually constantly helping them be a lot more productive.

    "Meeting the objective" is actually potentially just as bad as any other metric, because it depends on how you define the objective, and meeting it. What the customer asked? What the customer wanted? Or what the customer actually needed?

    That guy and that girl are generally called project/team leaders. Don't fret, You raised an important issue. The guy you don't want on the team is the one that comes up with ridiculous edge cases and is needlessly obtuse. Like someone who invents coders that are doing the work of managers and senior managers then complains a measurement tool doesn't capture their contribution, or goes into a recursive loop trying to figure out what the objective should be.

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...