In article two we have explained the benefits of Global Software Development (GSD) and its heavy increase within Small Medium Enterprises (SME’s). GSD is mainly used to gain a competitive advantage through efficiency in time-to-market and effective resource allocation. As a consequence; software developers and management have to collaborate with their counterparts all over the world. This results in linguistic, geographic, cultural and temporal risks. The benefits of GSD will only be achieved when the risks are properly managed.
Managing the largest risks in Global Software Development
These are the biggest risks in outsourcing software development, found in a study by Nakatsu and Iacovou:
1. Lack of top management commitment:
The project can face challenges such as political battles, delays and rejection if management is not giving any meaningful support. To ensure support from top management, make sure the benefits and status of the project are properly communicated along with a thorough vision for the future.
2. Original set of requirements is miscommunicated:
Due to distance, there is a large risk of miscommunication between the developers and end-users. To manage this it’s important to have communication control systems in place. In order to reduce the chance of miscommunication, you can plan more face to face meetings and introduce a formal communication atmosphere.
3. Language barriers in project communication:
Next to distance there is a language risk as well. Even when both parties are sufficient in English there is still a risk at cultural assumption (sarcasm, formal informal language, humor etc.). Also, accents and slang can create problems and slow down a project. To manage this, it’s also important to have a communication control system in place where a formal business language like English should be the way of speaking and writing.
4. Inadequate user involvement:
Many offshore outsourcing projects find difficulties in effective end-user involvement. This will lead to conflicts, delays, lack of trust etc. In this case both parties must plan and control the project in such a way that end-users keep involved by testing and evaluating the software at particular points in time.
5. Lack of offshore project management know-how:
Many managers are unknown with offshoring. This lack of offshore expertise results in badly monitored projects and the incorporation of the new software. To get effective offshore project management it’s important to educate or hire project managers, or simply hire a consultancy company that can help you manage an offshore project.
6. Poor change controls
It’s not uncommon for requirements to change since the initial plan. Justified or not, changes in requirements have to be subject to a “change control system” or a project will be delayed, overrun and get many more problems. Therefore, implement a change control system where changes are documented, justified and understood by both parties.
7. Lack of business know-how by offshore team:
Most of the time the offshore teams are not familiar with the business context the receiving company is in. This lack of business know-how can cause delays because the developers may develop from their own understanding of what business context the receiving company is in. To lower this risk, outsource to a country or company that is already familiar with the business context and take time explaining your business context to the offshore team.
8. Lack of required technical know-how by offshore team:
Overseas recourses will not always have the quality as you expect in-house. Knowledge and skills are often misinterpreted by vendors. Managing this risk is difficult. Listen to recommendations from people in the industry, testing the skills beforehand (e.g. with a small project), educating the developers and selecting the right offshore partner could all increase the technical know-how of your offshore team. Most important is making sure the knowledge and skills are on your desired level.
9. Failure to consider all costs:
The idea of offshoring and outsourcing your software development is in certain cases to reduce costs and gain a competitive advantage. It’s very painful to come to the conclusion that offshoring was eventually more expensive than anticipated and you ironically lose your competitive advantage because of outsourcing your software development overseas. All the points above regarding managing the possible risks will cost you time and thus money!
Here are some costs that you should take into consideration:
• Costs of selecting a good vendor can take up many hours. Then you also have to think about possible legal fees, travel expenses, documenting requirements etc.
• Transition costs. Think about travel costs, risk reduction costs and training costs where your own employees and offshore employees aren’t producing anything.
• Cultural costs involve the costs to reduce and manage cultural differences
• Managing offshore contracts will costs you money in the form