The old saying goes “give a man a fish and he eats for a day. Teach a man to fish , and he eats for a lifetime.” Or something like that…
Sometimes, it’s not quite so in software. The idea of making someone self sufficient can create more problems than it solves sometimes. If someone comes asking you for data, it seems like it would be easier to teach them how to write and run a SQL query, right? I mean, after all, if they can fish they can learn how to extract new data elements, do interesting joins, and perhaps even discover something you didn’t think of.
But what happens when the lake dries up… Er, I mean, what happens when someone moves the data? Now, instead of having to just repoint an ODBC connection or two, you get emails from dozens of unhappy people who want to know where all the fish have gone. And they don’t just want you to send them data, they now have dozens or hundreds of their own poorly written queries (because they’re amateur coders) built on the way the data used to be.
The problem with teaching someone to fish is, you really can’t just teach him to fish. You have to teach him how to repair his fishing pole when it breaks, how to find bait, how to scout fishing locations… Things that are related to, but not exactly fishing, if you want a truly self sufficient person. Otherwise, what you have is a problem waiting to happen, one which may be more dire. Certainly one that’s more annoying to fix.
So, when someone asks for data, you should at least ponder for a minute if they’re really equipped to be a fisherman or if you should just hand over the fish.