What I will tell you in this article:

  1. How software outsourcing can be painful
  2. Certain rules you must follow, to avoid the pain

IF YOU’RE A CLIENT

So you want to get a website designed, or an app built, or some other software made. And you want to outsource the work.

You post a project on an online marketplace. A dozen folks want to build your project for anything from $10/hr to $100/hr.

You probably hire a development firm in India or Ukraine or Poland which had a nice looking website. Their sales chaps promise that their developers are made of stardust, and very hearty testimonials from their previous clients.

And yet you may get BURNED.

Different colours of cow feces you might step on:

CLIENTS CAN ALSO BE JERKS

Don’t get me wrong — developers also get their share of shitty customers.

Examples:

  1. Client makes a promise to pay but delays payment.
  2. You do your job well, but the client accuses you of doing shitty work and says that “anyone could do this for cheaper.”
  3. The client makes sudden change requests which impact the scope of the work, but he doesn’t understand what’s so difficult about it
  4. Client suddenly disappears (bye-bye, 90 hours of coding + 20 of scrounging on StackOverflow + the promised $5,000)

What can you do as a client?

People have suggested doing all sorts of things to get around this. I know this one guy who stayed up late for months communicating with a firm in India. I know of one lady who actually went and lived near the agency she hired for a few months.

Now, I have talked to both sides of the table, in private. In my experience, it comes down to three rules to live by:

  1. Know what you want. A developer is not there to solve your problems. She is there to implement the solutions that you already have in mind.
  2. You don’t have to be “smart” while finding freelancers, you just have to be aware of common pitfalls and follow a framework. There’s no need to go with your gut feeling.
  3. Be reasonable and human. The best firms and freelancers are those who have the luxury of choosing their clients. They won’t work with a-holes.

Now let’s go into details.

(If you’re very non-technical, it might be difficult to judge the complexity of a project. In that case, get a disinterested party (like an engineer friend you might have) to help you understand all the aspects of your idea and some important things you should keep an eye for.)

  1. Finding good development agencies and freelancers

There are plenty of good development firms out there which don’t easily find work because of all the crappy ones that saturate the market. Here’s how you filter out the noise and find the right one for you.

Whenever you receive a bid from a developer, follow this checklist:

2. Make sure the requirements are crystal clear.

This goes for both the developer and the client. As a client, it’s your responsibility to ensure that you don’t leave any details while describing what you want.

(If you are a developer, it’s also your responsibility to ask for all this information. In your desperation of closing the deal, don’t let the client be lazy and leave you to figure out all of this by yourself. A year later when someone asks him for a recommendation on good development firms, you want to be on top of his mind)

3. Decide on a strict communication and payment schedule

The key here is milestone management.

4. Review their work in progress at each step

In this industry, you don’t just get what you pay for — you get what you ASK for. It’s up to you to enforce good practices so that you get what you want.

5. Don’t be a jerk.

That’s it.

If you do the above, I can almost guarantee that you won’t lose your time and money.

Would you like to stay in touch with me? I don’t use it as a newsletter that I can share links through, but as a two-way communication channel through which I can hear your stories and ideas: