Choosing a model and sourcing a partner 101: Tactical software outsourcing – part 2: going offshore on-demand
Tactical or on-demand software development outsourcing takes many forms/flavors; part 1 dealt with bringing skills in or increasing capacity by augmenting your in-house team with an outsourcing service provider’s resources. Part 2 is all about going offshore on-demand. The post on ‘Greed’ ought to have given you a lot to think about the objectives for using tactical on-demand outsourcing of your software development needs… it is all about objectives and having the right ones! increasing your margin falls in that category but should not be the only reason to go offshore tactical or strategic! any how enough on greed lets talk about the other objectives.
In the case of the events management and new media company (see previous post) the objective was driven by the promise of projects the company did not possess in-house skills to deliver, in most cases where tactical on-demand software off-shoring is concerned this is not the case… at least in my experience.
More often than not going offshore on-demand is a strategic decision and not a knee jerk reaction to ‘oh $h!t we can’t do this, lets find someone who can’.
With technology companies I have worked with in the past and those my company are engaged with, the decision to outsource software development offshore or on a hybrid model is based on a combination of factors; saving time and money on a short run activity, bringing in temporary skills they do not wish to add to their skill base on a permanent basis, in some cases introducing their in-house resources to new skill sets with augmented team members (it is more economical and productive than bringing in onshore contractors! and more productive than sending staff on training courses), to benchmark internal capabilities against an external service provider (we ourselves occasionally use third party service providers to do just that for selective internal functions), bringing in fresh minds to give your innovation team a boost and of course to relieve capacity issues. Clearly not an exhaustive list as some of you might be hoping to find here but the point is to make you think and not dump data on you! having said that lets waltz with a tad bit more detail.
Saving time and money on a short run activity
This is the classic reason, where the project outsourced is tight on timeline and budget and outsourcing companies by their nature (with considerable exceptions!) are tuned for fast turn around; that is the nature of a specialist. A fallacy is that for project outsourced offshore that has a tight timeline and a restricted budget the requirements have to be set in stone, they do not. As long as the end client or domain experts are accessible, the time line and budget reflective of the project needs any outsourcing software development provider can apply a number of methodologies to deliver on time and on budget regardless of the state of the requirements or specifications. Agile development is typical on such projects, short sprints ensure the iterations are used to keep the domain experts, client expectations and developer understanding in sync. But Agile alone is not the only way forward just as saving time and money are not the only factors at play on any project.
Bringing in temporary skills a company does not wish to add to their skill base on a permanent basis
The best example everyone is familiar with on this note is still Y2K! adding legacy platforms skills to the current skills mix was not on anyone’s priority list hence Y2K saw a boom in offshore software service demand. This holds true for not only legacy systems but for one off projects as well in today’s languages, frequently we are asked to undertake projects from PHP to Ruby on Rails by software houses in the UK and the US where these languages are not part of their core skill sets nor do they have the desire to add them to their skills matrix in any hurry. It is not only programming or coding that falls into this realm, online demonstrations, search engine optimization, technical and content writing outsourcing all fall under this category… and the list goes on and on!
Introducing new skill sets with augmented team members
Not only is this a more productive means of introducing new skills it turns out to be more economical as well in comparison to externally sourced training and development programs or running internal training programs. The best example I have to cite for this is a recent engagement where my company provided senior team members to augment an in-house team for a software development house in the Europe, the client’s objective was to add Ruby on Rails to their existing skill set and having already invested in a few externally run training courses with no significant result they were open to my suggestion of ‘learning by doing’, our combined teams worked on a project over a four week period and though the learning curve was steep for their in-house resources their competence levels, confidence and understanding of the frame work got a steroid boost no in class course or online training materials could have delivered. We continued to mentor their Rails team for s few weeks following the engagement and now their Rails team is as good as any around the third rock!… it ought to be no revelation to anyone that real learning takes place by observation and by getting your hands dirty!
Benchmarking internal capabilities against an external service provider
Everyone, every company needs to test itself frequently. Though every challenging project is a test of skills and attitude we all should benchmark ourselves against those who are niche specialists or those we consider better than ourselves at a given function. I know peers in the industry do not agree with me on this approach but hey it is not the next man (or woman’s) validation that should drive our desire to better ourselves! it should come from within. We occasionally use third party service providers to do just that for our selective internal functions, our favorites being usability analysis and software testing where there are a number of specialists available to approach to benchmark our own capabilities against a niche specialists and though the gap is not of any significance (which is great news for us and our clients) there are always a few new things we learn on every engagement. I would encourage every software house to indulge themselves in such an exercise every now and then if only for the gloating factor!
R&D and innovation: getting to a prototype at a fraction of the cost
The general perception is that innovation is not the realm of an offshore software service provider, this is simply untrue! not just my own company but quite a few amongst peers work at the bleeding edge of emerging technologies and product innovation. Now more so than ever client briefs assume the software service provider will deliver that elusive silver bullet not yet defined. Tactical outsourcing of innovation is much more objective and quantitative than that! The most common form this takes is the off-shoring of your prototype product, reengineering of an existing one or testing out a ‘back of a napkin’ concept on a shoe string… its all outsourcing of software R&D/innovation. This is an area where only the best of software development providers survive! and size does not matter!
joint onshore/offshore innovation is not as simple as suggesting alternatives as some have come to believe and expect in the industry! it is a managed positive conflict that creates value in the output of both the teams. It is a balance of relationships between very bright and talented individuals and teams… lets not mince words aingh! and where it works it delivers value beyond plans and expectations and leads to a more strategic view of the outsourced providers capabilities and value in the value chain.
Relieving capacity issues
Some may argue this the most common reason for software houses to outsource projects on an on-demand basis, be it special projects or unexpected demand outsourcing is the best method to bridge the gap. There is a preconception that such engagements are exclusive to software development; as if it is only the developers who may be maxed out in a tech company! such temporary relief can take the form of complete project/product builds to documentation of an upgrade being released over the winter break, testing, content writing… even deployment of applications have been outsourced to trusted partners on a tactical basis.
It is often the case that a tactical decision to outsource software development offshore leads to a strategic one following the success of the tactical option taken for any number of reasons.
And It is not necessary that your on-demand needs exist in isolation to any ongoing strategic outsourcing arrangements you may have in place already, it is often the case that on-demand services are utilized on top of existing longer term strategic outsourcing contracts. All this of course depends on successful delivery and realization of the benefits the success yields.
I hope this ‘wasn’t meant to be this long a’ post has given you enough food for thought to last you through the festive break! my next few posts will get closer to selecting an offshore software services partner (as a few of you have emailed for)… what to look for, what to avoid and how to assess which one of the shortlisted are best suited for your business.
And being the last post before 2011… have a fabulous Christmas eve, day and a new year break, good luck with your resolutions (peace on the third rock goes without saying!) and thank you for following the blog, I look forward to sharing more of my experiences with you in the new year!