How we mess up website projects


This post was originally published by me on

I’ve built dozens and dozens of websites for small businesses over the past twelve years. I’ve seen a vast number of problems that can arise in the completion of those projects, and I have an idea why it’s so hard to get right. I know it’s not just me, because a lot of people come to me after someone else has “messed up their website”. We need to change a lot of things about the way we build websites. This post outlines the issues I’ve seen, and suggests a set of solutions.

If you build websites as a freelancer (or even as an agency), these issues should be relevant to you. If you’re a prospective website client, you had better know these issues exist, and are likely to shape your website project, if you are not aware of them. Because they happen more often than not.

First, let’s talk about the ways we get it wrong.

What can go wrong?

Let’s start out with a simple list of issues that can arise along the way to building a website. (Note: I’ll use the term “designer”, but you might use a different one.)

Time overrun

The project ends up taking way longer than anyone ever expected, and designer and/or client end up frustrated. Clients are often slow in getting content to designers. Designers are often bad at estimating schedules. In worst cases, the project breaks down, and the client leaves frustrated, having wasted her money, time, and motivation.

Cost overrun

The project ends up costing much more than anyone expected. (Or, the designer ends up eating the loss and working for next to nothing.) The client (or designer) ends up feeling sour about the whole process.

Communication breakdown

Communication breaks down between client and designer, as both sides’ expectations of what “done” means veer off from one another. The designer may feel the client is asking for “endless changes”; or the client may feel the designer is unresponsive or unwilling to do what is needed to build the website they thought they were going to get.

Hidden requirements

Element X, which neither really thought about before the project started (e.g., copywriting, photography, time for revisions), emerges as a requirement, and ends up taking a ton of extra time. Everyone feels bogged down in all this extra work. Clients wonder “why wasn’t I told about this?” Designers think, “we never discussed this!”

Feature creep

The client keeps asking for extra stuff that was never mentioned in the original proposal. “But that’s what I meant when I said I wanted a ‘great’ website”, they might say. Designer ends up having either to do “just one more little thing” over and over again for the original price, or feeling like a policeman for saying “no” all the time.

Full potential never realized

Very often, the worst issues may be ones neither party ever sees. For example: Neither designer nor client spends any time asking how the website will be used once it is launched—e.g., to get clients, make sales, or drive up membership. They end the project having built something that fits into no specific plan, and doesn’t do that much.

No maintenance plan

This is another thing that can go totally unnoticed by both parties. Perhaps nobody considers who will update the site once it’s launched, or the budget for renewing software licenses or updates is not considered. Three years later, when it gets hacked by offshore spammers, it becomes a nightmare for the client.

No posting strategy

Throughout the entire build of the site, nobody discusses how it will be used once it’s launched. Who will be writing the blog posts? Who will be doing the social media? Keeping the calendar fresh? Do those people have the capacity to do that? Do they want to?

No support strategy

What happens if something goes wrong that the client can’t handle on their own? Do they have a support agreement, or even someone to email? (Even basic WordPress sites should have some idea of this.) Do they know when to get free help from their web host or software vendor, and when they should reach out for paid help? Usually not.

Over-emphasis on website-as-beautiful-object

Seeing a website as a beautiful object that will make a client look good can, at times, seem like someone buying a fancy sports car to make themselves look good. This fixation can be propagated by designer and client alike, and contribute to a lack of focus on the important things.

Building the site according to the client’s tastes, not the business needs of their customers

Both client and designer can fall into the false assumption that the goal of the site is to make something that matches the client’s own preferences, and not consider how the target audience will respond to it. This highlights an important point: Unless it’s a vanity project, you’re not building it for the client, you’re building it for the client’s customers, to achieve some goal that the client wants also. Missing this is a key problem. Early on, there should be an inventory of key user scenarios (tasks the visitor wants to achieve, that align with the business goals) to drive site development.

The blind leading the blind

Often, the biggest problems I’ve seen have come up when I built exactly what the client said they wanted. In many cases, there were no complaints, and they may not even have known what was missing. The trouble was, without aligning the site with business goals and some semblance of a plan, nothing ever happened; it just sat there, not serving any particular goal.

Let me share a few personal experiences that illustrate this.

  • A terrific graphic designer enlists my help to build an e-commerce site, based on her lovely design, for an aspiring green entrepreneur. We work hard to build something beautiful, and I’m proud of the work. But unfortunately, that site is long gone now. I don’t believe she ever had a marketing strategy, so all the great design, not aligned with a business or marketing strategy, went nowhere.
  • For another aspiring and excited entrepreneur, I build in an email newsletter system, for the weekly newsletter she is going to send. She ends up paying 20 bucks a month for that thing, for several years. I’m not sure if she ever sent a single email.

