Skip to main content

Managing Technical Debt

These articles are best practices for managing and, over time, resolving technical debt for every organization in a Salesforce environment. The articles don't extensively focus on organizational risk and governance.

The articles begin with a brief review of the root causes of technical debt and the general principles and capabilities that may apply in a variety of situations. The majority of the document focuses on systematically taking control of a Salesforce (SFDC) org with varying degrees of complexity, moving through critical stages of Salesforce org management maturity:

  • Early stages rapidly deliver value with minimal allocation of effort or disruption of process.
  • Later stages build on this base to streamline your account and change processes.

Each article ends with a link to the next topic in the Managing Technical Debt series.

tip

Tips provide optional background or details in these articles.

Technical debt (tech debt) is the cost of reworking a system to fix or work around implemented solutions. A key cause of tech debt is solutions that weren't fully engineered at the time they were deployed. One of the great features of Salesforce is professional coders/developers aren't required for every system enhancement. The downside is inexperienced people inadvertently creating tech debt.

There are many ways to classify tech debt. Three main categories are:

  1. Bad customization: It was a bad idea in the first place.
  2. Base case customization: It was implemented to support a simple case but needs to evolve or extend to address new situations.
  3. Aged customization: It was a good idea at the time but is no longer in use or fully used.

These customizations are littered amongst and intertwined with business-critical portions of virtually every org.

Salesforce tech debt is normal. It doesn't reflect team aptitude or level of competence. In most cases, the changes made to the org were part of rapid, rational, responsible solutions to the problems of the day. The incredible flexibility of the Salesforce platform enables an organization to move forward with high velocity and in an agile manner. Over time, the cost of changing or adding functionality grows at an exponential rate due to the rigor around changes, thus bottle-necking enhancements. Training costs are inflated answering questions about outdated fields or reports. Team turnover or org growth makes tribal knowledge unworkable and ongoing regression testing adds significant cost and slows down innovation.

Tackle your tech debt to free your team’s capacity for delivering solutions to your business.

Next Technical Debt Topic: Managing Orgs in the Real World