What is the Dead Horse Theory?
"When you discover that you are riding a dead horse, the best strategy is to dismount."
But it's hard to acknowledge the failure and face the problem head-on. It's much easier to:
- Buy a stronger whip - Try to force people to work harder.
- Change riders - Change the leadership but still stick with the failed approach.
- Declaring the horse is not really dead - Be in denial.
- Forming a committee to study the horse - Bureaucracy is rarely the answer.
- Comparing the dead horse to others that are worse - Rationalizing failure by talking about others who also have dead horses.
- Rebranding the horse - Make cosmetic changes without actual improvement.
- Hiring consultants to revive the horse - Outsource the problem to consultants, who can only prolong the conclusion that the horse is dead.
Dead Horse Theory in Software Projects
Author's thoughtful Portrait during explantation of dead horse project
Compared to traditional engineering, software engineering is a relatively young industry. Despite its youth, we have gone through multiple paradigm shifts, from structured programming to object-oriented to cloud and now AI-driven development. Our reliance on emerging technologies and generally flexible approaches makes us unique and especially prone to the dead horse theory.
For example, asking to add a new floor with the Olympic pool between the 9th and 10th floors of the existing residential building would be stupid and unthinkable in civil engineering. But we in software development are accustomed to similarly absurd requests. No wonder we continue to maintain legacy code that should be rewritten and stick to a failing architecture instead of refactoring.
Conclusions and Personal Dead Horses
I worked on several dead-horse projects. Horses' deaths were different, but the result was always the same. I should have pivoted much earlier and tried something different in my startups, but my stubbornness and pride did not let me see the painful truth. In a corporate environment, I also got stuck with some dead-horse projects. In these cases, developers were not the problem. Higher-ups did not believe the horse was dead. They still don't.
Mr. Anderson, the horse is dead. A complete rewrite is inevitable.