Development at work has been trending well in the new year and the team is getting excited about our formal incorporation of practices such as TDD and pair programming.
I’m definitely perceive an intangible benefit in culture and fun. With a full test suite and engaged developers working out loud coding is fun again.
I give a lot of thought to developer efficiency and generating metrics around our output is very important to me. We are at a point in this iteration where I have too many stories in progress and it is taking a few extra days to get work completed and accepted. This does not concern me greatly since this is a new team and it usually takes a few turns to get into a rhythm. I was walking down the hall and one of developers said that things are going ‘Awesome’. I said “Great, but awesome is not a metric“.
Since then he and the rest of the team have risen to the challenge and we have some demonstrable facts in low bug counts and high numbers of actual hours (hands on keyboard time) logged.
I’ll have a clue in a few weeks and ‘know’ in a few iterations that TDD and pair programming have raised productivity in this team. For right now I do think things have improved and I feel that our velocity is going to increase. IMHO my personal job satisfaction has increased.
So I may have been nieve last week in saying awesome is not a metric. I’m now thinking that awesome must a metic with a correlation to both employee retention and code quality. We simply have not developed the tools to measure and understand this thing we call ‘awesome’. I can only observe the secondary effects that occur when there is “awesome” within a team.
This is kind of like gravity. Science can only measure the effects of gravity but you can’t run without it. And running beats floating back and forth aimlessly any day…..