Opportunity Cost in the Technical Debt business case

Opportunity Cost in the Technical Debt business case

A few years back, I discussed the business case for reducing technical debt, and the importance of accounting for the risk exposure in that business case. However, there is another item in that business case that deserves some attention: the opportunity cost, defined by The New Oxford American Dictionary as "the loss of potential gain from other alternatives when one alternative is chosen."

When a Dev team spends resources and time on reducing technical debt (upgrading, refactoring, repairing), the team will produce fewer end-user stories during that time. Opportunity cost represents the business value that those end-user stories would have yielded, as a way of accounting for the scarcity of the team’s resources.

The literal term ‘opportunity cost’ is seldom heard during technical debt discussions, but it is often a major factor in deciding when to reduce the debt. Whenever a stakeholder (e.g. a product manager) says something like “Yes, we should do something about this debt, but we cannot afford to do it now”, she is probably referring to the business features that end-users are waiting for, or that have been promised before a certain deadline. In other words, the opportunity cost of reducing the technical debt – the potential gain from the alternative of delivering the business features on time – is higher than the interest on the technical debt incurred during that period.

The figure is an attempt to illustrate the opportunity cost by comparing two scenarios: in scenario 1, the technical debt is not payed back, and in scenario 2, the debt is payed back in release 1.2. The value curve at the top of the figure makes a little dip in scenario 2 (dashed line), compared to the continued growth of scenario 1. Using Philppe Kruchten’s backlog color coding, the figure shows that in scenario 1, release 1.2 introduces five new (green) user stories, while in scenario 2, there is only time for one user story because we have spent the rest of the resources on reducing the (black) technical debt. The gap between the dashed and the solid line represents the opportunity cost of reducing the technical debt. (In case you are wondering why the dashed line goes down in release 1.2, even though we are adding a user story: I always feel that existing business features in a solution are subject to some kind of value decay, due to growing expectations and demands from end-users – debatable I know, but beside the point of this blog post).

Example

A good example of opportunity cost in architectural technical debt reduction was presented to me by attendants of an RCDA Practitioner Course a few months back. In their organization, a team had been developing business process automation features for 4 years. The organization had kept track of the labor cost savings attributed to that automation effort, which amounted to 9 FTE (full time equivalent positions) per year on average. The platform the software was running on was due for a major overhaul, because it could not easily be made compliant with new European Commission regulations (most notably GDPR). During the overhaul, they would not be able to develop new features – meaning an opportunity cost equivalent to 9 FTE per year, or 0.75 FTE per month spent exclusively on the overhaul. A significant opportunity cost, but it was determined that the risk of non-compliance outweighed the opportunity cost, in favor of the overhaul.

In conclusion: if you need to draw up a complete business case for taking care of a piece of technical debt, make sure you include the opportunity cost on the costs side. This will help to facilitate a rational discussion about the impact of delaying features, putting this (architectural) choice in its business context. And while you’re at it, don’t forget to include the reduced risk exposure on the benefits side!

要查看或添加评论,请登录

Eltjo Poort的更多文章

  • Improving architecture in SAFe with RCDA

    Improving architecture in SAFe with RCDA

    It’s been over a decade since we bundled our experiences with agile architecture in our Risk and Cost Driven…

  • A Technical Debt Fairy Tale

    A Technical Debt Fairy Tale

    Once upon a time, there was a lead developer called Annabel. She worked for vakation.

    18 条评论
  • AI Art?

    AI Art?

    If you follow me on Instagram or Facebook, you may be wondering why I’ve been posting series of strange images lately…

    2 条评论
  • Architectural design with autonomous teams

    Architectural design with autonomous teams

    According to the agile manifesto, the best architectures emerge from self-organizing teams. The word emerge here has…

    4 条评论
  • Architecture: the outside view

    Architecture: the outside view

    Last month, I was asked to give a second opinion on some key architectural decisions and the way they were working out…

    5 条评论
  • A Map to Waterfall Wasteland and the Agile Outback

    A Map to Waterfall Wasteland and the Agile Outback

    Over the past 18 months, we have been iteratively developing a way to assess maturity with respect to architecture in…

    11 条评论
  • Value-driven Architecture Documentation

    Value-driven Architecture Documentation

    “[We value] working software over comprehensive documentation” features proudly on the front page of the Agile…

    7 条评论
  • Move slow and fix things

    Move slow and fix things

    Four years ago, Facebook changed its famous motto “Move fast and break things” to “Move fast with stable infra” (not…

    5 条评论
  • Architecture is Context

    Architecture is Context

    For architects designing complex solutions, a well-documented set of requirements can never be the sole basis of the…

    1 条评论
  • Shortening the architectural feedback loop

    Shortening the architectural feedback loop

    One of the things architects can learn from the Agile mindset is the importance of short feedback loops. The quicker an…

社区洞察

其他会员也浏览了