What I’ve learnt about outsourcing
Wednesday, September 25, 2013/
Start-ups with limited resources may be tempted into outsourcing to cheaper places.
I’m sure you’ve heard horror stories of entrepreneurs who spent a fortune building an idea in India only to discover a rat’s nest of badly written code that doesn’t scale. Then there are great successes, where people have utilised an outsourced team to access huge resources at a low cost to grow quickly.
Posse is my first tech company, and I like to draw on advice from a wide range of qualified people.
Outsourcing, it seems, is one area where everyone holds a different opinion. I’ve tried almost every different outsourcing model – some were successful, some disastrous – and we’re about to build a significant second team in Manila.
Here are some of my stories and what I’ve learnt along the way:
1. Outsourcing the development of a minimum viable product
When I started Posse, I wanted to get a site up as soon as possible to see if the model worked.
I had no technical expertise and didn’t know how long it would take or how much it should cost. I didn’t have enough expertise to hire my own developer so I outsourced to a dev shop in Sydney who then outsourced much of the work to their team in India.
I paid for a part-time product manager and part-time graphic designer in Sydney and around six full-time developers in India. It cost approximately $50,000 per month and took around three months to get a minimum working site live.
This got us going, delivering a working site within three months. It wasn’t great, but worked enough to prove that the model had legs, enabling me to fundraise for the next stage.
But the approach was flawed and I wouldn’t recommend it. Having a team of part-time developers in Sydney meant that no one was focused on the project. A start-up struggling to devise a new model needs focus and commitment. I wanted smart people who’d wake up in the middle of the night with brilliant ideas for the site design and implementation.
But for them, we were a one- or two-day per week project. No one cared that much, the design was poorly conceived and riddled with bugs. The code was sloppy; it wouldn’t scale, and was abandoned when we put our own team in place. It had to be.
2. Partial outsourcing of development
As soon as I closed our first funding round, I hired a CTO to run the development of our product right here. To develop as much as possible on the available budget he decided to hire two other developers in-house and outsource the rest to a different team in India.
The Indian crew were a dev shop that built products to spec. We spent around $15,000 per month on the Indian team, which gave us six full-time developers including one who managed the rest of the team. The entire tech team (Sydney and India) cost around $40,000 per month.
This approach worked slightly better as our Sydney team was more focused on the product design. We started running regular user tests and developed agile processes, and the Indian team were quicker and more responsive in our direct dealings with them.
But again, there were drawbacks.
The Sydney team spent a lot of time writing specs for the team in India. It’s impossible for a technical spec to cover every decision that the implementer has to make. For every major definition in the spec there were a hundred micro decisions left to the Indian developer. We’d never met them; they didn’t speak good English, or understand the business problem we were trying to solve.
So, they often came up with wrong decisions. For instance, they programmed the events database so it displayed events from furthest in the future first; closest to the current time last. This makes no sense if you’re looking for something to visit next weekend. The quality of the code wasn’t great and the site was slow as a result.
Developers would take longer to fix it because of the ‘shortcuts’ they’d taken in the past. The Sydney team members weren’t proud of the product, they were bored writing specs and we couldn’t build an innovative engineering culture as a result. After about six months, we hired a new team, notably led by Alex North, and brought all our development in-house.
Story continues on page 2. Please click below.