How do you characterize software development excellence?

What metrics characterize software development excellence?

If we are not careful, we may choose a metric that encourages the wrong behavior.  Too much focus on an end date will encourage a sacrifice in quality.  Too much focus on productivity will encourage avoidance of high risk/high return efforts.  Too much focus on minimizing the number of bugs may discourage the reporting of bugs or may encourage underestimating the severity of the bug in order to get a lower score.

In my view software development excellence is really about the professionalism and maturity of the team doing the software development which means, in my mind, very high scores in the following areas:

  • Self-Organizing:  Is the team independent and self-motivated?  Is the team efficient, self-guided, and able to determine when additional input is needed for non-trivial choices?
  • Ownership of Quality: Is the team proud of what they are building?  Do they have very high quality standards which go up even higher over time?  Do they understand and support the requirements which are really a profile of the customer and the customer's user experience? 
  • Data-Driven: Are they keeping track of metrics so that they identify inefficiencies and look for opportunities for greater efficiency?  Is there a clear goal for each software iteration?  Is quality measured?  Is productivity measured?  Is Planning Efficiency/Spillover measured?  Is there continuous improvement as tools get better and the team gets deeper in their understanding of the product/customer domain?
  • Professionalism:  Is the team efficient with their time, work well together, productive, predictable, responsive, reliable, clear in communications, and create maintainable code (well-organized, supportable, as small as possible, leveraging design patterns, easy to debug, high levels of unit test coverage, high levels of automated tests, etc.)
Let me start by focusing on what does the high performing team, a Super Team (if you will) look like.  Then, I will focus on the question of how do you get there.

Comments