November 22, 2005

...Learn TDD with Codemanship

Martin Fowler - "Cannot Measure Productivity"

Martin's posted this interesting little treatise on his blog about why you can't measure developer productivity. It's a strong argument that says ultimately we don't care how fast we can climb the wrong mountains, which I wrote about on objectmonkey several years ago - so we're in general agreement.

What surprises me a little is that, as I understand it, the responsibility of scheduling the most valuable features earlier sits squarely on the shoulders of the customer and not the developers in agile development. To use a simple and well-worn analogy, we distingiush clearly between the performance of the engine and the skill of the driver. Given that clear seperation of concerns, I suspect one could actually measure developer productivity using the very same metrics Martin uses to illustrate his point. (I might throw in some quality metrics for balance, though - who cares how fast we can deliver crap?)

Don't get me wrong - I think the point about value is absolutely on the button, as do many who've extolled such virtues in the past (myself and Tom Gilb included). But by their own arguments, as long as the developers deliver what was asked for, that's purely the customer's problem.

I also believe very firmly that, for this precise reason, being a customer on an agile project is a highly skilled role. Just as developers take time and application to reverse their thinking from what code to write to what test to write when they adopt TDD, customers must adapt to thinking about what problem they want to solve rather than what solution they would like. It's not as easy as it looks.

I'm sure Martin would be the first person to say "that's the customer's problem" if ThoughtWorks were doing a great job of delivering exactly what the customer asks for, but the customer's asking for the wrong things. If value is a component in developer productivity - and ultimately, I think it probably should be - perhaps they should bill for a percentage of the project's ROI?
Posted 15 years, 2 months ago on November 22, 2005