Thursday, July 22, 2010

Leaky Pipes

Today, I dealt with something I refer to as a "Leaky Pipe" problem. Discovering a Leaky Pipe is an annoyance. It can teach you a lot about the plumbing, though. I now feel like I understand this application's setup a bit better than I did when I started. Leaky Pipes can be a good learning opportunity when properly approached.

Imaging you have a pipe carrying water, running for ten yards or so. The intake is at one end, and the other end has a valve on it. The valve leaks, so you replace the valve. Once you do this, a pinhole leak shows up in the pipe, just a few feet away from the valve. The pinhole leak isn't new - it's always been there, but since the water pressure inside the pipe was being relieved by the leaky valve, the pinhole was never noticed.

So, you fix that. Except now there is another pinhole leak, a few more feet along the pipe. So you fix that, and another appears, a few more feet along the pipe. This process can be repeated, and often is, unless you decide to replace the entire pipe.

That's where I was today, with a certain web form, and a QA environment in need of an overhaul. First, it was that the data and schema were out of sync, so we refreshed the DB with a copy from production. Then permissions didn't line up with what the QA app was expecting. Then stored procedures were missing. Then the permissions didn't get set correctly. Then the linked servers were hard coded in the procs, so those needed fixed. Then the servers weren't set for RPC.... etc. You can see how that gets out of control.

The first time I discovered a leaky pipe, I was a total newb at plumbing. That weekend, I learned about different types of pipe, how to use a pipe cutter, how to clean, fit, and cement PVC properly, and what a Mansfield Sillcock is. I increased my knowledge of plumbing far beyond what it was before. (True, any increase over 'nothing' is massive...)

So the next time you discover a leaky pipe, take the opportunity, and run with it. I think you'll be rewarded with knowledge. That's worth it.

No comments: