There are times that a programmer needs to interact with the client requesting for his service. Through that, the programmer receives first-hand information and may have a chance to ask directly the things that are a little unclear.
But is it really that helpful?
The Way I ThinkUsually, the moment you offer the programmer a problem that you want to solve, he already visualizes and formulates a basic algorithm in mind on how he might attack it.
He then confirms his algorithm and the way he understands to the client to make sure that they are on the same page of the project course.
But the question is -- Is it really better to have that kind of direct contact between the programmer and client? Would it really help to hear all the information directly from them?
The Good Side of Direct ContactAs stated above, having a direct communication to a client means you get a chance to hear their ideas directly from them. With that, you can ask things that might be unclear for you before or even during the developing stage.
With the lesser people in between, the lesser the chance of misunderstanding, the more faster the development could be.
The Stupid.. Err.. Bad SideThough having the good side, one thing I hate about being on the direct talk to a client is how sometimes their non-technical knowledge affects you.
Admit it or not, most of them are non-technical and see your works on the user's point of view. Most of the time, they'll ask or request things thinking that it looks easier and explaining it clearly confuses them. Some clients actually starts to react anxiously when you explain it.
I often encounter clients who think that their additional requests are as easy as adding a simple button or link where in fact it is something that can mainly affect the whole system and algorithmic flow.
Adding such requests is not an issue but explaining that these additional are technically out of the original plan and may require more time and resources on their part (um.. additional fee) is what they don't understand -- and that's why I hate it.
What Could be Wrong with This?Having direct conversation with clients can make or break the whole project. Talking to the clients may help you on building the system faster with their preferred flow but having their rants directly thrown at you is something that stresses me out.
I believe that stress is a part of every code a programmer creates but having additional from hearing the users' rants is something that causes more pressure and so may affect how a code is being created. I know it is not a good quality of a good programmer but come one stress is still stress!
I honestly hate being on the end where I need to talk with the users. For me, I'll ask them in case I have a question, let it stop there.
Their requirements needs to be written and finalize first on their end before I talk to them. Let their personal rants be kept unless it has something to do with me or the program that I created. I hate questions that doesn't concern me nor the code.
What could be your position here? Do you like working directly or have someone like a Project Manager do the job for you?