Using Scrum to tackle technical debt

Aug. 24, 2015 / By AJ Dandrea

I guess I may be part of a revolution and that revolution is called “Scrum.” Like many health IT leaders who are challenged with an ever growing backlog of work, there is no good, quantifiable way to prioritize that backlog, and it just keeps growing.

Enter what Scrum can do for healthcare IT. As a recent convert, I can tell you that there is a beauty in the Scrum framework that I haven’t seen in any other tool or method to have come across my desk, or that I’ve heard described as the “miracle balm.” This isn’t mutually exclusive to my Cloud Systems team, as it is being adopted across all of 3M Health Information Systems. The framework is simple. In terms of healthcare IT, especially operations, there is a way to use it for something we are burdened with in our industry.

Technical debt.

As described by Wikipedia, “Technical debt (also known as design debt or code debt) is a recent metaphor referring to the eventual consequences of any system design, software architecture or software development within a codebase. The debt can be thought of as work that needs to be done before a particular job can be considered complete or proper. If the debt is not repaid, then it will keep on accumulating interest, making it hard to implement changes later on. Unaddressed technical debt increases software entropy.”

How many of your support systems have accumulated years of technical change and have been impacted by instability? How many of you, like me, are excited to deliver new products and solutions but always carry a little bit of that debt with you?

Enter Scrum. All credit is due to Jeff Sutherland (for his book and his kind correction of my naïve assumptions), the Scrum Alliance, and those who have the courage to fix things using something they can apply to just about anything. My goal isn’t to teach you the details of Scrum, but just a few concepts to consider if you need something to introduce transparency into the work your teams do, and a visible, quantifiable way to continuously improve.

Scrum has had an impact on my personal healthcare. Much like bad code, my bad habits had accumulated over time to a point, like the definition, increasing the entropy of my good health. Let me explain. Each point of technical debt to my health is something like this (give me a little rope here; remember, I am a technologist):

  1. Two cans of soda a day
  2. Four cheeseburgers a month
  3. Sixty-two cups of coffee a month

I ended up quitting the bad habits above, but in order to get healthy I had to do a bit more:

  1. Sprint 1 mile a day (Provides the most benefit to my health)
  2. Jog 5 miles a week (Provides moderate benefit to my health)
  3. Walk 50 miles a month (Provides the least benefit to my health)

To sprint one mile a day proved to be too difficult for me. Like technical debt, I did not have the ability to do something as epic as sprint that far in a day.

Epic = Sprint 1 mile a day

With Scrum, I took that mile and broke it into smaller, achievable chunks with the goal of continuous improvement. I turned these chunks into my “Backlog:”

  1. Run 100 feet a day
  2. Run 110 feet a day
  3. Run 120 feet a day
  4. Run 130 feet a day
  5. Run 140 feet a day

I ended up sprinting a 100 feet the first day. The next day it got a bit easier and I ran 120 feet. My velocity improved and eventually I got to the point of one mile per day. This poor analogy represents what we call epic projects in healthcare technology. These projects become daunting to our teams if we attempt an archaic methodology to estimate and plan projects.

We never get that right. We re-estimate and try it again. With the pressure to provide evidence of work, some product results in the delivery overshadow the incredible efforts technologists perform in order to produce the product and, as a result, technologists never understand the velocity of their teams to predictably produce again. Scrum allows us to always use the backlog as evidence and the means in which to improve, and also to do it again and again. As a product owner of a services team, it gives me the ability to refine my backlog and allow it to be informed by my clients.

I am truly excited that 3M Health Information Systems has adopted Scrum.

Scrum may not have the ability to save the world, but give it a try and see if it can bring predictability to chaos, cost to the unquantified, and transparency to the challenges your teams may endure.

AJ Dandrea is operations manager of the cloud hosting organization at 3M Health Information Systems

Growing coding backlog?  Explore our outsourced coding resources.