Technical Debt

Several years ago, I was on a product team in the midst of a ship cycle. I was part of the daily bug triage, where we reviewed, assigned, and sometimes - postponed bugs to the next release. Postponements happen for a variety of reasons, and are a necessary part of shipping software. A few months before shipping, we had some time left at the end of the meeting, and I asked if we could look at the bugs assigned to the next version of our product. The number was astounding. It was so big, we started calling it the "wave". The "wave" meant that after we shipped, we would be starting work on the next release with a huge backlog of bugs. Yuk.

Our bug backlog is a form of Technical Debt. We constantly have to make tradeoffs when developing software, and many of those tradeoffs result in technical debt. It's a tough thing to deal with, and we (software industry) aren't always very good at handling it. 

Matt Heusser has blogged about this before, and is holding a peer workshop on technical debt in Michigan in August. The call for proposals is here.

Check it out.