See all articles
Sunk cost fallacy in software development: What are top mistakes to avoid?

Sunk cost fallacy in software development: What are top mistakes to avoid?

Sunk software development costs is a topic that still isn't getting enough coverage. For this reason, we're starting a series that will focus on how to avoid the sunk cost fallacy and improve all decision-making for better business value.

But what even are these sunk costs?

Let's imagine this example scenario...

A company has invested a lot of money into their software product. They hired a team of software developers and spent months, or even years, on implementing the app and its features. 

  • It was a big investment because the software was supposed to earn itself for years to come.
  • However, the time passes, and this company barely makes any profit out of it due to technical problems, making the app less competitive in the market.
  • It usually happens by slowing down development of often requested new features, or by making the overall user experience within the app less than desirable and filled with unexpected bugs and app crashes.

Let’s see a second exemplary scenario. 

  • A company has a product with a decent user base.
  • Still, at this point, it doesn’t meet most of its needs.
  • With time, the risk rises that the competition will learn from all their mistakes and create a product that has the same functionalities, but with some additional perks.
  • In the end, the primer company loses most of its user base and is left with a product that is not profitable anyway.

Both cases beg some questions that must be answered. 

Is it worth it to invest more money to make the project return profit eventually? If so, what are the conditions that speak in favor of doing so? How to recognize them in your own business environment?

To answer these and more questions, we’re starting the series on sunk costs. We’ll be discussing how to recognize them, how to invest money into the project wisely (or know when to stop) and even more importantly… How to avoid sunk cost fallacy altogether!

 After reading this article, you'll discover:

  • How we learned how to avoid sunk software development costs
  • What they even are, and what is the example of sunk costs
  • What sunk cost fallacy is like in the IT industry
  • How to avoid unnecessary expense in your project altogether.

Why do we have something to say? 

Here at iRonin.IT, with over 500 successful project deliveries, we saw those types of scenarios a few times in the case of clients migrating their projects from another provider to us.

Over 20 years of experience in software development, our team had many conversations with clients, made several important decisions and saw how a successful refactoring can make the product more profitable than ever before.

In this article, we’ll share some of our best insight for why investing in refactoring might be the best strategy in sunk cost cases. But even before we deliver this knowledge to you, be sure to check this piece about when it is right to change your development team. It will guide any decision maker at the initial stage of your whole business project.

And if you feel ready to go, let's not waste any time and dive deep into the infamous topic of sunk cost fallacy.

What is a sunk cost fallacy?

The famous saying goes in line with this bias: "Throw good money after bad".

The sunk cost fallacy, also known as the Concorde fallacy or sunk cost, refers to a cognitive bias that causes decision making based on their past investments. 

Mainly, it is the tendency to continue investing in an ineffective strategy or course of action in a project for which they have already made a lot of resources investments.

In this case, many wonder if it’s worth it to lose more costs to make the project return a profit eventually. A right move might be to decide reaching out to a strategic IT partner having expertise in this field. But even then, the paid opinion usually suggests the other options that still overstep the fixed cost determined for this business project.

For example, decision makers often hear that the only solution leading to success is to undergo code refactoring.

Spending yet more resources seems like irrational decision making. You'd rather minimize the costs if anything else. But, quite surprisingly, this makes sense only when you make the decision to throw much money with no clear goal in mind. 

But if you're actually willing to recover your app and outrun your competitor, you'll find that code refactor is not only beneficial. It's necessary to make it work and avoid falling in the loop of endless costs that don't really fix anything. 

You cannot return the already invested resources. But it doesn't mean you should walk away from the project altogether.

Not all sunk costs cannot be recovered

We may not realize that such concerns apply both for business and daily life environments. To put it all in simple enough terms, we don't like to give up on things where we have already invested time and money.

Sunk cost fallacy is a psychological phenomenon explaining many of our irrational financial decisions. It has a big influence on many aspects of our lives, and software development is no different.

Still, it doesn’t mean that sunk cost fallacy should become our biggest fear, blocking us from developing the project and ultimately, achieving its success.

We can turn this weakness into our strength, if only we understand how to invest in our project wisely. Although it seems like a huge undertaking, refactoring is usually the best option for such an investment. Why? Let’s find out later in this article. 

Software development costs: How not to sunk them?

In our example scenario, the company makes an effort to earn back the relevant costs that have already been incurred. Let's say they choose software development team augmentation, hoping their digital product development needs simply "quick fixes".

But instead, they hear that the code needs to be refactored and some functionalities completely revised.

So, is it worth it anymore? 

What is code refactoring?

Code refactoring is the process of restructuring existing code in a software application without changing its expected results. It involves making changes to the code to improve its readability, maintainability, and performance, without altering its functionality.

Why should I need code refactoring when I already have sunk costs?

  • It can improve the quality of the codebase, making it easier to maintain and enhance in the future, especially when working with agile methodology.
  • By improving the codebase, developers can reduce the amount of time and effort required to add new features or fix bugs, allowing them to focus on building new functionality that can generate revenue.
  • Additionally, code refactoring can help to optimize the performance of the application, improving its speed and scalability. This can lead to a better user experience and greater customer satisfaction, which can increase user retention and drive more revenue for the project.

In summary, code refactoring is an essential process for ensuring the long-term success of a software project. By improving the quality of the codebase and optimizing its performance, developers can make the application more efficient and effective, driving greater revenue and helping the project to grow and succeed over time.

We will be discussing code refactoring in greater depth in our next article. Stay tuned for a more detailed explanation of the benefits of code refactoring and how to approach it in your software development projects.

How to make future decisions with sunk costs in mind?

The important thing to understand here, that not all further actions are to be considered as more sunk costs. 

Companies may avoid rewriting the old codebase because they have put a lot of resources into it. But this is just an example of the sunk cost fallacy. Rewriting half or most of the code is thus, counterintuitively, the complete opposite of the thing.

So, in this case, refactoring your code isn’t as much an investment as it is a corrective step toward abandoning a dysfunctional behavior pattern in product design and development. In the end, you have to make some major changes in the app that don’t immediately bring profit or can’t directly meet the users’ expectations for new features.

So, how to know when refactoring is the right choice and a relevant cost? 

We will address this question in the next article, so be sure to follow our blog for more useful info!

At iRonin, we understand the importance of avoiding sunk costs when it comes to technical debt. That's why we encourage you to talk with the right team of experts who can help you navigate this complex problem.

Our team has the necessary expertise to handle your case and guide you through the process of tackling technical debt. By working with us, you can avoid the pitfalls of sunk costs and ensure that your investment in refactoring pays off in the long run.

So don't hesitate, reach out to us today to discuss your situation and learn how we can help.

Read Similar Articles