Is this a parable about software development?
My wife and I spent all weekend redoing the landscaping on our front yard. We were just about done; the last step was to get some sprinklers going.
Bad news: the hose bib on the front of the house is dry.
Good news: there’s an obvious shutoff around the side of the house, and it’s off. Great, I turn it back on.
Bad news: water is now gushing out of a cut-off pipe in the corner of the shop.
Good news: Shark Bite exists. Trip #1 to a hardware store, for a Shark Bite cap.
Bad news: it’s not a copper pipe. It’s galvanized. About the only kind of pipe Shark Bite won’t fit is galvanized.
Good news: Harbor Freight exists. Trips #2 and #3 to hardware stores: to Harbor Freight for their cheap pipe thread cutter, and to Lowe’s for a galvanized pipe cap.
Bad news: the pipe is cut off far too low to the ground, and far too close to the wall. There’s not enough clearance to get the pipe thread cutter around the pipe.
Good news: no problem, the floor is concrete, and the wall is CMU. I can cut and chisel out enough clearance for the pipe threader, and then patch everything up with concrete once I’m done. Trip #4 to a hardware store, to buy a cold chisel and a diamond disk for my angle grinder. An hour or two of HULK SMASH and I’ve got clearance for the pipe threader.
Bad news: even with enough clearance for the pipe threader, because of how short the pipe is it won’t fully thread. I can get a few threads cut, and the cap will just about start, but it won’t engage enough to hold pressure.
[… furious internet searching for alternate approaches …]
Someone On The Internet™ suggests that a compression coupling will work. I’m skeptical, but out of ideas. Nobody local carries them, so I order one from Amazon and wait.
Good news: it works! I install the compression fitting on the pipe stub, and on the other side, a pipe nipple (trip #5 to the hardware store) and cap completes the job. I turn the water back on, and it holds pressure - no leaks.
Bad news: water to the front hose bib is still off.
Good news: I do what I should have done days ago and go into the crawlspace under the house to trace the water lines. I’m able to quickly locate the actual shutoff valve for the front hose bib. It’s obvious where it is. Why didn’t I do this first?
Bad news: I finally learn why the water is off: the shutoff valve leaks.
Final good news: fixing it required just a few inches of packing rope (hardware store trip #6) and 15 minutes of work.
Let’s do the numbers:
- Total elapsed time from “time to water the lawn” to finally fixing the hose bib: 5 days
- Total time spent fixing the root cause: 15 minutes
- Number of trips to hardware stores: 6 (plus one order from Amazon)
- Total cost of tools and supplies: ~$100
- Total cost of supplies relevant to the root cause: $3.68
Using this project as a metaphor for software development is left as an exercise for the reader.