A sunk cost is any cost that's already been invested and can't be retrieved.
The sunk cost fallacy is the bias to stick with a plan because of how much has already been invested in it. In software engineering, we spend time, money and effort working on things, and may fail to recognize this situation.
When making a decision, we should only consider the cost and benefits moving forward. The sunk cost fallacy may lead us to make a poor decision because it can make us believe that if we only reap enough rewards by continuing, we'll at some point justify the cost spent so far.
Here are some examples that you might find in software development.
- Running tests that never find issues. Once you have tests you think you might as well run them, even if it takes time to build them and run them, often when they simply never find anything because the code they test is no longe undergoing any changes.
- Completing a project that shows signs will not deliver value, mostly because of the momentum in the project, often after you've received some signal that it won't be used as much or as effectively as you originally thought when deciding to fund it.
- Using an in-house library or tool rather than a public one, even if the public one is better documented and supported, simply because you've already spent the time to build your own.
- Adhering to some particular interface rather than chasing down and updating all uses when they could be improved, simply because it's a hassle and you have all that other code already written.
Happy decision-making!
Tags:
coding
Home