In a previous business, I had to outsource software development for a number of projects. I’d research potential partners online and also used freelancer sites such as Upwork and Guru.

It’s fair to say that I made a few mistakes along the way that were painful in terms of time, money, and sanity, but I learned from them.

Assumptions can be expensive

My first attempt at outsourcing the development of a mobile app was a bit of a disaster. We’d gone with an app development business that had come highly recommended by a trusted source. We’d created a technical and functional spec along with wireframes and what we thought was a clear brief.

The next step was to raise some funding to help pay for the development. We got that pretty quickly and everything was in place. I smugly (and foolishly) thought to myself that this was a stroll in the park.

I’m going to cut a long story short here, we missed out on adding some pretty important written details to the brief but had spoken about them in conversations, so in ignorance, we assumed the app developers would be including them in the build. Wrong!

We’d assumed that they would do everything that we wanted to do for the price they’d quoted. We didn’t get clarification and confirmation and we ended up going considerably over budget.

Over a barrel

On another project, I selected a developer that seemed to be the perfect fit. I’d found him on one of the well-known freelancer sites, checked his skillset, reviews and had a good conversation with him at which point he’d illustrated he had a good grasp of what we needed.

Learning from the previous mistakes with the app developers, we dotted the i’s and crossed the t’s and agreed a fixed price for the project and we were off.

The first sign of trouble came when he requested “a bit more” money as one of the tasks was going to take longer than expected. I agreed as I was looking at the bigger picture, if he did a good job here we could use him again.

A couple of days later, he again asked for a bit more money. I pointed out to him that we’d already shown flexibility but we had an agreement and this was included in writing in it.

The fun really started when he’d completed the work. He point-blank refused to release the code to us unless we paid him an additional sum of money. This guy was taking the p*ss. I reminded him of the terms of the contract and he just refused. We needed the finished code, he had it and he wasn’t budging. He had us over a barrel!

All the negotiation skills and threats to report him to the freelancer platform (we did report him and they were really unhelpful) fell on deaf ears. All I could do was offer him a smaller additional amount, which he eventually accepted and get him to release the code to us.

He was using his own repository for the code which was my error. That would be the first and last time.

The funniest thing was he contacted me numerous times after this offering to do more work for us and asked me to leave him a 5-star review on the freelancer site, priceless!

In Summary

  1. Finding a good development partner that you can trust and sticks to their word is easier said than done.
  2. Never assume anything when it comes to development and price.
  3. Cover every eventuality and don’t be held to ransom over the code!

We’ve had personal experience of what it’s like working with developers that don’t deliver. We know how painful it can be and how it can damage your business.

We make sure the price and scope of work are agreed upon upfront, with no hidden surprises or costs. We also include items that are out of scope but might want to be added at a later date and, where possible, attach an upfront cost to them.

Repeat business and good reputations don’t come with underhand dealings to earn a fast buck.