Avoid technical bankruptcy: strategies to start paying off your technical debt
“Technical Debt” is a term most software and IT professionals are acquainted with, but it may not be as familiar with the marketing ops and sales ops crowd. As teams build out an application, a system, or a solution stack, they’re often required to make suboptimal decisions for reasons like:
- Lack of time or budget, leading to something “quick and dirty”
- The right solution wasn’t available commercially
- Lack of planning, architecture, or skill set
- A company culture biased toward building rather than buying
- A rush to adopt “shiny toys,” or trendy solutions
The list goes on, but as these suboptimal decisions pile on, companies accumulate “technical debt.” Like real debt, technical debt must be paid off eventually, either gradually or all at once (Can somebody say a brand new instance of Marketo or Salesforce?). The latter case is akin to a technical bankruptcy.
By the way, apologies in advance for the abundance of TV show analogies in this article. 🙂
How Can You Tell If You Have Crushing Technical Debt?
As MarTech and SalesTech took off big time in the last five years (yes, Scott Brinker’s MarTech Supergraphic now has over 7,000 vendors), many companies’ tech stacks also grew to become unwieldy. Here are some of the common symptoms that show you’ve accumulated substantial technical debt within your stack:
- You have more than 1,000 custom data fields in your Sales or Marketing Automation Platform (MAP) and you don’t know what 50% of them are for, how they came about, or who’s using them.
- You have five or six seemingly identical data fields, like “industry,” “industries,” “industry_c,” and “industry__c” (yes, that’s one underscore vs. two underscores).
- When you need to make bulk updates in your CRM, so many triggers, calculations, and validation rules kick off that you need to limit your batch size to fewer than 100 records at a time.
- The sync time between your sales automation solution and marketing automation solution is longer than 30-60 minutes.
- A task that used to take seconds now takes minutes—or longer.
- Duplicate records are created “mysteriously” by unknown sources.
- You’re constantly trying to sort out which application does what and in which order. So you’re manually orchestrating processes by adding wait steps to referee the applications within the stack.
- You have race conditions where a record’s value can change unpredictably depending on which application updated it last and which campaign is triggered first.
- You’re doing the same tasks—like data cleansing and standardization—in multiple applications. For example, embedding account dedupe logic inside your lead routing rule.
- You’re constantly looking at your CRM audit log to try to unravel what happened to your data, it’s like “CSI: Marketing Ops.”
How to Pay Off Your Technical Debt
OK, so by now you may have admitted you’re being crushed by the weight of your technical debt. What options do you have to pay off this technical debt?
Burn It Down, Baby!
Way too often, this seems to be the path companies take when faced with crushing technical debt. Just throw the baby out with the bathwater and start over! We know companies that do this every two to three years. In fact, we know one company that burned down its Salesforce instance twice in two years. Agencies and systems integrators love this option because it means lots of consulting services to get this heavy lifting done.
This option is very expensive, unbelievably disruptive, and in most cases, absolute overkill. It’s like Tom chasing Jerry with a 10-ton sledgehammer. What makes this approach even worse is that the company often maintains the same poor practices/processes/architectures that built up the debt in the first place, so the same scene just plays out over and over again.
There’s a better way. How, you ask?
Minimize the Number of Moving Parts
aka Marie Kondo Your Stack!
How many applications or solutions do you have in your tech stack? Go on, count—we’ll wait.
Does their functionality overlap? Do you know who is (or isn’t) making use of each solution?
Are you using these technologies to their full potential? Do you even know what each piece of technology is capable of?
Minimizing the number of moving parts in your tech stack is key to paying down your technical debt. Follow this strategy:
- Inventory your tech stack and document how each solution is used and what it’s capable of. Figure out who’s actively using each solution. Determine the ROI you’re getting from each technology.
- Remove any solution not being used.
- Remove any solution performing tasks that overlap with capabilities in other solutions.
- Re-assess your uncluttered tech stack. Ask yourself, “Can any of these solutions be replaced with a single solution, like a data orchestration platform?” (Spoiler: they probably can.)
- Consolidate the data you want to retain into usable fields, then remove all the data fields these solutions added to your CRM and MAP. More on this topic below.
Each piece of technology removed from your stack will contribute exponentially to the simplicity (and the performance improvement!) of your stack—and perhaps even spark a bit of joy for you and your team.
Unburden Your Sales and Marketing Automation Solutions
Applications like Salesforce, Eloqua, and Marketo are platforms with workflow engines that can be configured to automate all kinds of tasks. Salesforce Trailblazers and Marketo Champions have taken full advantage of these capabilities to solve all manner of business problems in sometimes interesting ways. Real-world implementations of these platforms are often chock-full of triggers, validation rules, calculation formulas, webhooks, segmentation rules, and data cleansing programs—many of which are data-heavy in a way these platforms were never designed to handle.
As a result, system performance can degrade, synchronization can lag, and real-time mechanisms become not-so-real-time. Degradation can further propagate into other solutions in the stack, throwing off timing and creating unpredictable outcomes.
Restore your beloved Marketo, Eloqua, and Salesforce systems back to their former glory by offloading data-heavy operations into a dedicated data orchestration platform. Consider offloading these common data-heavy tasks to reduce your technical debt load:
- Data cleansing and standardization
- Data segmentation and transformation
- Mathematical and date calculations, like point-of-sale item cost times quantity of order to get a total order cost
- Any type of matching or comparison operation—think lead-to-account matching
- Any type of data set joining operation
- Deduplication, especially across objects
- Mass scoring, including initial or recalculation of demographic score, behavior scoring with time decay, or any scoring task that involves a large lookup table like ZIP codes
- Mass attribution calculation, including both initial and re-calculation
Move these operations to a platform architected to take on such data-heavy workloads. As you migrate these processes off your sales and marketing automation platforms, either process-by-process or over time to minimize business impact, expect to see these platforms roar back to life.
Trim the Database
Most CRM systems are full of junk data no one knows what to do with but everyone’s afraid to delete. These platforms look like an episode of Hoarders. Data hoarding comes in two flavors:
- An excessive number of custom data fields. This is typically a byproduct of too many solutions in the stack, whether due to business process complexity or a history of acquiring shiny and promising technologies. (This is how you end up with six different industry fields, yet still no trustworthy industry data).
- Old data. These are records that are unmarketable, accounts you’ll never sell to, or data associated with a section or an era of the business that’s no longer relevant.
These data deadweights can cause a number of problems that add to your technical debt:
- They confuse everybody. No one knows how to use them, or which fields are in use.
- They slow down your system. Every database query has to wade through a large quantity of irrelevant data.
- They slow down your people. Teams must figure out which fields to use and how they’re filtered, as well as train new employees on the intricacies of your data.
- Many CRM systems don’t have granular field-level auditing, so when any data field changes, it only knows the entire record has changed. This ignorance can trigger unnecessary automation and create a vicious cycle when your formulas and rules kick off due to an update to the “modified” timestamp—regardless of whether the relevant input data fields have actually changed—which in turn marks the records as changed, triggering the calculations again. This escalates until your platform is wasting CPU cycles constantly recalculating and doing nothing useful. More on this in the blog post, Every Dirty Data Problem is Caused by a Process Problem: Why You Need to Fix the Root Cause.
- Many of these platforms’ license fees are based on the number of records, so deadweight data can make a material dent in your budget.
To remediate these problems, do the following:
- Reconcile duplicate fields into the primary field. For example, merge your six different industry fields into the primary industry field. You’ll have less junk and better coverage in the primary field you actually use. After reconciliation, remove the extra custom fields.
- Archive records you don’t need in your active CRM databases into an alternate database. If you don’t need to access this data at all, move it into permanent archive storage like a backup file. If you still need access to these records for purposes like tracking unsubscribes, or to merge into a more recent duplicate record when it appears, then archive them with a data orchestration platform.
- Consider using a data orchestration platform as a “data firewall.” Instead of plugging solutions you’re evaluating (especially data enrichment services) directly into your CRM, create an integration point by connecting them into a data orchestration platform. Use the data orchestration platform to incorporate this third-party data into your primary data schema instead of letting these services add hundreds of custom data fields into your CRM systems, creating clutter you’ll have to remove later.
If you see signs of crushing technical debt, remember that there’s hope. You aren’t doomed to painful technical bankruptcy. The tips above will help you get ahead of your debt. And a data orchestration platform like Openprise will keep you, your data, and your stack technical debt-free for years to come! Or, at least, until your business changes out every decision-maker yet again.