Client development – think partners, not employers

Saying there is a lot of variation in the field of web development would be a huge understatement. You have everything from anonymous freelancers to large known firms, several hundred dollar budgets to several hundred thousand dollar budgets (and more).

How much does it cost to build a website? what does building a website entails? there are no universal answers to those questions.

Client: "Enough talking, let's get down to business. What will 50$ get me?"
Brad: * looks at wrist watch *
Brad: "About 5 more minutes of my time."
Brad Colbow on Time

In fact, there is so much variation, that a recent client told us post-project completion that when he was shopping around for offers from various firms, he got offers between 2000$ and 60,000$. That's a factor of 30 between offers!

He picked us since we conveyed the best value (quality / price) of all offers, even though he had much cheaper offers (we were about midway in the range). All things being equal, all he had was his gut-feeling and our resume to guide him. That is, if we didn't engage in client development.

The client-provider relationship in web development is complicated. Most would-be clients are lay-man, possessing no insight on what goes into every feature and pixel you see on a website. They are also, most likely, unfamiliar with their prospective provider and how to evaluate him - is he a hack? what are the qualities that he brings to table? how can I quantify the value he gives me?

That's where the process we term "Client development" comes in. It involves several activities, most of which are not directly related to web development:

Matching expectations

This is a basic rule of engagement in most business operations, and web-development is not excluded - especially since it is such a misunderstood and technical field.

A lot of clients look at website features and think "that's easy! you just put the thing there and do that...". Well, in the real world things are usually more complicated. What might look simple on the surface could involve a lot of back-end work and a lot of custom integration with various services... and the user interface itself is probably more work than you'd think.

The first thing we try to do is lower expectations to some degree. Our stance is that if it takes any amount of time to design / develop / test, then it will be priced in the proposal. That might sound harsh - but it's the only way to properly evaluate and convey the value of the project.

As I've written in conveying value to clients, creating a transparent and fair price proposal can go a long way to matching up the client's expectations with yours. It should be accompanied by a well written specification document, composed interactively with the client and which is completely understood by him (or her).

Educating clients

To help clients really get a sense of what they are getting in return for their money, it's important to explain some basic terminology and elaborate on the process of web development.

Explaining terms such as usability, user experience, mockups, layouts, client-side / server-side, testing, maintainability, standards and the interactions between them can really shed light on the considerations and work involved in building a website.

This in turn allows clients to better understand the price-stamp put on features, and feel more secure overall in decisions they make since they better understand what is involved.

Knowing when to say "No"

In some cases, clients get over involved in day-to-day decisions, especially in something as tangible as design. The design of a website is very visible which makes it very susceptible to micro-management and over-feedback from clients as they watch it evolve into a finished product. Convincing clients to trust our experience and expertise is imperative.

Another aspect that is constantly under-pressure is scope. Scope-creep is a common yet undesirable side-effect of perfectionism inherent in most of us (including clients). This tendency to think how things could be improved beyond what was originally specified is something that needs to be properly monitored.

This often means just saying a strict "No" to client suggestions and ideas when it's appropriate to do so. If features and requirements change (and they will), they have to come at the expense of some other features deemed less important. The project scope must be maintained.

Selecting clients

Client development is a two way street. Consider for example the following project outline:

US Company looking to develop financial website

Requirements:
Budget 10,000$-25,000$
Maximum Billrate per Man Hour: $6/hour
Minimum Number of Men assigned to Project: 30

We require a well established firm that meets these basic requirements in addition to being able to delivery quality and accuracy in its work.

(This is an actual posting on Elance, in case you were wondering)

In short, this person wants a financial website, but gives no project requirements / specifications or feature list of any kind. Instead, the requirements are that the provider:
A) Has a minimum of 30 men (why gender biased?) assigned to the project, and
B) No one should be paid more than 6$ an hour (which is less than what a register clerk at McDonalds makes)

For this he wants quality and accuracy. Is his expectations unreasonable? might be (I'm voting no).

Even more common is the "work for minor shares" offer in what is probably "the next big thing". Somehow people believe that having an idea by itself is sufficient leverage, and should prompt serious firms into developing their products.

The fact that there's no market for startup ideas suggests there's no demand.
Which means, in the narrow sense of the word, that startup ideas are worthless.
Paul Graham on Ideas for startups

People in the industry seem to agree that execution is the main key for the success of a startup. We do execution (and also concept development, but that's for another article).

The point I'm making is that a good relationship with a client can only be achieved when both sides understand and respect each other. This is not just about money, it's about the value generated by both sides.

What does this mean? it means that in order to get the right clients, we need to be selective ourselves. Clients not only choose us, but we get to choose them as well. For this reason, we should never undercut our price-proposals. We need to believe they represent not only fair, but great value.

It's the client's privilege to agree or disagree, but we want to work with people who understand the value we represent. If they want to pay less, they need to drop features. It's give-and-take and there are no freebies - this is a business after all. Nobody gets rich from web development, the least they could do is get paid on par with the value they represent.

This feeling out process usually happens during the expectation matching phase. If both sides can not bring their expectations to the same level, it's best to part ways and wish each other the best than trying to hammer in a shaky relationship.

It's up to you

Client development is a process that a lot of small businesses and freelancers skip (and sometimes larger firms as well). Whether you put the time and effort to make prospective clients your partners instead of your employers is up to you.

To know when the next article is published, please subscribe to new articles using your Email below or follow me on Twitter.

Subscribe to Blog via Email

Enter your email address to receive notification about new posts.

  • http:/giorgiosironi.blogspot.com Giorgio Sironi

    You’re right, these figures make me laugh. How can anyone think a web developer could be payed 6$/hour? That’s under the minimum wage in many states of US.

  • Matthijs

    Excellent article. Agree on all points you bring up. When you work in the web industry for a while, you’ll learn these things. Sometimes the hard way ;)
    But it isn’t always easy. Take for example the client education bit. Some people/clients really appreciate it when you take the time to explain things, ask questions, etc. But other people just want you to do the job, send a bill and be done with it. I think the coding bit is the easiest part of the job. Dealing with a wide variety of people, getting a sense for who they are, what they want, etc is the hard bit (makes the job much more interesting though)

  • http://www.techfounder.net Eran Galperin

    Hey Matthijs, nice to see you here :)

    I am talking more about communications with prospective clients for major projects. Above certain budgets, people really need to have a certain feeling of comfort in order to come to terms.
    Also, for ongoing projects, we find it very useful to have the client understand more in order to reduce the load on us translating his requests in actual requirements.

    I agree that development is more familiar territory, and dealing with people is more unpredictable – which what makes it sometimes more exciting and interesting.

  • Matthijs

    Yes, passing by now and then ;)

    You’re right, it depends on the kind and size of the project what and how much needs to be communicated, how much client education is needed, etc. For smaller projects, a few phone calls or a single meeting might suffice.

    I mentioned that not all (potential) clients appreciate it when you want to take the time to ask many questions and discuss issues. However, that might be a sign that you might not even want to work with that potential client. You know the cases when people think they can just pay you a certain amount (usually way too low) and have a working website/app next month. But I guess you also mention that in your article in some way