Or: “How come you can’t just write some software to do this thingy that I want without always wanting to know why I want the thingy?”
Excellent question! I’m glad you asked.
Software can be very complex. And the process of designing and developing new software is also complex. Projects can be easily sidetracked. And I’ve got lots of experience at getting sidetracked! So much so that the Metrex team forbids me to develop software any more – aren’t they sweet? But how does that fit into the original question?
Let me give you a simple analogy. One day, your car stops dead in the middle of the road. You have it towed to a repair center and tell the mechanic “please put in a new engine”. The mechanic gives you a quote for the new engine and tells you to come back in a week to pickup the car. You come back a week later and the car’s ready to go. Just before you’re about to drive out, the mechanic tells you that the replacement went really smoothly but dang it if they didn’t get confused when they tried to start the car and it wouldn’t start because there was no gas in the tank! Well, you’re feeling a little sheepish now and perhaps a little embarrassed when you realize that the reason you asked the mechanic to replace the engine was because the car had run out of gas.
Does this seem a little contrived to you? Of course! No-one would go to a mechanic and ask to have the engine replaced just because they ran out of gas! Whoever heard of such a thing?! Unfortunately, in the technology industry, this happens all too often. As I said earlier, software can be very complex. Not only is the software itself complex but the human interactions that depend on software can be very complex. Any change made to a system of processes and interconnections invariably has unforseen effects. These unexpected changes can be good and bad. So when we ask “why”, we’re not just being obstinate. Understanding the business goals should be a primary goal of any technology project and if your technology provider isn’t asking you why, perhaps you should be asking them “why not?”