Earlier today I had some email exchanges with an employee at one of my clients who wanted some file made available to managers at the company. Normally I would have expected that she would either put the file out on a shared drive or just email it to the people who need to see it, so I was a little careful of how I answered, and asked a basic question: "What is the file and where is it now?"
The answer I got was a bit odd: "It's in 192.168.2.12/COMP, but we can't access that."
That left me shaking my head a little. If you can't access it, how would you know it's there? And if I assume that /COMP is a directory, what's the actual file that is needed? I decided it was time to involve her boss, so I sent off an email to him asking him to intercede, figure out what she really wanted, and let me know if I needed to do anything more.
He called soon after and explained what was really going on. Apparently the file (actually, files) is a transaction log generated by their accounting application. It ends up in /COMP under the app's main directory, and true enough, nobody has access to that directory and nobody SHOULD have access to it. If these particular files are to be made available in a share, they need to be moved somewhere else.
"But", he went on, "we don't even know if we want this data: we've never seen one yet, so we don't know if it has what we want or is in a format we can use. Can you print one for me?"
Well, of course. I picked out a reasonably sized example and sent it to a printer near his desk. He looked it over for a few minutes and seemed unsure of whether or not this really was useful. He then asked "Could this get put into a spreadsheet?"
Well, gosh, of course it can. But instead of just saying that, what I actually said went something like this:
"Yes, I can put that in a spreadsheet and put it in a share that is accessible by managers only. But really that's not what you should be asking me. What you really should be doing is stating your ideal scenario and then let me tell you how close I can come to meeting it."
"For example, let's say you wanted that log printed out on the laser printer, stuffed in an 8.5 x 11 envelope, and put on a boat to Australia. I can't help you with much beyond the automatic printing, but my point is that usually you don't know WHAT I can actually do for you, so you should ask for what you need rather than assuming a solution based on what you know about available technology. To be more realistic, it might be better to merge these files and collapse detail. It might be better to have them out in a web folder where you could drill down to detail. It might be best to send e-mail alerts when we see certain things in the logs.. only you know what your ideal handling would be. You need to tell me what you want."
"It might help to imagine that you have the ideal assistant who will watch these files as they are produced and then, following your instructions, do whatever you need done. That's really how you should think when it comes to computers: not 'Can it put it in a spreadsheet' (something that should almost always be easily done) but rather 'This is what I'd ideally like to see happen' ".
What I'm driving at is assuming the solution rather than stating the goal. "Can you take me on your bicycle to Boston?" is a far more limiting question than "Can you get me to Boston?". The first limits me in two ways: one, I need to be directly involved ("can you take me") and secondly I need to specifically use a bicycle. The second question leaves me free to provide other possible ways to get you to where you want to be.
This may seem like a small distinction, but it really isn't. If you just ask me to convert a file to a spreadsheet and publish it to a share, I may reasonably assume that you know what you want. If I know nothing about the file or what you are going to use it for, I'm certainly in no position to suggest that it might be useful to pre-process the data or put it in a database instead.. I'll probably just do what you asked and not question it at all. But if you tell me your ultimate goal ("Managers need to know if certain items are being ordered and .."), I might be able to give you something far more useful, and the difference might be something like riding to Boston on the fender of a bike versus traveling in a stretch limo.. it's worth phrasing your inquiry carefully, isn't it?
See Getting The Right Project Requirements also..
Got something to add? Send me email.
More Articles by Anthony Lawrence © 2012-08-04 Anthony Lawrence
Technology is both a tool for helping humans and for destroying them. This is the paradox of our times which we're compelled to face (Frank Herbert).