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

Going Live Too Early Can Be Worse as Going Late

15. Februar 2021

Large transformation programs rarely collapse without warning. They collapse because the warning signs are ignored. In post-mortems, the pattern is almost always the same. The project team knows the system is not ready. The risks are visible. The defects are known. The dependencies are fragile. Nothing is hidden. And yet, the decision is made to

Weiterlesen

Another Great Leading Indicator for Future Trouble – Issue Resolution Time

10. Februar 2021

I have a very simple metric for determining the health of a project or an organization: the age of issues.  Issues are like fish; when they get old, they stink.  A sure sign of a lack of leadership and upcoming trouble is old issues or issues that take longer than necessary to resolve.  Issues are

Weiterlesen

A Great Leading Indicator for Future Trouble – Missing Milestones

31. Januar 2021

I have done quite a number of inflight reviews and post-mortems of troubled and failed large system implementation projects.  One pattern that emerges very clearly is the one of missing milestones whilst keeping the go-live date the same.  It rarely ends well. I see it again and again. Multiple important milestones are missed. Sometimes by

Weiterlesen

Can a Task Force Rescue Your Failing Project?

9. Januar 2021

We’ve all witnessed projects in trouble—the ones that required a quick and firm intervention in need of help from a task force to bring it back on track.   No executive wants to be in such a difficult situation, especially not with one of his or her own projects.   But how do we, as

Weiterlesen

How a Transformation Office Can Help Your Transformation Initiatives Succeed

2. Januar 2021

A new year has just started, but also in 2021 companies will be talking about digital transformation often. I think digital transformation is a terrible description for what is just another transformation. See my article “Digital Strategy Does Not Exist” on why that is.    But we shall use the term for a moment to

Weiterlesen

Project ≠ Program ≠ Portfolio ≠ Strategy

13. Dezember 2020

I have had many heated discussions around these terms. People mix these up and it confuses your organization and its people.  This is my take on it.  If your organization is running many projects at the same time it is impossible to make the right decisions if all projects are performed in isolation. Therefore projects

Weiterlesen

Project Failure Is Largely Misunderstood

26. November 2020

For many years, organizations, researchers, and practitioners have analyzed how to manage technology projects successfully.  Among them is the Standish Group, which regularly publishes its findings in its Chaos reports. In 1994, Standish reported a shocking project success rate of only 16 percent; another 53 percent of the projects were challenged, and 31 percent failed

Weiterlesen

User Enablement is Critical for Project Success

14. November 2020

Systems do not create value. Usage does. You can implement the most advanced CRM, ERP, or core system on the market. If your organization does not use it properly, the return will be marginal at best and negative at worst. Data quality drops, processes fragment, workarounds emerge, and the old ways of working quietly reappear

Weiterlesen

When IT Owns Business Decisions, Value Disappears

18. Oktober 2020

Executives do not struggle with IT because they do not understand technology. They struggle because they have delegated decisions they should never have delegated in the first place. The frustration is familiar. Technology costs keep rising. Capabilities expand. Programs consume time and attention. And yet, the business impact remains unclear or disappointing. Systems go live,

Weiterlesen

What Executives Need to Know About Project Management

11. Oktober 2020

I work exclusively with executives and when there is one thing that I have learned over the years is that effective executives have at least a basic understanding about project management and their roles in it.    When you look in a dictionary for the word «executive» you will find an entry similar to the

Weiterlesen