Maybe I’m being cynical—maybe it wasn’t my job to help them see the big picture, provide business consulting, or a marketing plan that aligned their business goals. But it got me thinking: Why did they spend so much money on design, without any customer research? Or why did they spend money building an email system, if they were never going to send emails? They wasted their money, and I helped them, even if I did what they’d asked me to do. I told myself, “I don’t want to build sites like that anymore.”

I felt they spent a lot on design because that was a concrete thing they could see; and they didn’t spend a lot on business or marketing support, because nobody ever stopped to tell them about it. That made me sad—because more than building a website, I wanted them to succeed with their visions.

Why so many problems? (Or, “whose fault is it?”)

Before going on to solutions, I’d like to take a moment to discuss why I think the web design business is so fraught with execution problems for small businesses. I think what we have is a “perfect storm” of issues.

A brand new, complex industry

I can think of no other area where (a) people desperately need the service for their business, (b) it is essentially a brand new industry (about 20 years old), and (c) it is so complex. This puts us all in new territory.

Web design is actually an amalgam of numerous professional areas, and no one person can fully master the entire domain. It is incredibly easy for a client to make the assumption that: “this designer knows so much more than me—therefore he must know everything he needs to know.” But this is not necessarily true.

Solo freelancers trying to be all things

At times, I’ve had to field the frustrations of clients for a variety of reasons that have highlighted one or more of my own character flaws: losing focus on a project, and not always being as responsive as I could; not always communicating clearly what I was going to do, or keeping them in the loop; or having the hubris that programmers often do when estimating how long things will take.

But when I’d think back on it, I’d realize: “I never had these problems when I was working for a software company.” The reason is, everyone has character flaws; but when you work in a company, there are layers of professionals between you and the customer that mitigate them. When you’re a freelancer, you have constant, direct contact with the client, in a way that you may never have had as an employee.

A great many people become freelancers because they love technical work, and don’t want to have the complications they perceive as being part of a big office. They often don’t realize that this larger employer insulates them from things like:

  • Project management
  • Time management challenges
  • Gaps in knowledge
  • Contract issues
  • Bookkeeping

It’s just you (the client), and me (the freelancer), all on our lonesome. No wonder things don’t always go perfectly. This is indeed a reason why you might want to hire a design agency to do your project—layers of padding and redundancy, it turns out, do serve the purpose of smoothing things out, and helping make sure everything goes according to a well-orchestrated plan. But it also comes at a price, as it could double or triple the cost of your project (there’s the rub).

A so-called “DIY” software revolution that both empowers and confuses

As WordPress (my platform of choice) has progressed over the years, it’s gotten easier and easier to use. It’s great; unfortunately, consumers’ expectations have risen apace. In short, WordPress has gotten good enough to become popular with a non-technical audience; but that non-technical audience isn’t necessarily prepared for what it means to self-host a big bunch of code on a server somewhere, or handle the things that come with it.

  • The economics of WordPress template sites like ThemeForest encourage buyers to believe a lie—that what they need is “the right theme”—keeping them sheltered from the far more important issues, like: once you have the template… what are you going to say?, and how do you write so that people are persuaded to listen? There is a “just add water” promise that ignores the work that is really required to make a good website.
  • In terms of code, a naive client base understandably has a hard time distinguishing between what should take five minutes and what should take five months. Code they make use of every day might cost $100,000 if they were to have it built for them alone, yet they get it for free. It is therefore surprising for them when a few little tweaks to that “free” code could cost them $500.

A “green” client base

The same small business clients who are in the greatest need of a big-picture strategic vision for driving their web projects are the least likely to get it, for many of the reasons I’ve covered.

Almost without fail, I see the more naive client having a set of fuzzy ideas about what a website is supposed to do for them, and how to get it built. These ideas come from places like:

  • Vague notions about SEO (search engine optimization) as a panacea that will bring people to their site.
  • Online marketing gurus who make a living telling them it’s easy to get online and make money.
  • Websites like FaceBook and Amazon, which create very high expectations about the usability of websites in general, so when their site is not as user-friendly as the big ones, they think it ought to be.
  • Hearing “through the grapevine” about things like WordPress that make them think it will solve all their problems, before they have really defined their needs.
  • Notions that a web designer—“because they know so much more than I do”—must know all they need to know.

A large company, when hiring a web designer, is likely to have a very clear role in mind for them, and have a clear understanding of their professional duties. And, they are likely to have their own professional understanding of how that designer’s talents interact with those in their company, and a set of reasonable, developed expectations.

A small business may have none of this professional experience on their end, and no sense of how the different job roles break out on the designer’s end. Consequently, they are not likely to notice whether that designer brings the right combination of talents to the task, or they may expect that designer to know more than they should reasonably be able to.

If you’re a freelancer who’s come from a company environment and gone out on your own, you’re likely to be surprised at the naiveté, sometimes, of your clients. “Hey, wait a minute. When I was working for the agency, I got to do graphic design all day. Now, this person’s wanting me also to be a coder, a photographer, and a writer.”

