A few weeks ago I spent 3 days at a customer site getting to “know” them. It was a positive experience, so I thought it might be a good idea to go through what I was trying to accomplish, and what you should prepare for when you go on site.
First and foremost you need to be prepared to be interviewed. Not the type of interviews where they ask you 20 questions out of the back of a Java book, or ask you about specific relational database concepts. No instead they will ask you about every idea they have, every problem encountered with your software, and they will listen and watch and learn about you. This to me is an enjoyable experience because I have a secret. I know more about the subject at hand than they do. I also know that saying almost anything in response to a question makes you seem intelligent.
What you say.. saying anything makes you sound like you are intelligent? It is widely known in most business development studies that frequent talkers are perceived as more intelligent and competent. I don’t mean by this, that you should talk over everyone, or talk down to people when you can, what I mean is that if you have an answer for everything.. even if that answer is, “I will get back to you,” you appear to the client as a very intelligent person. One word of warning.. if you use the phrase “I will get back to you,” write this down and make sure you follow up!
But you’re not the only person who is being interviewed. You also must interview the client. Ask them questions about their architecture. Ask them, though be careful not to sound condescending, why they made certain choices. Listen to their responses and get a feel for what they know, and how they talk. Yes, the words clients use to describe things are important. You must when speaking about a certain subject use their words in your dialog so that they have a better understanding of your ideas. For instance, while working in my last position, the company I worked for went through 2 different acquisitions, over a period of 2 years. Even after we changed our name from a small company to a large multinational corporation, people still referred to our software with the original company’s name. So to be clear in what I was talking about, I did as well. Also get a feel for the political landscape; by understanding such things as who can get what done, who do you contact when you need something from the client, who owns the project, which factors are working against you, and which factors are working in your favor.
During the lunch breaks this client asked me to go to lunch with them. Never ever turn this opportunity down, no matter how much work you have to do. This is a good opportunity for you to talk about other things not related to the given project. Open up and let them get to know you. If they ask what your philosophy is on running projects or implementing software tell them. If they want to know what life is like back at the ranch, let them know. This builds trust with your customers and they will find themselves relying on you more because of this.
Always be prepared to demo something. Even if it’s a few lines of code that say hello world in the corner of your app… customers like to see stuff. It helps convey your ideas, and get the customer on board with what you feel is the direction they should go in. Also along this idea, your friend is the white board. This is a requirement for any meeting I attend. I sit near them, and often look to them as an aid in explaining my ideas. Conveying your ideas on a white board is the most important UML skill you can have.
After establishing trust, respect, and a clear vision of what you’re about, the client will often ask you which direction they should go in. Whatever you do, and this is probably the most important thing I can tell you, do not back away from this question. I often use this as a recap. I try to lay out exactly what I heard from them as best I can. I make sure I look at each person in the room while explaining what concepts, ideas, and issues I heard and saw while meeting with them. I try to reiterate the actual phrases that people used, and associate names with those phrases. Once I have laid out my summary, and no one has any lingering questions, I then detail my direction for the project.
I like to make decisions.. some consultants/architects/project managers that I have worked with in the past were really good at dodging the bullet. This isn’t how I work. Personally I believe that the trust, respect and reliance, you have spent days gaining with the customer, gives you a power to push the project in the correct direction. If you are sure enough about your abilities, and you have enough experience; you should feel confident enough at this point to layout the next steps that the project team members should do.
