haven’t turned the corner yet

Well, I noticed that several developers were responding to the technical debt emails they received within a few hours of submitting technical debt to the source code repository. Anecdotal evidence seemed to indicate that the tide might be turning.

I used two indicators to determine if this were the case.

  1. Change in technical debt over time. I checked this week versus last week. No dice. The debt increased by over $10,000 in only one week. (As measured by the basic Sonar technical plugin using the standard settings.)
  2. Change in net contribution. I have a net contribution score for each developer’s code quality contribution. It combines both the good and the bad. So, are the developers net contributors or net debtors? For the most recent month, the number is negative.

So the answer is no. But we haven’t begun developer training yet, only manager and lead training. So stay tuned, the training should be key in turning the tide.

does faster velocity reduce commit quality?

correlation of velocity to good commitsOne assertion I hear, especially from managers, is that when the work volume increases, the commit error rate increases. By commit error, I mean a source code commit that has some form of technical debt, be it an uncovered line/branch, static code violation, duplicated code, tangle or exceeding a complexity metrics threshold.

So I plotted monthly velocity (file commits) on the vertical axis and the corresponding monthly commit success rate on the horizontal axis. For a 2-million line Java over 50 months I plotted a linear regression line on the XY plot.

What were the results? Absolutely no correlation. One the busiest months had the best quality rate and one had the worst.

This jives with my experience. I’ve often seen the busiest teams with the tightest deadlines still deliver debt-free projects. They have a constant focus on their technical debt and strive to commit code with no Eclipse yellow warnings and all green code coverage. On the other hand some teams seem to ignore quality figuring no one seems to care.