On technical debt.


I solved a major domestic technical debt project last weekend. In my basement I had a box of cables, chargers, adapters etc. There was also a monitor that I hadn’t used for a decade, and various other bits and pieces, including a shoe box of old batteries, and a remarkable collection of IBM thinkpad powerblocks going back to about 2001. I remember once I took a cable out of the box to use it, and found after several frustrating minutes it didn’t work, and had to buy a new one anyway. Other than that, the box and just had more cables added it over the years.

I loaded them up in the car, and dropped them off at the local electronics chain store. (German law on recycling etc is good like that). It took me all of 20 minutes. I’d been avoiding doing it for years, but every time I went in the basement, that box would irritate me. The sense of satisfaction I got from finally removing it was as good as the satisfaction I’ve got from buying new electronics. Think of this as the opposite of unboxing.

This weekend I’m doing the same thing with online subscriptions. I’m going to through what’s coming off my bank account / paypal and cancel the ones I don’t use. I suspect I’m wasting good money on services I don’t use or value. There will be some that I can’t remember subscribing to.

When I read the Unicorn Project, I was struck by how Gene Kim had the characters celebrate switching off and decommissioning old software and hardware. The sledgehammer scene on pager 316 is priceless. It is an excellent book btw. Go read it.

For many software companies and user organizations, dealing with technical debt is perceived as chore. We dread and postpone it. We shouldn’t. Celebrate the decommissioning of the old. Find those things in your product and operations that are obsolete and ruthlessly remove them. The more often you do it, the easier it gets. It will be hard at first.

Vendors: And when you build something new, don’t just think about the day you switch it on, design for the day you switch it off too.

Users: when you buy something new, make sure you switch off something old. Some of you have more HR report writing tools than I had IBM powerblocks. A major benefit of SaaS is that you can cancel stuff. If something isn’t working for you, cancel it.