The Riders Who Insist on Declaring the Dead Horse Alive: How Cost is Used to Justify Keeping the Horse Alive

by Nuno Cruz

4 min read

The Riders Who Insist on Declaring the Dead Horse Alive: How Cost is Used to Justify Keeping the Horse Alive

In the world of business and software development, there are always those who insist on keeping things going, even when it's clear the system or approach has run its course. These "riders" refuse to admit that the horse is dead and instead choose to keep it alive through a series of small tweaks and band-aid solutions. Often, their justification comes from the sunk cost fallacy, which leads them to believe that the time, money, and resources already invested in the system should be enough reason to continue pushing forward, even when it's no longer viable.

The Sunk Cost Fallacy: A Trap of the Past

The sunk cost fallacy occurs when individuals or organizations continue investing in a project or solution, not because it’s the right path, but because they feel they’ve already invested too much to give up now. This mindset is dangerous, as it often leads to decisions based on past investments rather than future potential. In the case of a failing system, the sunk cost fallacy makes it difficult to accept the reality that the system is no longer capable of meeting the needs of the business.

Instead of acknowledging the need for change and moving toward a better solution, decision-makers choose to apply short-term fixes. These "small tweaks" may provide temporary relief, but they never solve the underlying problem. This behavior might involve patching bugs, adding more resources to keep the system running, or attempting to add new features to a fundamentally flawed architecture. However, none of these efforts address the root issue: the system has reached its limits, and continuing to pour time and money into it will only delay the inevitable.

The Rider’s Belief: "We’ve Invested Too Much to Stop Now"

For many of these riders, the thought of walking away from the existing system feels like admitting defeat. They hold tightly to the belief that because the company has already invested heavily in the system—whether it’s money, time, or effort—the business must continue to support it, regardless of the cost. This thinking keeps the focus on past investments, rather than on what the organization truly needs to succeed in the future.

The reality is that sticking to a failing system only increases costs in the long run, whether through lost productivity, maintenance overhead, or the opportunity cost of missing out on new, more efficient solutions. Instead of doubling down on an outdated approach, businesses should focus on aligning their resources with future goals.

Small Tweaks Aren’t the Solution

Riders who refuse to admit the horse is dead might believe that just one more tweak will make the system work. They might implement a minor update here or a small fix there, thinking that with a little more effort, the system will start working as intended. But this approach is a classic case of trying to make the old horse go a little further, when in reality, no amount of tweaking will bring a dead horse back to life.

These temporary fixes can sometimes provide short-term benefits, but they are just band-aids on a much bigger problem. The underlying issues—poor architecture, inefficient design, and outdated technology—remain. What happens is a slow accumulation of technical debt, which only makes the system harder to maintain and scale over time. Eventually, the cost of maintaining the old system will far outweigh the cost of building something new, more sustainable, and future-proof.

The Trap of Stagnation

The problem with continually tweaking a broken system is that it breeds stagnation. It’s easy to fall into the trap of believing that if we just fix this one last issue, we can keep going. However, by clinging to the old ways, the company becomes less adaptable, slower to innovate, and more resistant to necessary change. The business starts to lose its competitive edge, and what was once a minor issue snowballs into a major roadblock.

Meanwhile, competitors who are willing to invest in new technologies, better systems, and scalable solutions move forward, gaining an edge in the marketplace. The more time a company spends trying to fix a dead horse, the more opportunities they miss to create something that could truly move the business forward.

The Hidden Cost of Maintenance: Ignoring the Long-Term Impact

One common argument from those trying to keep the dead horse alive is that the cost of transitioning to a new system is too high. This is often used as a reason to justify continuing with the outdated architecture. However, the cost of maintaining a broken system with bad architecture is rarely factored in the same way.

While the upfront cost of replacing the dead horse might seem high, it pales in comparison to the long-term costs of maintaining a flawed system. These include the mounting cost of bug fixes, increased maintenance overhead, lower developer productivity, longer time to market, and the potential loss of business opportunities due to the inefficiencies of the old system. The cost of "sticking with what we know" often becomes far greater than the cost of investing in a new, scalable solution that will serve the business better in the long run.

Breaking Free from the Sunk Cost Fallacy

The first step in breaking free from the sunk cost fallacy is recognizing when it’s time to let go. Acknowledge that past investments are gone, and that the future depends on making the right decision now, not on clinging to what’s already been spent. Once the dead horse is recognized for what it is, the company can begin to look forward and invest in solutions that align with current and future needs.

It’s important to note that letting go doesn’t mean all past investments are wasted. Often, lessons learned from the old system can inform better choices in the future. The key is to focus on the long-term benefits of adopting a more sustainable and scalable solution, rather than trying to salvage something that’s already past its prime.

The takeaway: Small tweaks might keep the horse moving for a little while longer, but only by accepting the reality of the dead horse can you begin to invest in a solution that will carry your business forward.

Continue reading →

The "Dead Horse" Analogy: Why Bad Architecture Can Kill Your Business

by Nuno Cruz

3 min read

