How Toilet Paper Problems Affect Software Development

When you’re in the throes of an emergent situation in the bathroom and you reach over to the cabinet where you keep the toilet paper and find it empty, the maxim to never put off till tomorrow what you can do today makes complete, clear sense. Better to be a year early than a day late, right? Suddenly the wisdom is apparent in that, too.

Developer David Underwood calls this a “toilet paper problem.“ A toilet paper problem is one whose effort required to resolve is proportional to its current urgency. The more urgent the issue, the harder it is to resolve,” Underwood writes.

Underwood says that toilet paper problems appear in software development all the time. In testing, for example, toilet paper problems arise when applications grow beyond the point where they are manageable without tests that would have been easy to write before the software reached a critical complexity level. Toilet paper problems show up when the poorly planned software architecture can no longer sustain new development without grinding the pace to a near halt.

When you are not in the midst of a toilet paper problem, it can be hard to feel the urgency to do anything about potential problems. Logic is more useful than feelings here. One day you will run out of toilet paper. One day your application will be too big to hold in your head. One day you will need to test in this environment or that. One day a hardware failure will occur. “If” is not part of the question, but rather “when.” What will you do when your toilet paper problem happens?

Perhaps it seems like unjustified effort to carve time out of your day to prepare for something that you could, after all, always prepare for later. Think about it though. If you know a toilet paper event is coming eventually, what’s keeping it from coming sooner? Will you see it inching closer? What if the barriers holding it back go down faster than you anticipate? If you don’t feel like making the effort now, what are the chances you’ll feel like making the effort later? 

Underwood says, “Small issues that are easy to fix now have a habit of suddenly becoming huge problems.” The simplicity of the truth may make it easy to ignore, but since there are plenty of true unknowns that can cause stressful emergencies in software development, it makes sense to heed the wisdom.

Eliminate the toilet paper problems you can see now so you have more energy and resolve to deal with problems you never could have foreseen down the road.

Up Next

About the Author

TechWell Insights To Go

(* Required fields)

Get the latest stories delivered to your inbox every month.