« The Goal of a Build | Main | Precognitive Build Servers »

September 06, 2012


Erik Dietrich

That's a really cool idea. I wonder if you also might get an added bonus from the observer effect. Specifically, the fact that everyone on the team knows that the lengthening of methods is tracked might result in people being more hesitant to do it.

Michael Feathers

I would hope that that would help. So much of this is social dynamics, isn't it?


Much of this _is_ social dynamics, which is why one should probably think twice before setting this up as something that is "tracked". I appreciate that this can give valuable insights, just as other metrics can; even test code coverage _can_ give valuable insights, but I think we've also all realized that tracking code coverage can lead to some very counterproductive behavior, because of the social dynamics involved.

Ed Sykes

Hi Mike, I've been thinking about this since I saw you present it at #aotb. It seems very closely related to the open / closed principle. In our code base we're always thinking about ways to design the code to allow extension rather than modification so I am interested in being able to see a breakdown of how much of the code being added is extension and how much is modification. This would allow us to go and look what's happening when the balance in changing (one way or another).

What I'm struggling with is that whether you see extension or modification does depend heavily on how far back you look. Do you have any observations/comments on how the view changes when you change the value of 'n'?

The comments to this entry are closed.