If you’ve worked in web development for any length of time, chances are that you’ve had at least one Frankenstein project that crept along at a snails pace. My personal record was as a freelancer with a two-year project. I was continually waiting on the client for reviews and sign off and when they did get back to me I found that we were often expanding into gray areas of scope- at my expense of course. As the project evolved, I spent countless hours doing research and trying to guide them through these gray areas to successful solutions. As I bent over backwards to help them, they began to expect it. The expanding scope created extra communication in calls, emails, and meetings and required even more time to review before moving onto the next part of the project.

The worst thing about it was that I really liked them and wanted to provide them with a great solution. On second thought, the worst thing about it was that I wasn’t getting paid for all that extra work because it was a fixed bid. The fact that I liked them just helped to make the whole process a smudge more bearable.

While I waited months between the communications to move forward I would dream about the day that the project would finally be completed.

How could I have prevented that slow-motion train wreck?

Some people think that if you have a contract in place or have a certain kind of payment structure like 40% upfront 30% upon a certain phase completion and 30% upon delivery these scenarios can be avoided.

However, I had a contract in place and it was even sliced up into neat little phases with payment based upon completion of each phase. The client just took forever to review phases and then we would drift into gray areas as the next phase started. “What we really would like it to do is this…”

The real problem was the gray areas. In business speak, it’s called risk. And if you haven’t got the point so far: it’s expensive. Most freelancers and agencies take on that cost, just like I did, because we are the experts and it’s our job to manage it. It wasn’t my client’s fault that the gray areas existed – it was mine.

Here are three simple ways to mitigate this and prevent projects from dragging on:

1) Keep projects small.

Small projects have inherent momentum. Additionally, they are very clear in their goals and execution. Risk is low and gray areas nonexistent. Really, large projects are just a bunch of small projects and you should structure them as such. However, two important caveats when you try to sell your client on executing a series of small projects: each project must deliver value in the client’s eyes and at the front of any long-term series of projects any particular project that would ruin the longterm aims for the client if unsuccessful must be exposed and investigated. (This is path dependent risk and a good opportunity to sell a “Discovery” or “Road Mapping” session.)

2) Require a nonrefundable deposit and content as a precondition to scheduling projects.

Don’t just require money up front, require what you need to complete the project successfully: content, images, whatever. It’s magical what can get done when the onus is on the client and they have skin in the game. Remember to emphasize the rules of the engagement and set a timeline to manage their expectations. E.g. “If you can deliver us the content by X date we can fit into our schedule to start the following week.” Emotionally, this is the best situation for getting things done on your client’s side- they are ready to break ground.

3) Have a stalled project clause.

It’s not enough to have a contract. Your contract has to anticipate problems and identify resolutions. For stalled projects, what works well is to have a set period of days before the client is billed for whatever work they have not already paid for. Additionally, it’s helpful to have what’s called a “re-engagement fee” that accommodates the time you will need to reorient on the project and language that specifies that the project will have to be rescheduled once they’re ready to continue.   Don’t make this a surprise, make sure they’re aware of it before they sign the contract.

What happened with my two year project? Eventually, one magical day in November, after several weeks of silence, my client emailed me to tell me that they thought the project had been completed successfully. I sent the final invoice and it was over. I had lost the equivalent of $40,000 in un-billed hours… And I celebrated.

It was an expensive lesson, but it didn’t have to be. I could have prevented all my problems if I had anticipated them. A couple years later when they contacted me again to perform a similar project I told them that I didn’t think it would work out. Some problems you can prevent from occurring with measures like the three techniques I listed above, but some problems are better to recognize and avoid entirely. That’s a bonus(!) tip that’s worth $40,000 easy- but only if you remember and apply it.