Believing you know how much it’s going to cost/how long it’s going to take

Along with all these issues, there is a series of problems that just about any project faces, based solely on human nature. Software projects are notoriously late in general. There are cognitive biases that contribute to this, including:

  • The Planning Fallacy: The optimistic idea that you can estimate how long something will take.
  • Selective Perception: “Viewing a situation subjectively; perceiving only certain (convenient) aspects of a situation.”
  • The Illusion of Control: “Management believing they have more control over a situation than an objective evaluation would suggest.”
  • (There are lots more.)

A few informal “laws” have also been coined, and speak to this as well. For example:

  • Hofstadter’s Law: “It always takes longer than you expect, even when you take into account Hofstadter’s Law”.
  • Parkinson’s Law: “Work expands so as to fill the time available for its completion”.

Whose job is it anyway, to give you (the client) the big picture of what your website should do for you?

“If all you have is a hammer, everything looks like a nail”

You, poor client, probably don’t know this:

  • Your web designer thinks of his job through whatever his professional lens is.

If she is a graphic designer, she’ll be terribly likely to think of it as a graphic design problem. If she is a developer, she’ll see it as a technical challenge. If she’s a copywriter, she’ll see it as a writing challenge. Etc.

I have often wondered whether it was my job to give you, the client, all this context—the big picture. Particularly because you often don’t think you need it, and can become annoyed. “Just tell me how much it will cost!”

You ask things like: “What is your hourly rate?”—Before finding out what it is you need to know to understand the territory, to even start shopping around effectively.

Now, let’s talk about solutions.

1. Get a map of the territory

While I’ve put forward the idea that no one person can be expected to be an expert in all the different areas of web design—marketing, writing, photography, analytics, coding, and so on—I do believe that if you have a map of the territory, you’ll be able to inoculate yourself against this issue.

That’s where I might come in (as I’m good at that), and I’d be more than happy to present some free maps (a PDF with worksheets, etc.) to help you see the different parts; to know what questions to ask.

This leads to our next point…

2. Don’t trust any one person to have all the answers

Don’t fall for this fallacy: “This person knows so much more than I do, therefore, they must know all that needs to be known.” Not so. Respect their skill, but once you have an overall view, you’ll be armed with your own set of questions.

Seek people who are squarely focused around Point #3, which is:

3. Balance your priorities, according to clear and focused business objectives

Balance your priorities means:

  • Don’t spend all your money on design, leaving none for writing the copy…
  • Don’t spend all your time making the logo look cool, but leave no time for your marketing strategy…
  • Don’t get so enamored with a part of the project that doesn’t really give you a big payoff, and ignore ones that will actually pay the bills…

Clear and focused business objectives means:

  • What is the business purpose for this website?
  • Who is the target audience?
  • What are your key assumptions, and how much do you really know?
  • What kind of ROI (return on investment) are you hoping for?

Walk me through it:

  • Who’s the website for?
  • How will it provide value for them?
  • How will it fit into your ongoing, targeted marketing efforts?

You may not be able to answer all these questions on your own, but you should work with people who think this way.

4. Stop pretending you know how long it’s going to take before you start

Look at it like this:

  1. You don’t know exactly what you need, because you’re not the domain expert.
  2. Your designer doesn’t know what you need yet either—how can they, if you don’t know what you need?
  3. It’s going to take her some time to find out what you need.
  4. You should pay her for that time.

There is an ongoing discovery process here—and that’s just the way it has to be. There are phases, and it can be broken up in different ways. For example:

  • Initial consultation and discovery. Going over the “map”, the goals, and honing a list of requirements and strategy. (Project scope goes from unknown to slightly more clear.)
  • User research and mockups. Maybe do some basic user research. See what actual humans in your audience need, want, and respond to. (Project scope goes from slightly more clear to somewhat clear).
  • Initial scope and deliverables planning. (Project scope goes from somewhat clear to having a fairly good idea of what this is gonna take.)
  • …And so on.

Sure, you can hire someone who’s going to pretend to know all this before you start discovering it—you just can’t find someone who can actually know that. The main thing is to find someone who’s going to be clear with you, who lays out the reason for each phase, aligns with you, and keeps you abreast of budget. (It’s not that hard to time estimate each small phase as you go, doing it this way.)

5. Involve yourself (as the client) in the process

The above process is called iterative—working in short cycles, learning a little more each time, in response to needs as they become clearer. When you stay connected to this process, you become someone who really understands what is happening. You “own” the project far more than if you adopt a “build it for me and let me know when it’s done” attitude. Trust me: If you find the right person to work with, they will be happy to have you on the team, building what you really need. They won’t make you feel dumb for not knowing it all. (As I have made clear: they don’t know it all either!)


Let me know what you think! Was this helpful?

These ideas have been stirring around in my mind for many years. I’d love to know if you find them useful. Feel free to add notes or ask questions.