DEV Community

Discussion on: anyone figured out a way to measure developer productivity?

Collapse
 
sudiukil profile image
Quentin Sonrel • Edited

The first real question is: what is productivity ? How productive you are and how you measure it depends on what your goals are. If I take your potter example: yes, the number of pots can be a way to measure productivity... but what if the goal of the potter is not to make a lot of average pots but a smaller quantity of high-end deluxe pots ? In that case, the number of pots becomes quite irrelevant for measuring productivity.

Back to developers and code now. What are the things you can measure about produced code ?

  • How quick it was produced ? Yeah sure, but quick code is rarely, if not never, good code.
  • How good it is ? That's sound like a better indicator, although... how do you value the quality of a code ? First of all, while anyone can count pots, only a developer can say whether or not a code is good... and guess what, code is not just a product, it's also a logic, and every developer has its own... so, while one developer might find a code "good", another might consider it utter garbage.
  • How does it match the expected result ? It's another thing you can measure, but awful code can match expectations perfectly... until you realize the code is awful and can't be maintained, or reused, etc... which may result in more work... would you consider that productive ?

So, just like our potter, you will have to measure productivity depending on what the goals are. If you need something to work asap, you may measure the speed. If you want something that "just works", you may want to measure output (the end result). And if you want "good" code, you may measure its quality, but it will remain subjective.

And depending on what you favor (speed, output or quality), there will be drawbacks and consequences.

So maybe the only way to measure productivity is to take all of these things into account, but it's back to square one: it's not easy to measure. But hey, coding is a complex thing, so maybe measuring a developer productivity should be too ;)