Outsourcing software development saves you money, right?
Well, maybe…but it also raises risks, especially when it’s offshored.
You need to weigh the cost savings from outsourcing coding against the costs that will be driven by the management overhead, needs for more comprehensive requirements documentation and, for offshored projects, off-hour meetings.
The more critical the system is going to be for the business, the more important it is that you consider your options in managing risks in outsourcing the development of the software.
Why? Because there are significant risks that can result, for example, in your spending far more money than if you’d done the coding in-house. And if you off-shore the software development, the risk factor goes up.
1. Outsourcing tech services requires more knowledgeable management oversight.
Oversight is needed because when you outsource a key technology service, even one less critical than software development, it raises the requirement for your technology vendor management skills. Many firms approach outsourcing as though there’s not much time required from internal resources. Not so.
2. Outsourcing the coding of your software significantly ups your risk, especially offshore.
- Software programmers, especially the team leads, must have an in-depth grasp of the business needs, drivers, and key success criteria. Cultural issues – brought about when coding is sent offshore – can impact the design in many unforeseen and surprising ways. (Note that this isn’t as true for the well-established offshore shops, but still worth noting.)
- Software architects must be closely attuned to the business needs and if your software architect is part of the outsourced team, you may want to have some in-house oversight for quality assurance in the architecture. It will be monies well spent – consider it business insurance. (Note my blog post on the business needing to be involved early in software architecture requirements.)
It’s worth mentioning that regardless of how well you think the team has spelled out requirements there can be misunderstandings and other snafus. Programmers make countless choices – some minor, some not – as they craft their code. This is where having a strong in-house project leader, overseeing requirements and design, can identify and get misunderstandings fixed before they become problems. Conversely, if your vendor puts the leader into your offices, that can also work out well.
3. Consider a hybrid approach to your outsourcing any software development.
Having seen numerous instances of serious problems with outsourcing development (most notably off-shored development), I’d recommend that you spend the time upfront to evaluate the vendors, get references and check them – thoroughly. And consider a hybrid approach, especially for any offshore effort, even if the firm has “local” leadership:
- Either assign an internal resource to oversee the vendor through the requirements gathering, prototyping, design and testing – or hire a consultant who’s been there before. (I’ve assisted many firms with this type of endeavor, successfully!)
- For any system development effort that includes databases, reporting, special business rules or security, bring in an application architect consultant for periodic checkpoints (if you don’t have one in-house). I promise, this will be monies well spent.
Some other ideas on getting started are available here from CIO.com.















*An impressive share, I just given this onto a colleague who was doing a little analysis on this. And he in fact bought me breakfast because I found it for him.. smile. So let me reword that: Thnx for the treat! But yeah Thnkx for spending the time to discuss this, I feel strongly about it and love reading more on this topic. If possible, as you become expertise, would you mind updating your blog with more details? It is highly helpful for me. Big thumb up for this blog post!
Thanks for the feedback – and I can appreciate your sensitivities around outsourcing. I am actually a strong believer in outsourcing specific services, but think that one has to be careful in how one approaches outsourcing. There will be more blog posts on this subject in the next few weeks, including more on utilizing outsourcing via cloud services. Thanks again!
Hey, great post. Can you tell me what theme you’re making use of? I would like to use the theme for my insurance web page. Thanks once more for the details and maintain up the genuinely wonderful work. I will likely be returning and will check your further posts. I would like to advise you that you can enhance your weblog by generating it simpler to get your RSS feed. I couldnt uncover it very first time i visited your web-site.
Tobi, thanks for your comment. You’ll see at the bottom of my website Pageline’s logo – it’s their theme. Also, the RSS feed is available via the large icons on the right-hand side – do you think it would be easier for readers to subscribe via my having an RSS icon below each post? Thanks again!
i like the theme and colors that you used for your blog, is it a custom theme ? “`’.–
Yes, Lencioni, it’s a premium theme. See my post on options for small businesses for further info.
Good talented people from other countries are hired as freelancers for outsourcing and this is the base of the development in most companies.
Kelly, I agree that this works for smaller businesses and is usually successful – but not always. It depends on how well the requirements are defined and managed through their lifecycle, the communication tools, prototyping and SQA.