Paying Technical Debt

15. Januar 2017
Kategorien
Newsletter abonnieren

Paying technical debt

The metaphor of technical debt in code and design can be defined as follows: You start at an optimal level of code. In the next release, you are adding a new feature. This would take an effort E. This, of course, assuming that estimations are somewhere near reality.
If the level of code was less than optimal, the effort will be E + T.

Where T is the technical debt. Writing bad code is like going further into debt. You take the loan now, and you repay the debt later. The bigger the mess, the larger the delay in the next release.

The term “technical debt” was first introduced by Ward Cunningham. It was in the early 90s when the disconnects between development and business were growing bigger and bigger. The business people would urge developers do release untested, ugly code in order to get their product or new features faster. The developers tried to explain why this was a bad mistake. Some things will never change…

Most products and projects are still released much earlier than the developers have wanted. Assuming that developers are not just being stubborn (I know, maybe an ever bigger assumption as decent estimations), you would think that we didn’t manage to get the message across to the business. We have done an awesome job explaining what technical debt is and what the results are going to be. The business people understand it. But they are just willing to take the loan now. Can you blame them? Business wants something out there, in the field, that will sell now.

Let’s assume that there is a discussion at one point before a release. It’s about delaying the release and making the code better or releasing now. My experience is that most times the decision will be in favor of an early release at the cost of less quality. There are a number of reasons for this:

– The business would rather have something now, and take the debt, because they have something new to sell.
– Besides the business decision, there are politics involved. People loose face with delayed releases because they promised their management that magic will happen.
– CapEx is paid from the project budget, but OpEx from a different budget. Meaning a lot of technical debt will not be paid by the project but a different department.

An example. On a recent project I was involved there were two very big debt creators.

1) Handling of a dependency on another System B. The team working on that system was completely overloaded. And instead of fixing the problems with that team, my team was forced by management to rebuild functionality that was already in place at System B. This was an architectural f*ç& up and caused many headaches later on.

2) The other one was not spending any time on test automation. Each regression test was done manually. This way we could never deliver each sprint something of good quality, nor could we deliver in fast cycles, cause after development manual testing started for multiple days.
Yes, we released some features earlier as we should, but o boy did the company paid for that later.

Tags

Das könnte Sie auch interessieren

The Professional Services Transformation Paradox #11 – Risk Mitigation vs. Innovation

7. Mai 2026

Professional services firms are designed to minimize risk. Their business model depends on trust, reputation, and consistency. Clients rely on them for assurance, judgment, and reliability, which means failure is not just a delivery issue, but a firm-level risk. A single incident can have disproportionate consequences, whether through litigation, regulatory scrutiny, or reputational damage. That

Weiterlesen

The Professional Services Transformation Paradox #10 – Client Intimacy vs. Platform Standardization

28. April 2026

Professional services firms win through relationships. The closer they are to the client, the more value they create. Understanding the client’s context, adapting to their needs, shaping solutions around specific situations rather than applying generic ones. That is where trust is built, where differentiation happens, and where premium pricing becomes possible. Standardization moves in the

Weiterlesen

The Professional Services Transformation Paradox #8 – Short-Term Revenue vs. Long-Term Capability

23. April 2026

Professional services firms are built around revenue. Revenue is visible, measurable, and immediate. It drives partner compensation, signals performance, and anchors decision-making across the firm. Every client won, every project sold, every hour billed translates directly into current-year outcomes. Capability building works differently. It requires investment upfront, often without immediate return, and pays off over

Weiterlesen

The Professional Services Transformation Paradox #7 – Partner Autonomy vs. Firm-Level Strategy

18. April 2026

One of the defining features of professional services firms is partner autonomy. Partners are expected to build and run their own business. They originate clients, grow revenue, manage teams, and are rewarded based on the performance of what they directly control. This creates strong ownership, high accountability, and a culture where individual success is tightly

Weiterlesen

The Professional Services Transformation Paradox #6 – Service Lines vs. Firm

16. April 2026

One of the most persistent illusions in professional services is the idea of “one firm.” From the outside, large firms present themselves as unified organizations. One brand, one client proposition, one set of capabilities delivered across audit, tax, advisory, and deals. The expectation is clear: if the firm is integrated in the market, it should

Weiterlesen

The Professional Services Transformation Paradox #5 – Global Standardization vs. Local Economics

12. April 2026

One of the least discussed challenges in large transformation programs is the illusion of standardization. From the outside, global professional services firms look highly uniform. One brand, one set of services, one methodology, delivered across countries in a way that suggests consistency and control. Audit, tax, consulting, deals all appear to operate within the same

Weiterlesen

The Professional Services Transformation Paradox #4 – Accountability vs. Alignment

1. April 2026

In large transformation programs, accountability is rarely missing. It is distributed. It sits with executive sponsors, steering committees, transformation offices, service line leaders, and partner groups, each with a defined role and a legitimate claim to involvement. On paper, this creates alignment. In practice, it often removes ownership, because when accountability is spread across too

Weiterlesen

The Professional Services Transformation Paradox #3 – Long-Term Investment vs. Short-Term Management

27. März 2026

One of the most underestimated constraints in professional services transformation is not technology, capability, or even funding. It is time. Real transformation takes longer than most firms are structurally able to tolerate. Core systems such as ERP platforms, data architectures, AI capabilities, or global workflow solutions are not incremental improvements. They are foundational changes. They

Weiterlesen

The Professional Services Transformation Paradox #2 – Internal vs. Client Execution

26. März 2026

One of the most persistent, and least openly discussed, tensions in professional services firms lies in how they execute their own transformations. It is a tension that does not reveal itself in strategy decks or partner presentations, but in the day-to-day reality of large internal programs that quietly struggle to deliver. At first glance, the

Weiterlesen

The Professional Services Transformation Paradox #1 – Technology Alliances vs. Internal Fit

20. März 2026

This article is part of a series exploring the tensions at the core of the Professional Services Transformation Paradox. The paradox itself is straightforward, yet deeply consequential. Firms that excel at transforming their clients often struggle to transform themselves. Not because they lack capability, but because their own structures, incentives, and operating models create resistance

Weiterlesen
Next