What I’ve learnt about outsourcing so far
Startups 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 who utilise an outsourced team to access huge resources at low cost and 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 learned 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 startup struggling to devise a new model needs focus and commitment. I wanted smart people who’d wake 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; that 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.
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.
3. Outsourced sales and database management.
One of the biggest lessons I learned from the music site was that we needed a scalable sales process. I looked for a way to streamline the client on-boarding process so it could be done by anyone from anywhere at low cost. Now, when you recommend a shop on Posse, a call centre in Manila contacts the store owner, lets them know you’ve recommended them and asks if they’d like to list on the site. We obtain their details and design a hand-drawn Posse storefront, converting 95% of the shops that people list, and the entire process costs us $3 per store. We now have over 35,000 merchants on the platform from all over the world.
The process works incredibly well for us. We started by calling the stores ourselves, managing the whole process from our own office. Once we had the script working to a point where one caller could onboard 100 stores per day, we outsourced the job to a call centre in Sydney. They own a call centre in Manila and planned to get the processes running in Sydney first. Once they could obtain the same result as us they’d train up their Manila team to take over — at a much lower cost. Within a month we were ready to start handing over to Manila and a month after that we had a team of two callers, two graphic designers, one database researcher and one manager on the job for a total cost of $5K per month.
4. Building our own team in Manila
Now that we’re growing, we’ve decided to launch our own team in Manila. I went over there last week to scope out the scene and investigate different approaches. I learned about Manila’s thriving startup scene and was shown two of the largest startup incubators, packed with enthusiastic entrepreneurs and engineers building their own products. I was surprised to hear how many startup competitions, hackathons and meet-ups there are. Google has just leased a five-storey building and plans to open a major office there. It felt a very different culture from India, where developers seem to work more for pay than for passion. Another advantage of Manila is that English is the main language of their education system, so communication isn’t a problem.
During my time in Manila I found a lead developer, an office and a recruitment company who’ll help us assemble the rest of the team. For around $20,000 per month we can employ six engineers, four callers, a database and customer support person, a graphic designer and a manager. We’re building the team in partnership with the Sydney company we worked with to outsource our callers, and aim to have the whole operation up and running in November. The team will compliment our in-house development, design, community management and sales team in Sydney; we plan to send our lead designer and two lead engineers to work with the new team in Manila, at least for the first month or two until they get going
Through trialling different methods of outsourcing and learning from others who’ve done it well, I value the time and effort put into getting it right. My trip to Manila was eye-opening: I never visited the Indian teams and as a result thought of them as existing in cyberspace, rather than as real people. I never took the time to understand who they were, their motivations and challenges — I just became frustrated when things didn’t work perfectly. I never thought of them as being part of our team.
In a startup, every team member makes an impact and a team member in another country is no different. Now that I’ve spent time in Manila, met the people who make the calls to retailers, and engineers we’re looking to recruit, I’m determined to ensure that the Posse culture is the same for our Manila team as it is for our Sydney team; we’ll all be spending a lot of time there to make sure it works. I’ll write back in a few months and let you know how it works out!
If you’ve outsourced successfully or unsuccessfully I’d love to hear your experience and tips in the comments below.