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

Boards Must Understand Technology. Period.

1. Juli 2024

Reflecting on the 2024 Swiss Board Day in Bern it has become even more clear to me that understanding the current technological landscape and its associated opportunities, challenges, and risks is now essential for both executive and non-executive board members. Equally important is staying informed about governance issues related to these technologies, including regulatory challenges

Weiterlesen

How To Select a Good Project Manager for Your Large and Complex Transformation Project

14. Juni 2024

Most transformation programs do not fail in execution. They fail in selection. Long before the first milestone is missed, the trajectory is already set by one decision that is often treated as routine. The choice of the project manager. For a sponsor, this is not a staffing decision. It is a control decision. The project

Weiterlesen

How Your Rollout in Waves Can End in a Tsunami

14. November 2022

Multinational system implementations rarely fail because of technology. They fail because the rollout model collapses under its own operational reality. One of the most common triggers is a misunderstanding of what a rollout in waves actually implies. Most organizations believe they are reducing risk when they move away from a big bang deployment. In practice,

Weiterlesen

White Elephant Stampede: Case Studies in Policy and Project Management Failures

15. Oktober 2022

This month one of the book projects I have been part of has been published by Connor Court Publishing in Australia.  The book is titled «White Elephant Stampede: Case Studies in Policy and Project Management Failures«, and it examines the seemingly endless cavalcade of projects that fail to meet their objectives, cost more than expected and

Weiterlesen

Doing Something That’s Never Been Done

14. August 2022

Executives, project sponsors, project managers, and steering committee members can learn a lot from how some deep technology startups approach their projects. This isn’t true for all kinds of projects, but it is for every project that involves doing something that hasn’t been done before and has a high risk-reward profile. This isn’t another lean

Weiterlesen

Why Are Your Best People Not Working on This?

7. August 2022

Large organizations do not lose control of critical transformation programs because they lack capability. They lose control because they systematically keep their best people out of them. It happens again and again. The organization launches a multi-million ERP, CRM, HCM, or core banking program. The stakes are obvious. If it fails, it disrupts operations, damages

Weiterlesen

Don’t Forget SaaS Performance Testing!

7. Juli 2022

Most SaaS implementations do not fail because they lack functionality. They fail because they are too slow to use. That sounds trivial. It is not. Performance is one of the few factors that directly determines whether a system will be used at all. If users have to wait after every click, every search, every transaction,

Weiterlesen

Changing Technology Is Easy; Changing Behaviour Is Not.

2. September 2021

This is an article I have written for one of my clients. You can find the original article here.   Creating a modern workplace is key to digital transformation. If you’re embarking on such an initiative, remember that changing technology is easy, but changing behaviour is not. Begin with the end in mind, ask what you

Weiterlesen

The Biggest Challenge of Postmodern ERP – Cloud Integrations

2. Mai 2021

ERP never died. It changed form. When Gartner coined the term “enterprise resource planning” in 1990, it described a very specific idea. One integrated system to run the core of the business. Finance, HR, manufacturing, procurement, all connected through a single data model and a single process backbone. For a long time, this model dominated.

Weiterlesen

Create a Lighthouse to Drive Your Transformation

13. März 2021

I’m a firm believer in transformation through delivery. In my experience real change cannot be implemented without a vehicle that is used to drive it through the organisation and crash through existing barriers.  Transformation is far more than just deploying new technologies for the sake of it. A genuine competitive advantage can only be gained

Weiterlesen