6 Risks of Outsourcing Software Development and How to Avoid Them
If you’re like the many technology and technology-driven companies we’ve worked with through the years, at one time or another you’ve considered outsourcing some area of your software development. Whether to save money, reduce a development backlog, deliver quicker or because it can just be too hard to find and hire quality talent, outsourcing has the potential to address key needs in a cost-effective manner. But there are risks with outsourcing that can turn the right decision into the wrong one.
The most common causes of risk within an outsourcing relationship include:
- Poor communication between parties
- Settling for the lowest bid
- Unclear delivery expectations
- Rushing the outsourcing transition
- Ignoring company culture in outsourcing decisions
- A lack of understanding of ‘the big picture’
Read on to learn a little more about each of these risk-creators and some pointers on how best to avoid them.
1. Poor Communication Between Parties
Any discussion about the common pitfalls associated with outsourcing a development project should start with communication, quite simply because it’s the issue from which so many others stem. Coordinating across time zones, working through language barriers, even small cultural differences, all cause real — and often unforeseen — gaps in understanding between the parties.
Make sure you’ve established a clear point person with the company your outsourcing work to, so messages are flowing through organizational hierarchies on each side. Hold regular meetings rather than relying on the proper interpretation of reports. If you’re outsourcing development to a company with a large workforce overseas, it helps if there’s at least one on-shore office staffed with project managers skilled at problem-solving and collaboration.
Make sure to explicitly acknowledge where complicated factors make miscommunications likely and develop methods for clearly communicating in these specific instances. As a rule, it’s better to over-communicate at the beginning of a project and dial it back as both parties develop familiarity with one another, rather than ramping up communication as issues begin to emerge. Like any new member of your team, your outsourcing partner will require the most attention as they begin learning your business.
2. Settling for the Lowest Outsourcing Bid
If cost is your main driver, it will often be tempting to settle for the lowest bid. However, the stated cost in a proposal isn’t always the overall cost to your organization. You need to consider the potential impact of a partner who hasn’t delivered a similar engagement in the past and of one who isn’t “right-sized” to your organization — and therefore isn’t able to give you the focus and commitment you need. Often, newcomers to a service or industry don’t truly understand what’s required, so their bids may be too low.
The onus is on you to read the contract to make sure it covers all the services you need. If you expect the outsourcer to provide project management, then make sure it’s accounted for in the timeline and those costs are included. Explicitly pinpoint the reason for outsourcing a project with your intended partner. Make sure there’s a common understanding of the deliverables and that those deliverables are established by the contract. Finally, select the partner that is best-suited to deliver the project, which may or may not be the one with the lowest bid.
To learn more, see our guide to selecting software development partners.
3. Unclear Delivery Expectations
Once project objectives have been clearly delineated, the next step is getting both parties on the same page in terms of deliverables. Without a clear-cut understanding, delays and change orders can drive up costs, extend project timelines and turn a good relationship into a bad one.
Be transparent and realistic about your expectations for delivery, not just in terms of a final deadline but also with significant milestones and checkpoints along the course of a project. You and your team will have a role to play in any outsourced engagement, so be realistic about how you may impact the on-time completion of deliverables. Also, be transparent about your expectations for quality from the outset and ensure you’ve chosen a partner that’s capable of meeting them.
4. Rushing the Outsourcing Transition
Entrusting any part of your business to a partner organization is a big step for any company. The impact hits people, processes and systems, and you should evaluate each of those areas to understand, plan for and address them.
Prior to handing off a project, perform an audit on the technology, infrastructure and management structure necessary to ensure its smooth transition. Treat it the same way you would when you are acquiring a new company. Have a clear picture of what you’re outsourcing, how it gets done today (if at all), who is involved, how they work, how they communicate, tools used, how problems are solved, etc. Look beyond the formally defined things to the informal ways people work and engage. Those are the areas that are typically missed in an audit. Make sure anyone even remotely involved on your internal team is informed and understands the objectives. The internal rumor mill can quickly derail a project. Don’t let it.
5. Ignoring Company Culture
Outsourcing is designed to help your business, but it can be a source of tension with regard to company culture when not executed properly. It’s important to find a partner that does business in a way that aligns with your own company’s core values. For example, if you place a high value on low employee turnover in your company and a potential outsourcer is more like a revolving door in terms of staff, they’re likely not a good fit.
Know your own company’s value system, identify what’s important to you and be direct in your initial questioning of the outsourcer. To the example above, ask them their employee retention rate and get specific. Ask them how long your assigned project manager and the team members assigned to your project have been with the company. Don’t hesitate to ask the tough questions now; it will be a lot harder to ask them later.
And of course, don’t forget to address with your team key aspects, such as job security and job responsibilities, in light of the new relationship.
6. A Lack of Understanding of The Big Picture
CIOs know that one of the most important factors in outsourcing development projects is a clear understanding of how an outsourced project fits into a company’s overall strategic goals. This is because one project or outsourced aspect of operations, when not executed properly, can have a knock-on effect on every other project in a company’s portfolio. And one great project executed well can positively impact other projects. Work with your outsourced team to make sure they understand your company, your objectives and how the project they’re working on fits into the big picture.
When briefing an organization to which you’re considering outsourcing a project, make sure to explain not just the project itself but also how that project aligns with your goals as a company. Show them where the project fits in with the other projects underway, and clearly communicate dependencies. Finally, ensure you select a partner that has the capacity and skill to engage with the big picture on a strategic level.
Putting the Pieces Together
Outsourcing can be a highly effective tool for organizations when the processes involved are implemented and maintained correctly. When used effectively, outsourcing can cut costs, increase delivery speed and free up your internal team to focus on other priority items.
When you proactively work to avoid the causes of outsourcing risks, such as unclear communication, rushing the transition or failing to properly emphasize the big picture, the process can and does function smoothly. With a little hard work up front, your next outsourced development engagement should deliver exactly what you need!