Posts

Technical Debt

The term technical debt was coined by Ward Cunningham and describes, “A little debt speeds development so long as it is paid back promptly with a rewrite….The danger occurs when the debt is not repaid. Every minutes spent on not-quite-right code counts as interest on the debt.” (Cunningham 1992)

Technical debt can refer to unfit/bad design, defects, insufficient test coverage, poor integration, lack of platform experience, and a slew of other things that can and do go wrong. Sometimes technical dept is unavoidable, and sometimes it is actually strategic. An example would be when you must get something up to verify with a customer that it is indeed what they want, without wasting time to build, integrate, and test first. As the level of technical dept rises the severity of the consequences rise as well. Kenneth Rubin (2013) discusses the following consequence of technical debt in his book Essential Scrum.

  • Unpredictable tipping point
  • Increased time to delivery
  • Significant number of defects
  • Rising development and support costs
  • Product atrophy
  • Decreased predictability
  • Under performance
  • Universal frustration
  • Decreased customer satisfaction

 

 

Rubin goes on to highlight two main causes of technical debt, pressure to meet deadlines, and attempting to falsely accelerate velocity. I won’t take all of Rubin’s thunder away here. You really do need to read his book. What I would like to point out is another kind of debt that can accrue on on your projects, emotional debt.

The term emotional debt  captures the compounding nature of feelings. It’s one of the reasons we do a retrospective each sprint and why we separate product from process in scrum.  Many technical people went into technical fields because they found comfort in the logical order there and prefer not to explore their “squishy” feelings in the light of day. The problem is that those squishy feelings are there, ready to turn into resentment, fear, and distrust, sabotaging the long term health of your team if not addressed. I’m not suggesting group hugs during your daily standup, but I am suggesting that as a scrum master you make sure the team is minding emotional debt along with the technical debt and that you work with your product owner to mind the same with your customers and stakeholders. Remember, debt builds on debt, whether it is technical, emotional, or financial. Be proactive! Rubin suggest you:

  • Manage the accrual of debt
  • Make debt visable
  • Service (repay) debt

A New Year and New Offerings!

New trainings have been designed for the new year and others are back for an encore! Please leave a comment about what skills you are hoping to hone this coming year and I will make sure there are plenty of opportunities to learn and practice those MVS (most valuable skills). Customized agile, scrum, and Jira training and coaching sessions are available for teams too!