
Today, a paper was presented at the ISCOB conference based on the work of coMakeIT research intern Teun van Liempd. The subject of the paper is offshoring in small and midsize companies, and the fiield of research has been the clientele of coMakeIT. Some remarkable findings where done, such as a proposed model of co-operation for different offshore development setups, that will increase chance of success. The research is unique in the way that never before an explorative research was done amongst a group of product software companies that all are actively doing offshore software development.
Find the complete article here in pdf (in English)
Results
From the empirical study, some surprising results have been found. First, the companies within this case study mainly choose for offshore software development due to capacity reasons (eight out of nine). Cost reduction was on a second level. This interesting finding was also recently recognized as trend by Lacity et al. (2008). The reason to outsource is shifting from cost reduction to quality and capacity reasons. The Dutch product software companies from this research had problems in finding enough qualified personnel to support the growth of the company. This is in contrast with the general finding in the field that offshore outsourcing is primarily for cost reduction.
Another observation was that technology was not a factor influencing possible success or failure. Different types of software in different technologies are being developed successfully.
Communication is found to be of importance and when teams are mixed (development teams consist of Dutch and Indian employees), communication is very important. Almost all project managers and team leads mentioned the importance of communication in offshore software development. Some stated that this was critical to the success of their projects.
Another important factor in this research was the use of an iterative software development method. Two larger companies with a single software product in development (Company D and Company J) used Scrum as their development method. Three companies within this study used elements of Scrum, mainly because the team size was too small to cover all the roles within this methodology. Four companies did not use any formal methodology. The development was planned, tested and executed according to the project that was at hand. This method has been labeled ad-hoc.
Finally, the team formation has been found to be related to possible success. There are generally two options: separated or mixed. A separated team setup implies that the Indian team is viewed as independent from the exciting team. The mixed approach treats all employees equally regarding their geographic location.
The following factors are influencing success as derived from this case study:
1. Team size.
2. Communication.
3. Software development methodology
4. Team formation
The most profitable advantage was, off course, the cost reduction. All Dutch interview candidates stated this. Also, the availability of skilled people was recognized many times. The top 3 of advantages that client companies experienced is:
1. Lower costs
2. Availability of skilled people
3. Faster development
Communication and opportunistic personnel were the most common problems within the companies. The Dutch clients felt that Indian employees were often too positive in estimating their own skills. Also, higher overhead costs were recognized. The top 3 list:
1. Communication
2. Opportunistic personnel
3. Higher overhead costs
Analysis
For this analysis it is good to first consider the context of this project. The context of this research is software development in small to midsize software companies. Also, the case study mainly included product software companies. The goals these companies have are capacity related. These companies are trying to expand their development capacity through dedicated offshore teams. This analysis may not hold for all offshore software development in general.
The use of a software development method and the team formation are important characteristics influencing possible success. These are combined into co-ordination mechanisms. There are in total 6 different types of co-ordination used within the set of clients for this research. These co-ordination mechanisms are shown in table 1. The co-ordination mechanisms are based on the results of the empirical study. Because this study has an explorative and qualitative nature, the co-ordination mechanisms are therefore propositions and are not quantitatively tested.
The co-ordination mechanisms are formed from two results: the use of a software development methodology and the team formation as discussed in the previous section. The goal of these co-ordination mechanisms is to clarify the possibilities in team co-ordination when choosing offshore software development. It seems different types of companies and projects can best use a specific co-ordination mechanism to maximize potential success.
Companies which have a single software product in development and want to expand its capacity can be advised to choose for a Mixed iterative mechanism. One or several iterative teams could be set up consisting of domestic and offshore personnel. These employees work together in an iterative setup, possibly Scrum or another Agile software development method (Abrahamsson et al. 2002). This setup encourages cross-border team work so new employees learn from the existing ones. Important is to have some overlapping working hours to support real-time communication.
For smaller companies that do not have an own software development department, Separated methodological can be advised. In this setup, there is a single team of Indian employees who are controlled by the client organization. Due to the generally small size of these teams a full methodology often cannot be used. When the team grows, a shift can be made to Separated iterative.
When a company has multiple software products in development, the Separated iterative mechanism can also be used. Each team should get their own responsibility and ownership over the development of this product. Feedback from the market should be shared with the development team, so the employees feel responsible for the product. Working in this way requires a lot of trust in the Indian team and the vendor that provides the employees.
The overview of the co-ordination mechanisms is given in table 1. An overview of the advantages and disadvantages is given next.
Mixed iterative
Advantages:
• New employees learn from existing ones.
• Fast team setup.
Disadvantage:
• Lots of communication and effort is needed.
Separated iterative
Advantages:
• Each team can focus on own project.
• Less communication is needed on operational level.
• High productivity.
Disadvantage:
• Team does not learn from existing domestic employees.
Separated methodological
Advantage:
• Possibility to setup small offshore teams.
Disadvantage:
• Not easy to maintain control over the team.
Mixed ad-hoc
Advantages:
• Possibility for project oriented or multi product companies.
• New employees learn from existing ones.
Disadvantages:
• Lots of communication and effort is needed.
• Ad-hoc approach is rarely optimal.
Separated ad-hoc
Advantage:
• Possibility for project oriented or multi product companies.
Disadvantages:
• Lots of communication and effort is needed.
• Not easy to maintain control over the team.
• Ad-hoc approach is rarely optimal.

