The Great Isaiah Scroll

Your Sacred Software Scroll: Experiencing Technical Debt

Joshua Kerievsky
3 min readOct 31, 2017

--

In the lobby of a hotel in a suburb north of Toronto, I rolled out the scroll in preparation for filming. It was 28 pages long, filled with buggy, complex, hard-to-maintain C++ code, which had been written, maintained and debugged by many people over ten years. A plastic yellow caution cone stood at the bottom of the unfurled scroll, placed there after someone had spilled a drink.

This code was owned by a local company. To help that company’s leaders grasp the extent of their technical debt, I filmed their sacred software scroll in the hotel lobby:

Video by Joshua Kerievsky, Industrial Logic, Inc.

This video had an impact. Rather than follow the plan to add more new features to this 10-year-old, fragile code, executives and managers finally decided to pay down significant technical debt. The code in question happened to be part of the company’s flagship product and the software was crashing so frequently that a competitor published a full-page advertisement showing a person holding their head in pain, with the headline (in a large font): DON’T TOLERATE SOFTWARE CRASHES!

A team, led by two badass Industrial Logic coaches, worked hard to pay down this technical debt. They plastered the competitor’s advertisement everywhere and worked with the team to agree on a clear vision in the team’s charter: the product will acquire data for 48 continuous hours without any crashes! The team of testers, programmers, coaches and a product manager worked in a new, open workspace and produced automated acceptance tests, fixed defects, simplified logic, got code under unit test and removed knowledge silos by regularly pairing and changing pairs. It was hard work and it took over six months to achieve the team’s vision.

When the new version of the product finally shipped, it has no new features and yet the customers were delighted. “Thank you! This is the most stable version of [X] I’ve ever worked with!” said one customer. Hundreds of similar messages flowed in. While the team had not eliminated all technical debt, it had begun the process of shifting the code towards a far better state.

The Unfurling Ceremony

Is your company ignoring massive technical debt? If so, here’s a suggestion:

  • Find the longest, most-complicated function/method in your company’s code base.
  • Print it out and tape the pages together.
  • Roll up the pages so they become a scroll.
  • Find someone in management who can fund a technical debt cleanup effort.
  • Ask that manager to grab one end of the rolled up scroll.
  • Ask that manager to keep walking backwards until the scroll is completely unfurled.

This unfurling ceremony offers managers a visceral experience of technical debt. If your staff and customers are suffering from complex, buggy, hard-to-maintain code, it may be time to produce your company’s sacred software scroll and give management the gift of unfurling it. The experience may lead them to feel empathy for the programmers and testers who have to maintain such code and the customers who have to use such it. Ideally, this experience will inspire managers to temporarily prioritize paying down serious technical debt instead of piling on more features.

--

--