Years ago there was a real buzz around application outsourcing. Everyone was reading about how outsourcing was going to open up huge armies of cheap developers around the world. Local companies would disband their existing development teams to reap the financial windfall that these cut-price teams would bring. Many big players jumped on this bandwagon, and most failed! Entirely replacing your existing team – the team that had helped innovate, envisage and realise your product, who had years of knowledge in your customers’ needs and wants and who were committed to your success – with a group of people with none of that implied knowledge and background was a recipe for disaster.
Other organisations, though, realised that there are significant advantages to blending a team between local and remote resources, and that in specific circumstances the results can be hugely advantageous. Those organisations continue to use outsourced development teams in conjunction with their traditional local teams, and represent great case studies on some of the reasons why outsourcing can and does work.
Here are some of those reasons that may well apply to your organisation today, and might make you reconsider what you think about outsourcing.
Getting to Version 1
You have a great idea for a new product, and you know the target market who have confirmed that they want this – now! Time is of the essence! You know that time to market is a key element in cracking that market, but you have limited bandwidth within your development team.
Outsourcing allows you to quickly and easily access that burst capacity that will make getting a beta product into the hands of your sample group. While the remote team can be iteratively developing and delivering progressively more mature versions of your product, your internal team can be evaluating the outcomes. Working with your clients on what refinements need to be included and feeding that back to the remote team in a continuous loop, you can realise the huge advantages that this type of Agile development affords you.
You have a successful product with a valuable client list, and you know that it is vital that you maintain momentum in the market by bringing new and updated functionality to your market. Now you have a difficult decision to make. Your current development team are key to supporting your existing clients, but are exactly the same team that you want creating your ground-breaking new version. How can you keep your hard won clients supported and still bring the new version (or product) to market in a reasonable time?
By supplementing your existing local team with outsourced resources during the transition, you can effectively achieve both goals. The ability to quickly upscale your team as and when you need it, you can maintain business momentum and continuity for your valuable clients.
There are a lot of elements to your software development, and most of the key skills that you need on a day to day basis are covered by your talented team. But do you have a Database Design specialist in-house? How about an experienced Test Engineer? You probably don’t need such a person in your team full-time, but at the right time that person may have a huge impact on the success of your project.
Why not augment your team with these specialist resources to work within your team when you need them? You can save yourself the hassle of trying to recruit short-term people locally (with all of the HR overheads that entails), and grab a proven expert to give your team the input they need for exactly as long as you need.
Your Best Structure
Your development team probably represents years of combined experience in your corporate culture, your clients, and how you get things done. They are also people who have ambitions for their careers beyond simply coding. As good as they are at pumping out code, having them just do that day in and day out represents a serious opportunity cost for you.
Why not consider pushing them up the value chain in your organisation? Imagine if they were free to work more closely with your clients and management, develop their project and team management skills, and spend their efforts brainstorming great new ideas for your products. They stop being expensive and narrow skills on your payroll, and start adding more value to your business.
Adding a remote team (which your existing team members will manage) to handle the heavy lifting frees your key people to add to your bottom line. It also enriches their careers, reducing the risk of them moving on.
Testing – The Unrecognised Key
Everyone tells you that testing is vitally important. Experience tells us, however, that even the best developers generally make poor testers. Developers will test that code does what they expect it to do, but cannot usually anticipate what end users might think and do with their applications.
Outsourcing comprehensive testing of all aspects of your product to a specialist team who were not involved in its construction before it’s launched just makes good sense. It takes the pressure off your developers who are already busy, and ensures that what you ship to clients is the best product possible.
Read the original post at Mitrais.com