Search

Coping with Technical Debt



What is Technical Debt?

Technical debt is a programming concept that originates from improper solution design and development practices. It is the accumulation of development work for the future time, due to short cuts followed during the development period.

Technical debt is much like financial debt, but the only difference is the interest rate in technical debt is not regulated by any governing body and can even go beyond 100%


How is it Incurred?

The key reasons for technical debt are:

  1. Un-Scalable technical design done by inexperienced technical architects who miss understanding all the different perspectives of software design and principles

  2. Rush Development, when the time to deliver takes priority over quality, developers take short cut resulting in bad code. The project team is blind to the concept of technical debt, and make decisions without considering the long term implications

  3. Unpolished coding mostly originating from unskilled developers who follow linear programming without applying any design pattern which I prefer to call “short-sighted programming”

  4. Insufficient testing will definitely result in slippage of defects into deployed code which will be a sure burden for future

  5. Little or no documentation has become a culture in most software development projects and it blocks the transfer of knowledge for the future developers who come to work on the system and hence build technical debt

  6. Sometimes technical debt is built intentionally when an interim solution is built to address a pressing need and it never gets replaced with the better long term solution

  7. Lack of infrastructure to support needed and governing practices (e.g. continuous integration systems, automation of frequent or tedious tasks, etc) also facilitate the environment for accumulating technical debt

  8. Lehman’s “Laws” of Software Evolution states, a system must be continually adapted or it becomes progressively less satisfactory. Legacy systems are often a pile of technical debt incurred over time

Impact of Technical Debt on an Organization:

  • Frequent defects reported in production causing user dissatisfaction

  • Less value delivered and high risk because of naïve code deployed in production

  • Reduced efficiency and agility of the support team while implementing enhancements

  • High maintenance cost that tends to increase over time

  • System and future changes undertaken are not predictable and reliable

  • Frustration and stress within the development team support the system

  • Risk of reaching technical bankruptcy which can be complete disastrous and a point of no return


How to Clear Technical Debt?

Clearing the technical debt is often overlooked in organizations, simply because there is always something that holds a higher priority. It can be difficult to build a business case when the ROI seems to be consisting mostly of intangible components. Eventually, the technical debt ends up becoming a very significant limiting factor to the point of being a competitive liability:


  • Identify, quantify and acknowledge a technical debt

  • Understand short term and long term technology roadmap

  • Prepare a Debt reduction strategy. Never try to go Big Bang about resolving technical debt as it will have high Risk, High Reward proposition. The best way to act is by dividing and conquering gradually over time.

  • Adopt industry standard and best practices into team culture and stop incurring new debt

  • Upgrade into newer technology platform and decommission legacy conventional systems

  • Documentation and building knowledge base must be incorporated into the strategy


Technical debt is something that is prevailing in almost every organization; some choose to act while others choose to retain it at a blind spot until an accident happens. Our next article is going to be more specific on technical debt incurred in the Salesforce platform and steps required to resolve it.


Please reach out to us on support@winobell.com for a free evaluation of technical debt in your Salesforce org. You can also follow us on LinkedIn for updates in various Salesforce products.

23 views0 comments