The Dead Horse Theory is a metaphor often used to describe situations where people continue investing effort into something that has already failed. Strategically, when an approach, system, or architecture is no longer viable, the best course of action is to abandon it and move forward with a better solution. However, many organizations struggle to recognize this and instead engage in counterproductive strategies that only prolong the inevitable failure.

  • Letting These Riders Lead the Project – Some team members, whether due to attachment, stubbornness, or fear of change, refuse to acknowledge the architecture’s flaws. When they are put in charge of the project, they double down on keeping the broken system alive instead of exploring real solutions. This can slow down innovation, discourage necessary changes, and create a culture of resistance that drags the whole company down.

  • Buying a Stronger Whip – Companies throw more developers, consultants, or overtime into a system that is fundamentally broken, hoping brute force will make it work.

  • Saying, ‘This is How We’ve Always Ridden Horses’ – Sticking to legacy systems simply because they have been around for a long time, ignoring better alternatives.

  • Forming a Committee to Study the Horse – Endless meetings, discussions, and reports on why the architecture is failing, but no real action is taken.

  • Comparing to Other Dead Horses – Justifying the bad architecture by saying, “Well, our competitors also have technical debt,” instead of making meaningful improvements.

  • Upgrading to a More Expensive Dead Horse – Investing in new technology but keeping the same flawed architectural principles, leading to the same problems in a different form.

  • Declaring the Dead Horse ‘Alive’ – Using marketing spin to convince stakeholders that the system is fine, while internally, the tech team is struggling to keep it running.

A major issue is that decision makers often lack the vision to recognize the dead horse for what it is. Instead of accepting reality, they remain overly optimistic, believing that with just a little more effort, investment, or reorganization, the system can be revived. This misplaced confidence leads to never-ending attempts to “resurrect” an architecture that has already reached its limits. They become trapped in the sunk cost fallacy, where they refuse to abandon the failing system simply because so much has already been invested in it. Unfortunately, this short-sighted optimism keeps the company stuck in a cycle of inefficiency, wasting resources that could have been used to build something new and sustainable.

Meanwhile, the developers and engineers on the ground—the ones who actually have to build and maintain the system—see the dead horse for what it is. They are the ones constantly fighting the system’s limitations, dealing with endless bugs, slow development cycles, and the frustration of maintaining a crumbling foundation. While they struggle under the weight of this architectural debt, decision makers continue insisting that the horse is just ‘a little sick’ and can still be pushed forward. This disconnect between leadership and the technical team creates resentment, high turnover, and ultimately, a product that suffers from inefficiency and poor quality.

The Real Consequence

A bad architecture, like a dead horse, won't take you anywhere. No matter how much effort you put into it, your system will remain slow, fragile, expensive to maintain, and difficult to scale. Eventually, customers leave, new development grinds to a halt, and your business collapses under its own technical debt.

The only real solution? Get off the dead horse. Reevaluate your architecture, embrace modern scalable designs, and invest in a system that can actually carry your business forward.

Continue reading →

Technical Debt vs. Technical Neglect: Know the Difference

by Nuno Cruz

2 min read

Not all technical debt is bad. In fact, smart teams use it strategically to balance speed and quality. But when it turns into technical neglect, it silently destroys products and teams. 🚨

✅ Smart Decision: Controlled Technical Debt

This is a conscious, well-informed trade-off—delaying technical improvements for valid reasons. 🟢 When It Makes Sense:

  • ✔ The system works well enough for now, and restructuring isn’t urgent.
  • ✔ There’s a clear plan to address the debt in a future release.
  • ✔ The current version is being used to test product-market fit before scaling.
  • ✔ The team understands the trade-offs and documents the decision. 💬 Example: "Our database queries aren't fully optimized, but the current load is manageable. We’ll improve it in the next release once we confirm feature adoption."
    ⚡ Outcome: Short-term agility is maintained, and the system stays manageable.

❌ Bad Decision: Technical Neglect

This is reckless accumulation of tech debt due to lack of knowledge, poor discipline, or a refusal to invest in quality. 🔴 When It Happens:

  • ❌ Developers don’t know or care about best practices.
  • ❌ The team never refactors because "it works, don’t touch it."
  • ❌ Business decisions ignore long-term consequences.
  • ❌ There’s no monitoring or planning for technical improvements. 💬 Example: "We didn’t optimize the database queries because the load was low at first, but over time, the poor structure became the foundation of all system problems. Now it’s slow, fragile, and nearly impossible to scale."
    ⚡ Outcome: The system becomes unstable, slow, and hard to maintain as the technical debt grows, and future improvements become more difficult and costly.

⚖️ 𝗧𝗵𝗲 𝗞𝗲𝘆 𝗗𝗶𝗳𝗳𝗲𝗿𝗲𝗻𝗰𝗲: 𝗔𝘄𝗮𝗿𝗲𝗻𝗲𝘀𝘀 & 𝗣𝗹𝗮𝗻𝗻𝗶𝗻𝗴

-🔹 Decision Process → Strategic delay is an informed and planned choice, while technical neglect is unintentional and careless. -🔹 Risk Management → Smart teams document and track their debt, while neglectful teams ignore it until it explodes. -🔹 Future Plan → Controlled debt comes with a clear plan for resolution, while neglect piles up indefinitely. -🔹 Impact on Developers → Strategic debt is manageable, but neglect leads to frustration and burnout. -🔹 Impact on Business → Well-managed debt helps meet deadlines, but neglect leads to system failures and costly rewrites.

🚀 𝗙𝗶𝗻𝗮𝗹 𝗧𝗵𝗼𝘂𝗴𝗵𝘁: "𝗗𝗲𝗯𝘁 𝗶𝘀 𝗙𝗶𝗻𝗲, 𝗡𝗲𝗴𝗹𝗲𝗰𝘁 𝗶𝘀 𝗡𝗼𝘁"

Technical Debt is a tool. If you delay improvements strategically, it’s smart. If you ignore problems out of ignorance, it’s dangerous. 💬 How does your team manage technical debt? Do you document it or just hope for the best? Let’s discuss! ⬇️🔥

Continue reading →


More posts can be found in the archive.