Thinking About Outsourcing? Consider These 5 Insider Tips for Success
I often travel to Berlin for business, and usually end up in discussions about a topic that’s polarizing for many people: outsourcing. In fact, I can’t recall a trip to Berlin that didn’t include hearing skepticism about software development outsourcing from founders I meet — or worse yet, horror stories they’ve heard from friends or colleagues.
As a proponent of smart outsourcing, I find this skepticism surprising. Many German companies have had great success with outsourcing (yes, it’s true, outsourcing is not exclusively an American custom). These success stories span many industries and include all sorts of companies, from large conglomerates (maybe you’ll recognize some logos here, or here) to small startups making their first steps. It’s not hard to find information on the software outsourcing practices of large companies through a quick Google search; but oftentimes, smaller companies don’t like to brag about it. This is probably why you don’t often hear outsourcing success stories from startups.
Don’t get me wrong, software development outsourcing isn’t a magic pill; it will only produce results if the startup and outsourcing partner are both committed to the concept and willing to adapt to each other’s needs. Of course, just like with any other initiative, you can’t expect every outsourcing project to be completely smooth sailing. But you can significantly increase your chances of success by learning from the experiences of others. Vertalab has been providing software outsourcing services for startups and small businesses since 2012, and we’ve gathered plenty of actionable information on the topic.
I’d like to share five key tips for founders and CTOs of established startups willing to tap into the benefits of outsourcing (or outstaffing, as some call the model I will outline). If you do not consider your company an established startup yet, some or all of these tips might not work for you. If you’re not sure whether outsourcing is a good fit for your type of business, or if you have any other questions, I encourage you to check out this software outsourcing FAQs.
Set correct expectations.
First, you need to understand the limitations of software outsourcing. Don’t expect to outsource everything. Outsourcing CTO functions is really hard and, in addition to that, oftentimes investors prefer working with startups that can retain their technical expertise even if it becomes necessary to change outsourcing partners. Both facts mentioned above limit your options and allow outsourcing only when you have a core technical team in-house — say, a CTO accompanied by one or two strong developers. This configuration can meet the requirements of investors for an in-house centered development team and lets you maintain a larger degree of control over development processes inside and outside the company, while also creating the opportunity to outsource large parts of your programming work.
Apart from choosing an incompetent outsourcing agency (we’ll talk about that in the next tip), dropping the ball as the client is one of the most common reasons for outsourcing failure. You must be organized in all aspects of software development; that means always taking advantage of project management tools, doing an excellent job describing tasks, and maintaining clear documentation. Although these practices are considered a part of good project management standards, some companies do not follow them. Consider having it all organized as one additional side benefit of outsourcing.
Besides that, make sure you have relevant processes in place to make sure everyone stays engaged and productive. Remote developers should have a very clear understanding of where they should deploy their code, who will test and accept it, and how they can merge it all in production. As a bare minimum to ensure clear communication, I recommend fixing regular time for daily standups and using instant messengers (e.g. creating a development channel in your Slack).
Choose your outsourcing partner wisely.
Be sure to consider all aspects of your potential outsourcing partner before choosing to work with them. The following factors make all the difference to your project’s success:
Size. Large outsourcing companies will often refuse to work with budgets lower than a certain threshold (e.g. minimum €1 million), and they probably won’t offer you a red carpet service when you’re not big enough. Alternatively, beware of working with a team of freelancers who may claim the status of an outsourcing company. Your ideal partner should be big enough to accommodate your needs in case you need to replace any of the remote developers, but small enough to take you seriously. Never forget that you are looking for a long-term partner, not a mere contractor.
Location. Traditional outsourcing destinations for European companies are Eastern Europe and India. I recommend concentrating on Eastern Europe because of closer cultural ties, easier time zone difference, and traveling convenience (you do not need to travel frequently, but it’s important to visit your partner at least once per year). Make sure your partner is located in a larger regional hub with access to a sizeable talent pool. I always recommend Ukraine as a good partner destination, but since I’m biased, I encourage you to check other countries such as Poland or Bulgaria as well. Each destination has its own advantages and disadvantages. In Ukraine, for example, the advantage is a relatively big pool of talented programmers (the top 25 largest IT companies in Ukraine employ over 32,000 developers), but the drawback is a one hour time zone difference with Germany.
Experience and adaptability. I encourage you to only consider companies with a proven track record of outsourcing. Coding experience alone is important, but it’s not enough, as your outsourcing partner must be able to adapt to your business processes. If they were a good partner for other clients, chances are they will be a good partner for you.
Dedication. Make sure the developers working with you do not have any commitments to other clients. Being able to focus on one project and avoiding distractions is extremely important.
Reporting. Last but not least, your partner should be able to deliver a clear report listing activities of each team member working on your tasks. Transparency is very important for building trust and knowing where your money is going. Don’t hesitate to ask for a sample of a report they could provide.
Never insist on a fixed-cost model.
Although a fixed-cost model could work well for developing minimum viable products or isolated products limited in scope, we think it’s rarely a good choice for well-established startups. Why? Because in a fixed-cost model, delays caused by the need to provide and approve estimates kill the advantages of outsourcing and may lead to the project failing altogether. Founders request estimates for each task, agencies lose time on communication, changes in requirements after the estimates have been approved lead to disagreements over estimates, and — when it repeats often enough — both parties get disheartened and lose interest in cooperation.
For this reason, we recommend using the dedicated team model — trusting that your remote employees will do the tasks in the most time efficient manner. Effectively, it translates to treating your remote employees as a part of your own development team. If you’re not happy with the performance of your remote employees, talk to your partner, ask for a discount, and eventually ask about replacing that developer. In our company, this principle is incorporated into our policy: if you do not see a value in our service, we will not expect you to pay your bill.
This last tip is probably the most important. Once you’re fairly confident in the outsourcing agency you plan to work with, launch a small experiment: Interview one or several of the suggested developers for your project and see if he or she is a good fit. If it’s a match, ask the agency to sign an NDA and do a trial run. We typically provide a month trial period with a 50% discount to a normal rate, during which the assigned developer(s) complete a real but non-critical task that a startup would normally assign to one of their onsite employees. This trial period will determine, without much financial risk to you, whether or not you have everything necessary in place to make outsourcing a success.
Successful outsourcing requires patience, discipline, and great communication skills — but if you master it, you could see significant returns for your startup in costs, efficiency, and flexibility. If you’re unsure about whether outsourcing is right for your startup, feel free to send me an email to firstname.lastname@example.org to schedule a no obligation consultation. I’ll answer any additional questions that you might have. Or just visit https://vertalab.de/