Critical things to know about technical debt

In the summer of 1989, I got my first real job and my first credit card. I promptly used it to buy a $3,200 Yamaha Wave Jammer personal watercraft. I quickly used my newfound credit to rack up $18,000 in credit card debt by the fall. One of my first lessons as an adult was the painful process of paying down that debt over the next two years.

My younger self.  I had a lot of fun with this but paid dearly for it.

My younger self. I had a lot of fun with this but paid dearly for it.


Technical debt is the work you must do tomorrow because you took a shortcut to deliver a solution today

Credit card debt is analogous to technical debt, easy to accrue and hard to pay down. Technical debt is the consequences of interest paid for choosing the easy/cheaper short-term option over the longer/harder/costlier but ultimately cleaner option.

When it makes sense to take on technical debt

Using a credit card to buy a personal watercraft is probably an improper use of a credit card. It's different if you get sick and need to use your credit card to buy a lifesaving medication. The proper use of credit cards or technical debt is all in the context and reasoning.

Noted Association consultant Wes Trochil has a phrase I love: "Everything comes with a Trade-off". This is undoubtedly true with technical debt.

The three most common trade-offs that cause technical debt:

  1. Time to market. If you can beat a competitor to market, it may justify the cost of the technical debt. Maybe you needed a solution yesterday. In my experience, speed is the source of most debt.

    In 2007 my previous company developed an AMS built on Salesforce, but we needed a constituent portal that would take over a year to also build on Salesforce. We made a conscious decision to repurpose a .NET solution we had written five years earlier. By doing so, we were able to get our product to market at least a year earlier and establish a competitive beachhead of paying customers. In retrospect, it was a good decision, but we paid dearly for it; we eventually had to write the portal on Salesforce Communities and support both portals for years which was incredibly costly.

  2. Cost. Cutting corners and short-term solutions are always cheaper upfront. When I was a developer at Kodak in the 80's, we called these ‘QUAD’ efforts - quick and dirty. They got the job done, but we incurred huge 'interest' payments down the line when we had to inevitably refactor them.

  3. Rogue initiatives. I see this all the time at associations. Often a department does not want to wait for, pay for, or deal with IT for a solution and procures a 'solution' without IT involvement. Typically the solution is not integrated and creates various problems for staff and a sub-optimal experience for members. The classic association example is the non-integrated events solution; the registrant has an off-brand registration experience that looks different from all other transactions they conduct with the organization. The staff has to deal with an unknown disparate data source and often has to manually enter data into the AMS and accounting systems.

Pay Now or Pay Later

Here are four tips to mitigate the cost of the debt you take on

  1. Acknowledge and document. Document the reasons for the decision to take the debt on. Document any expected consequences.

  2. Treat it like a technical loan. Let's face it; technical debt happens. Treat it like any other kind of debt. If you choose when you take out a technical loan and when you plan to pay it off, technical debt is a lesser problem (if it is one at all).

  3. Address as quickly as possible. Remember, technical debt is (hopefully) a temporary fix. The sooner you address it, the less expensive it will be (analogous to less credit card interest).

  4. Foreign key. Have a foreign key from the AMS in the disparate data source if possible. This will make it easier to import/integrate in the future.

Addressing your debt

The best way to get out of debt mess is usually to exit the debt the same way you likely acquired it - one step at a time, over time, iteratively, and in phases. We recommend the following steps:

Assess. Determine what debt you have.

Decide what to fix. Besides actually addressing the fixes, this is probably the most challenging part of managing debt. I have always found it helpful to bucket the debt into one of four buckets to get a 30,000-foot view of fix sequencing:

  1. Big impact / Easy to Fix

  2. Small impact / Easy to Fix

  3. Big impact / Hard to fix

  4. Small Impact / Hard to fix

Untitled design (1).png

Create a debt payment plan. Use a strategy of attacking the high impact/low difficulty activities first.

Taking on Less New Debt

Be kind to your future self

-Ted Husted

As an older (and somewhat wiser) man, I now work hard to not take any unwise debt. I still have a mortgage, but I am not buying expensive toys on credit. I sleep better at night because I am not worrying about paying it off.

How can you fight the natural urge to go the quick and easy route leading to burdensome technical debt? If you always keep design thinking around both members and staff in mind when making technical decisions, you will almost invariably decide with less debt. This is because either the member or staff experience will suffer when taking on technical debt.

What's your Organization's Wave Jammer?

I'd love to hear about some of the debt your organization is dealing with and the strategies you are using to pay it down. Share a story on your debt journey in the comments below.


ABOUT GOJECTORY

At Gojectory, we help transform professional and trade associations and non-profits with digital strategy and Salesforce consulting services. Part of that can be helping your organization with its technical debt. Let's talk about what we can do for your organization.

Sigmund VanDamme

Gojectory Co-Founder. I am a software engineer by trade and help professional and trade associations with digital transformation.

Previous
Previous

The Association Podcast

Next
Next

Do this one thing before you implement any new system