What we got here is… failure to communicate.

Cool Hand Luke

“What we got here is… failure to communicate.”- Cool Hand Luke

In a previous post, I described my basic process for creating customizations. For many programmers, writing code is much easier than communicating with users, so I’d like to expound upon that process.

Essentially, the problem is this. The user should have a good idea of what their problem is, but they often have no idea how to fix it. They don’t understand what is possible so they don’t really know what to ask you to do. On the other hand, you as the programmer obviously know what you can do, but you don’t do their job and you don’t really understand their problems. If you are not diligent, you can miss vital points in this process and you will waste time in the long run.

Yesterday, I attended a meeting with Made2Manage users and the management at my current employer over a relatively simple customization. They want to be able to track when certain events occur in the process of a specific type of order. As they explained their problem, my mind was racing ahead weighing my alternatives for solving it. I was so busy thinking of what could be done that I wasn’t really hearing what they wanted. While my mind was planning a set of tables with required fields in an external database and thinking about the .Net front end I would write, they became frustrated because they actually wanted something very simple. What they actually wanted was a FastForms customization to add an extra tab to a form and to tie those fields to the master table. In my mind, I was envisioning building Halo, and what they really wanted was Pong.

As I left the meeting, I realized that I had forgotten the first step in my process. Listen to the user and repeat what they say back to them in your own words to make sure you understand them. Never assume that you know what the user wants. Listening is not easy, it is a skill to be learned. An example, of this method of parroting can be found in the attached video which shows one of MAD Tv’s best skits.

An Excerpt

Candidate One: What people need to understand is that the rules we live by during peacetime no longer apply. America is at war.
Candidate Two: No. No. What folks have to comprehend is that the laws we abide by are no longer applicable. America is in a non-peacetime period.
Candidate One: No. No. The government must be allowed to bend the laws in order to protect it’s people.
Candidate Two: I disagree, the administration should be allowed to take liberties with the rules to defend it’s citizens.
Candidate One: You don’t know what you’re talking about.
Candidate Two: And you sir, are unaware of the words that are coming out of your mouth….

Yes, this video is a parody of political debates and double talk, but it illustrates the process of parroting very well.

After your user feels that they have thoroughly described their problem and you have confirmed that you understood them, you can begin to plan your customization. Assuming you have the skills, you should offer the user several customization options that will address their problems. Explains the pros and cons of each and let them choose (with management approval of course) which customization option to pursue. If they explain the problem and you tell them how you’re going to solve it, they will feel as if they have no input over the process and chances are greater that they will be disappointed with the final product.

In my opinion, the key to being a good programmer is not that you’re fluent in the myriad of programming languages available, but rather how fluently you communicate with your users.

Leave a Reply




You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>