Men and women. Cats and dogs. Buyers and sellers. These three pairs have (at least) one thing in common: They don’t always speak the same language.
Of particular interest here is the third pair: buyer and seller, and specifically, client and web developer. When they don’t understand each other, the results are unmet expectations, bad Yelp ratings, and unpaid invoices.
Why Web Projects Fail
What causes web development projects to go awry? It’s not always the client’s fault, and it’s not always the developer’s. Often, it’s a combination of both. A full catalog of possible causes would fill up this web server and several others besides, but here are some common complaints:
- Unrealistic expectations: This applies to both sides. Clients have unrealistic expectations about what is feasible. Developers have unrealistic expectations about the client’s budget.
- Vague, incomplete, or nonexistent requirements: Developers often complain that their clients don’t really know what they want. The actual problem is probably closer to: The clients know what they want, but they lack the technical expertise to articulate it clearly to the developer. And the developer typically lacks the expertise in the client’s business goals to ask the right questions.
- Scope creep: This isn’t a guy in a dirty trench coat peeking in people’s windows with binoculars. It’s where the client asks for additional work beyond the original scope of the project (without additional cost, of course). Often it’s because the original scope was poorly defined to begin with.
There’s no “couples therapy” for developers and clients (unless you count arbitration or the courts), so they have to work it out for themselves. So what are some ways to prevent web development projects from derailing? Two things:
Identify Assumptions And Communicate Clearly
If clients and developers can keep these two things in mind in all their dealings with each other, things will go much more smoothly. The details:
- Ask lots of questions. The conversation should be more than just, “What do you want it to look like?”, and “When do you want it?” The developer should try to understand the client’s business model and what they want to achieve with the website in terms of business goals, exposure, conversions, and return on investment. The client should try to understand the process of web development, from identifying the requirements through coding, testing, and deployment. If there are gaps in understanding on either side, be patient with each other and work it through. Don’t leave anything to assumptions.
- Be realistic. Clients need to have a solid idea of the budget for this project. Developers need to clearly indicate what can be accomplished within that budget. Then you have a basis for negotiation: What are the key elements versus “nice to haves?” What can be deferred to a Phase 2? Once you’ve worked this out, you have the scope of the project, and both parties need to understand and agree that going beyond this scope will add both time and cost to the project.
- Work together from start to finish. Clients should budget time to meet with the developer on a regular basis, if only to get a status update to make sure the project is still on track. Developers should take advantage of prototyping tools to show the client what the finished product will look like before investing a lot of coding time. These tactics enable both parties to make sure that they are understood. And the client should be involved with final testing to make sure all of the in-scope goals have been met.
As you can see, successful web development projects are collaborations between the client and the developer (and, often, a graphic designer). When all the cats and dogs are speaking the same language, the outcomes are much more satisfactory for everyone.