Ever seen an email from a software outsource provider promising to fix absolutely any problem you have? Amazing, especially given that they have no idea what challenges you might be facing. The truth is that there are a lot of bottlenecks to the development of great software that team augmentation can help solve, but there are some expectations that no development partner can possibly meet. Based on our 20+ years in providing outsourced resources to international clients, let’s talk about some situations where this model has worked brilliantly for our clients, and some others where it is unlikely to. It’s all about your expectations and what you are trying to achieve.
If you are in the business of creating software solutions, (either for the use of your own staff in improving performance, or maybe to sell to your clients to improve theirs), you already know that augmenting local teams with remote development resources is a hot topic. No doubt you know someone who has used this strategy successfully or have read case studies about organisations who have. The secret to all of these success stories is probably that the key players had done their homework and understood exactly what they needed to add to their internal team to hit the target. You can’t know the solution until you have properly defined the problem, right? So, let’s look at some challenges where it has worked. If you recognise them as similar to your own, we’re on the right track.
I need more capacity and capability
Your internal development team is a proven and trusted one that has been producing consistently for years. Trouble is, they are becoming victims of their own success! End users and product owners love your software and are constantly coming up with new ideas and enhancements, and you might also have a backlog of fixes scheduled as well. Time to market matters, so if you need more development resources to bump up your velocity and manage your pipeline, augmenting your team with remote resources can be an effective way to supercharge your development cycle.
I need the ability to scale up (and down) quickly
Your development roadmap is bulging, and you need to ramp up quickly to address demand. You could start contacting recruiters, writing (and rewriting) job descriptions, look around for additional office space and infrastructure to house additional team members, and get ready to work through a mountain of applicants looking for the right mix and skillsets. But that takes so much time! An efficient alternative could be partnering with an established outsource provider who can present you with a selection of pre-qualified candidates who you can qualify and be ready to start within days. And when you are ready, scaling down can be just as simple.
I need some very specific skills
We’ve all been there. In the middle of a development project, you realise that you need a specialist skillset to fill a gap in your team. It might be a Database specialist, a UI\UX guru, or maybe dedicated Systems Testers to validate your release before it goes live. You don’t need to carry these skills year-round, but they will make all the difference right now. Your outsourced development partner probably has these skills in their organisation and can swing them into your team at short notice to get you across the line in an efficient and cost-effective manner.
I want my established staff to add more value
Some of your internal development team have been with you since the beginning, and know your solutions, processes, and clients better than anyone. They have internal and external relationships that could make them invaluable to continuing to grow your business, but they spend so much time on cutting code, writing documentation, testing and bug fixes that they rarely have the bandwidth to talk to clients directly. You value them, you trust them, and you know they could add more if you could let them. How about releasing them from the daily busy-work and letting them become the vital bridge between your development team, your management, and your customers? By engaging a team from your outsource provider who can carry on the more routine tasks that keep the project’s momentum intact, you release your more senior and experienced local staff to liaise more closely with clients and stakeholders, making your business more agile and responsive.
All of these challenges are very common and reasonable ones, and in consultation with an established and proven development partner, workable solutions are almost always possible. Most of the success stories that you have come across will be the result of experts at both the client and provider sides formulating and implementing strategies to address the specific expectations successfully.
Some prospects, however, have expectations based on hearsay and marketing collateral from less reputable outsource providers. In these cases, some significant red flags appear.
Unreasonable Expectation 1
I want to build software quickly and cheaply
Cost effective software development is definitely something to aspire to, and a desire to get a value for money proposition is a very reasonable one. The problems surface when cost becomes the overriding focus to the exclusion of other important aspects like quality, support, reliability, and performance. Some clients are seduced by the promise of bargain-basement hourly rates by some offshore providers. Unfortunately, the old adage that you only get what you pay for is almost always true. While it is certainly possible to engage “developers” from anywhere around the world very inexpensively, some clients don’t stop to think what they are getting. Inexperienced (and sometimes unqualified) software developers usually represent a false economy. They will generally require micro-supervision from you to stay on task, and may not be familiar with the latest proven tools and processes. Work performed by such teams often requires a complete rewrite by a subsequent (professional) team to address fundamental structural problems. If cost is your only criterium, supplementing your team with offshore resources may not be a good idea.
Unreasonable Expectation 2
I can completely replace my team with yours
At the beginning of development outsourcing in the 1990s, this was a common sales pitch to clients by outsourcers – and it was wildly successful. Promises of 50-70% savings by using outsourced teams to replace local staff were a regular occurrence. Many very large and respected organisations (amongst them telcos and banks) divested themselves of proven and talented internal teams in search of dramatic immediate savings. Rather predictably, the results ranged from unpopular and costly to disastrous. By removing their technical resources, organisations also removed the exact staff in whom the organisations’ human capital and intellectual property resided. Eventually most of these early adopters reversed their decisions and went through the costly and painful process of reinstating their internal teams.
Taking the decision to partner with an established and reliable development partner has potential to deliver great benefits. Consider adding the ability to scale your team up and down quickly and easily, add specific skills as needed, increase your development velocity and maximise your local staff’s value to the organisation, and it makes good sense. Recognising the value of your existing staff, supplementing and augmenting your team is almost certainly the way to go. Understanding your own expectations and a little due diligence on your potential outsource development partner early in the piece can save you a mountain of problems (and expense) later.