Last week I left my post at Integrum in favor of solely focusing on my own business, Sumo Creations. I've been running Sumo outside of school and fulltime work for the past three years and this is a very exciting time for me. Since starting my company, I've learned a lot of lessons on working productively for my clients and consistently developing positive relationships with them. Here are some of the lessons I learned.
Don't Fire Clients Because They Don't Get It
People in this business love to say "these guys don't get it." What exactly is it they don't get? The problem is we don't get it. Our job is to educate and advise our clients on what we do and what needs to be done. Accusing the client of "not getting it" is a cop out for not doing our job.
If you ever find your self murmuring that line be sure to get off your high horse and come down to earth. As consultants our job is not to render a particular service. Our job is to achieve the goals of our client through our expertise. The services we render to do it are just a means to an end. Always focus on your client's goal and work with them never against them.
Don't Be a Servant
You always know you're in a backwards position as a consultant when the client is telling you how to do your job. If this happens it's because you let it happen. Not everyone really likes taking control of something. We become knowledge experts and then just want to perform. That will work if you want to be a worker bee but not as a consultant. If you want to be an order-taker go corporate and specialize; consulting is probably not for you. If you plan on working as a consultant take your client's goal and own it. Our job is to make things happen not to be micromanaged and react to client directions. Listen to your client's needs, understand their objectives, develop a plan, advise them consistently, and most importantly take control of the situation. Think of your role as a translator, converting client needs to action items.
Deliver Solid Gold
If you remember one lesson remember this one. In software they have a term called 'gold-plating' and it means your putting to much effort into something frivolous. It goes like this: "client doesn't care if the module is perfect they just want the module." That may be so and it's better to have that mind set then to deliver nothing. But that is not what this point is about. We are only as good as the standards we hold ourselves up to and if you want to be successful your goal is to be the best. If you don't mind working harder than the other guy you can go far as a web consultant. Here's a recipe for making gold:
- Identify two or three of the most critical parts of your project
- Dedicate additional time here - don't rush to get it done focus on getting it right.
- Test it. Test it with actual users. This doesn't have to be formal but do get feedback.
- Think critically and revise.
Normally when I say critical points I mean the core functionality of the application you are building. It's easy to say we don't have time or can't do it. Saying no is easy. But if you're going to focus on quality go the extra mile where it counts. We can say no to making the entire project perfect but it's important that we get a few things right.
In the development world we're rewarded for results and unfortunately the metric we tend to use is functionality/time. But it's really the quality of the functionality that we need to look at. A product with three well thought out features is more effective than a mash-up of a hundred half baked ideas. Get real, focus on what matters, and most importantly don't cut corners. Be sure the client is on board - if they aren't don't fire them, educate them.
The most important thing you can do for your clients is keep them in the loop. If you have a knack for falling off the face of the Earth you probably shouldn't work as an independent consultant. Whether you are meeting your deadlines or not, always communicate in between them. Why is it so important? As a freelance consultant keeping your work progress transparent is your primary form of customer service.
If you aren't communicating with your client on a regular basis chances are you might be making a lot of assumptions about the work you're performing. This can manifest itself as a big death spiral for a freelance consultant. If the client doesn't see what you're working on until the point of delivery chances are there will be a lot of communication breakdown. More importantly, a lot of conflicts with payment / revisions and other hassles that you really don't want to get into. Always post updates to your clients even if minor so the client can see progress. Communication breakdown, not time, is your number one enemy.
Treat Every Client Individually
Despite what you might see on agency websites. There is no golden bullet for a fixed process to follow for every client and project. Every project will be unique and you need to adapt to the context of the situation. If a client is not respondent via phone switch to email or vice versa. If a client can't make an in person meeting resort to a conference call. Be flexible with your time and required medium.
I'll give you an example, one of my clients does not appreciate basecamp. I use basecamp to manage all of my projects. So when a client communicates with me outside of basecamp I'll simply post the transcripts and files from our outside conversation to basecamp for my own reference. I'm not going to try to make them use basecamp by enforcing artificial requirements for the basis of our communication. It's my job to make this work and adjust to their communication style.
Whatever comes at you - make things work with what you have. Hours spent on trying to educate and conform your client around your process is time wasted. We're hired to work on our projects not our processes.