Web development drives me CRAZY sometimes.

I am not a web developer.  I’m also not a web designer.  My skill set (finance and law) is Ill-suited to the life of a tech entrepreneur.  When we started our first online business not only did I not know how to write code, I didn’t even understand what platform my website was built upon.  If we wanted some text changed, we would be at the whim of one of a few contractors who would swoop in, charging like a wounded bull and often breaking things along the way.

I have never done well being in a position of relative powerlessness, but that’s exactly how it is engaging contractors to build a website – when you don’t know any better.

Fortunately, I can confidently say that we’ve come quite a long way since then.  We’ve learned what’s easy to do, and what’s difficult.  We’ve learned what skills are required to perform certain tasks and how to tell whether people have those skills, or are exaggerating to get your business.  I’ve even learned quite a bit of coding.

Each of these lessons has been hard-learned, through trial and error and the occasional success.  Behind every victory is at least one abject failure, failures which we continue to experience to this day.  So while I’m going to share my three biggest tips for outsourcing your web development, this list is by no means definitive and it’s very possible that on any given project you might not find these useful.  Over time, however, these are extremely important points to keep in mind.

It should be noted that these lessons apply to hiring offshore or independent contractors through websites, such as oDesk and Elance.  If you are paying $100/hr to a local firm, you’re buying an insurance policy, more or less guaranteeing that you get what you want.  Unfortunately, most entrepreneurs do not have that luxury so we have to be a little more resourceful – and intrepid.

Instructions must be perfect

On the whole, contractors want to do a good job.  If you’re happy, then your feedback will be good and they will be able to get more work.  However, of course, it’s a zero-sum game: the more they work for you, the less they can earn doing other jobs.  So there is a temptation to cut corners, to renegotiate the scope of jobs, and generally get your money as quickly as possible, while not always delivering on what’s promised or agreed.

This has been the reality of every single web development project I’ve commenced.  In the beginning everything is hunky-dory and getting along fine.  Your contractor won the project because, on the basis of your rudimentary cost/benefit analysis, they were the best value for the job.  Their feedback looks good and they tick all the right boxes.

Then, maybe, there’s a setback – you start requesting things that you thought were implied in the contract (e.g. obvious features that you thought shouldn’t need to be mentioned) and the contractor starts pushing back.  This happens a few times until, about 70% of the way through, the contractor says to you they need more money because the scope of the project has changed.

In your mind, of course, the scope is exactly what it was in the beginning, but is being gradually eroded by the contractor’s desire to be rid of you as quickly as possible.  Most likely, the answer lies somewhere in the middle – with blame on both sides.

Getting the balance right in the bidding/selection process is HARD.  But everything flows from that – both sides are bound by what they agree for the duration of the project, and this can lead to consternation for a contractor who feels the pointy end of ‘scope creep’ on their project.

What are the big factors to be aware of here? 

First, and most obviously, there is the cultural divide. You speak different languages natively, and some concepts, such as good design or UI, vary wildly between countries.  In my experience, working from a Western country, it can be very hard to communicate my needs to contractors – and I cannot rely on them to use initiative because the results are often not what I’m after – which wastes my time and theirs.

So I have found it’s essential to be as specific as possible, providing examples and mockups wherever I can.  While it can be difficult to explain my requirements in words, a picture is often a far more efficient means of getting my desires across.  This applies especially to design (appearance) and UI factors.  What looks good to somebody else does not always look good to you. Most importantly, be respectful of cultural divide – the people you hire want to do well and it’s your job to make sure they have the tools they need to perform.

Second, and perhaps more difficult, is the technical knowledge disparity – this harks back to Donald Rumsfeld’s “unknown unknowns”.  You don’t always know what you don’t know.  And unless you’re a programmer, it can be extremely difficult to understand what goes on ‘under the hood’.

Here’s an example: When Mel and I started our first website, we wanted a unique look, so we specifically requested a custom website, rather than using a template.  We didn’t know you could just adapt templates.  How could we? Nobody had told us.

Our next website, we decided we didn’t like Magento so wanted a custom CMS.  So we went out and found a contractor to build a custom CMS that was just the most clunky, buggy CMS we’ve ever used.  Lesson learned – if someone’s already done the hard work for you, don’t reinvent the wheel.

We’ve since got a little better at it, but with each new project we are presented with a new set of lessons about things we never previously had to even consider. Do your research before you send your requirements to a developer or designer and you’ll both have a much smoother ride.


Deadlines are never met

There are no doubt exceptions, but I’m yet to see one.  If you have a deadline, you will be disappointed.  This is just one of the costs of embarking on a web development project with Freelancers.

In a competitive environment, where there are dozens or perhaps hundreds of people and companies bidding for your work, it’s only natural that contractors will over-promise.  And once they win your business, the incentive to deliver evaporates.  So the promises are hedged and eroded, as the developer inevitably finds complications that weren’t foreseen when they were frantically bidding for your work.

This is normal – and something you must factor in.  If you absolutely need a project done on time, then I would suggest finding a contractor who has a realistic project plan.  This is a balancing act – as such contractors are no doubt going to require greater compensation.

Be careful with your milestones

When it comes to setting milestones; the more, the better.  If you want to retain a sense of control over your project, the best way to do it is to hold your contractor accountable at small increments.  This way, not only are you taking smaller financial risks without seeing results, but it helps to better plan out the architecture of your project.

Further, it forces you and your contractor to think more clearly about what is involved in the project, and what is a reasonable timeframe for delivering the milestones.  Further, ensure your milestones are very specific and clear.  Don’t do what we did and agree to a milestone like “Partial CMS Demo” because that doesn’t mean anything.  If you’re paying money for that milestone, you’re a chump.  And I should know, for I have been a chump a number of times in my outsourcing life.

They say the definition of insanity is doing the exact same thing over and over, expecting a different result.  If we had sought out advice about how to outsource in the beginning, we would have saved ourselves a lot of heartache and annoyance – not the mention the irritation our partners felt. Every single project is like a tango – it takes two. You need to consider that the person on the other end of the transaction is not only a ereal person, but a real person who wants to do well for you.

Development delays happen in the first world, too. Just be ready.

It is possible your project will run as smooth as silk and you’ll have no issues along the way.  More likely, the last 20% of the project will involve much pain and a sense that you’re having to push your contractor/s pretty hard to get a product that even resembles that which you thought you agreed.  Hope for the best, but prepare for the worst.  In our experience, you get a lot more of the worst.