Fabian Holzer

On the risks of quick fixes

Every software system has its issues. Usually, at any point in time, there are many ideas for new features, enhancements, as well as fixes waiting to be implemented. A lot of them are indeed solvable with a few lines. But many of those small tasks are wasted work because they work around a problem, which could and actually should be solved by a slightly larger change, that requires some - but not very much - more effort.

If the order of development is optimizing for throughput, the so-called quick wins and quick fixes will be prioritized and the effect results in a well-known problem in scheduling algorithms: starvation.

Resource starvation is a problem encountered in concurrent computing where a process is perpetually denied necessary resources to process its work.

In this case, the process is the task in the backlog, which would be the fundamental solution to the problem, and the resource is the allocation of time to work on that task.

Steve McConnell formulated yet another risk of those quick wins and fixes in his "Software Project Survival Guide" (p. 127):

The problem with quick and dirty, as some people have said, is that dirty remains long after quick has been forgotten.