03 IBM Industry Practice - Challenges in Offshore Software Development From A Global Delivery Center
03 IBM Industry Practice - Challenges in Offshore Software Development From A Global Delivery Center
03 IBM Industry Practice - Challenges in Offshore Software Development From A Global Delivery Center
net/publication/221495574
CITATIONS READS
14 1,580
1 author:
Ilario Musio
IBM
1 PUBLICATION 14 CITATIONS
SEE PROFILE
All content following this page was uploaded by Ilario Musio on 21 April 2020.
Ilario Musio
IBM
[email protected]
http://www.ibm.com
1 Introduction
The IT industry is undergoing a great change in how software is developed. With
the world getting flatter, faster and smarter, more and more ideas arise on how
to execute business in a way to benefit economically and technically. Offshore
outsourcing is one such solution multinational IT corporations have turned to
for cutting development costs to remain competitive. Since distributed projects
started to fail [13], companies and researchers have been searching for new ways
to improve the function of globally distributed teams [2]. One major investment
has been the construction of global delivery centers spread all over the world,
especially in emerging countries such as India. These centers serve as outsourcing
partners with the advantage of being within the same corporation [4].
The main benefits are:
– Shorter project set-up times due to internal contracting
– Standard infrastructure and communication channels
– Consistent methodologies and processes
– Increased security and confidentiality
– Protection of proprietary knowledge.
O. Gotel, M. Joseph, and B. Meyer (Eds.): SEAFOOD 2009, LNBIP 35, pp. 4–13, 2009.
c Springer-Verlag Berlin Heidelberg 2009
IBM Industry Practice: Challenges in Offshore Software Development 5
IBM operates global delivery centers in eight countries across four continents.
The largest division is located in India, where approximately 60,000 people are
employed.
While IBM Switzerland has been delivering offshore projects to India for many
years, collaboration between shores continues to be a challenge. In response, it
started the Global Delivery India program [19]. Ten Swiss application developers
were sent to India in 2007. They were each assigned to different offshore projects
for a year, where they worked as members of the development teams. The goal
of the program was to gain experience within a globally distributed software
development team, identify collaboration barriers between shores and define best
practices for a globally integrated software delivery methodology.
Taking part in this program gave participants the opportunity to view the
distributed software engineering process from the offshore team’s point of view.
It gave them a first-hand look at how Indian colleagues approach and exe-
cute software development, as well as the way in which the project deals with
cultural differences, distributed communication strategies, and offshore project
management.
Traditionally, IBM uses its corporation-wide methodologies to manage soft-
ware development projects. Its methods and processes are executed thoroughly
and are being constantly improved. However, before those methodologies can be
adapted for distributed projects, a number of questions must first be answered:
– Where do the methodologies currently being applied fail?
– How can those methodologies be efficiently applied on offshore projects?
– What kind of problems go undetected in offshore software development
projects, and how can they be solved?
– At what points in the project lifecycle do coordination and communication
issues arise?
This paper discusses the experiences and lessons learned during the Global
Delivery India program. All experiences are based on qualitative assessments
on seven different global delivery case studies, as well as surveys involving the
program participants, project managers, and other stakeholders on both shores
in Europe and India. The applied survey methodology is described in more detail
in section 4.
The following sections describe experiences that directly affected the execution
of the offshore projects. Recommended approaches are presented in separate
subsections.
6 I. Musio
3 Experiences
Review all practitioners hired offshore and make sure to assemble a skillful
and competent team. Delegating of hiring processes to an offshore representative
should be kept to a minimum, as skill requirement concepts can vary among
different societies. This is especially important when new hires join a team.
When hiring, do not rely solely on résumés and recommendation letters. Phone
interviews should be the preferred hiring method. Candidates should be assessed
on the required skills before being considered for the position. If training is
required prior to joining a team, verify that the candidate successfully completed
the training.
3.3 Methodologies
Major software corporations use their own methodologies and processes for guid-
ing and managing software projects e.g., Rational Unified Process, XP, Agile,
SCRUM, etc. These methodologies are being adapted for offshore outsourcing
[11], [6].
As experiences from the case studies revealed, it is crucial for the success of
the project that everyone is aware of the in-house processes and tools.
Awareness of standard methods helps all practitioners clearly understand their
roles within the project and provides a common vocabulary based on clear def-
initions. Those advantages improve productivity by reducing ambiguity which
enhances effective project execution.
Recommended Approach: Provide Information about Methodology. Choose a well-
defined methodology, and propagate it not only to the onsite project managers,
architects, and developers, but to the entire offshore team as well. The method-
ology provides a bigger picture, and it allows offshore practitioners to proactively
contribute to the project.
3.4 Creativity
Work tasks and deliverables in which creativity and innovation are important
should not be sent offshore [12]. Innovation occurs when programmers come up
with creative ideas while they are working. If the offshore teams do not have
creative programmers, potential innovation might be lost in the project.
Some deliverables in particular require the client to be close at hand, so as to
involve them early on and avoid unnecessary acceptance iterations.
In one of the case studies, the graphical unit interface module was developed
offshore. Though the functionality was complete, the screen arrangement did not
meet the client’s expectations. This led to additional acceptance iterations that
could have been avoided.
Recommended Approach: Keep Creative Work Units. Examples of creative and
innovative deliverables are e.g., Graphical Unit Interface screens, interaction
process definitions and other Human-Computer interaction models.
Those deliverables should be developed on site and not assigned to the offshore
team to avoid prolonging the communication process.
8 I. Musio
Nevertheless, promote innovation and creativity in the offshore team. Let the
Indian colleagues perform autonomously and motivate them to suggest improve-
ments. After a tighter relationship is built and the Indian team gets to know the
client better, increasingly creative tasks can be sent offshore.
3.5 Productivity
3.7 Communication
3.10 Deadlines
Deadlines delineate the project boundaries and form a basis for milestone manage-
ment. Unfortunately, different cultures perceive deadlines differently. In Switzer-
land, adhering to deadlines goes without saying, while Indian colleagues tend to be
more flexible in managing their time. They may not view a deadline as imperative
unless its importance has been highlighted explicitly.
Furthermore, many Hindi speakers use the same expression for the following
two sentences: “I will do it” and “I shall/might do it.” Using this expression
makes unclear whether it will actually be done or not. When this expression is
used, be sure to verify the true meaning that lies behind it.
Many corporations use knowledge bases for gathering reusable work products
and lessons learned from past projects. Using those knowledge bases can lead to
improved performance without reinventing the wheel.
Not all team members might be completely familiar with knowledge databases.
In most of the studied projects, there was almost no awareness of the corporation-
wide asset repository.
3.13 Others
During the Global Delivery India program, other factors emerged that can im-
prove distributed project execution. Make sure to:
– Maintain a friendly but authoritative relationship with the offshore team
– Define responsible entities that are responsible for sub-projects
– Define an internal contract or document of understanding which includes rules
that enable a smooth collaboration, and distribute it to the whole team.
4 Survey Methodology
The approach for the survey methodology is based on qualitative interviews and
informal discussions. Seven projects were chosen as research cases. All projects
are distributed software development projects, where the client is based in a
European country and the main part of the delivery takes place in India. The
types of projects are diverse, containing development and maintenance projects,
as well as successful and more challenging projects.
The research data consisted of information taken from interviews of project
stakeholders from both shores in Europe and India. Furthermore, different roles
and positions in the project were considered. Depending on the role of the intervie-
wee, the interviews were adapted to focus on the corresponding tasks in the project.
All information gathered from the interviewee is based on their personal expe-
riences with globally distributed collaboration practices, which included topics
such as cultural diversity, communication approach, methodology adoption, tool
usage, and infrastructure set-up.
References
1. Bloch, M., Jans, Ch.: Reducing risks in offshoring projects. The McKinsey Quar-
terly, McKinsey&Company 3 (2005),
http://mckinseyquarterly.com/PDFDownload.aspx?ar=1634
2. Braun, A.: A Framework to Enable Offshore Outsourcing. In: International Confer-
ence on Global Software Engineering (ICGSE), pp. 125–129. IEEE, Los Alamitos
(2007)
3. Carmel, E.: Global Software Teams: Collaborating Across Borders and Time Zones.
Prentice Hall, Englewood Cliffs (1999)
4. Carmel, E., Agarwal, R.: The Maturation of Offshore Sourcing of Information
Technology Work. In: Information Systems Outsourcing, pp. 631–650. Springer,
Heidelberg (2006)
5. Christiansen, H.M.: Meeting the Challenge of Communication in Offshore Software
Development. In: Meyer, B., Joseph, M. (eds.) SEAFOOD 2007. LNCS, vol. 4716,
pp. 19–26. Springer, Heidelberg (2007)
6. Cristal, M., Wildt, D., Prikladnicki, R.: Usage of SCRUM Practices within a Global
Company. In: International Conference on Global Software Engineering (ICGSE),
pp. 222–226. IEEE, Los Alamitos (2008)
7. Hofstede, G.: Cultural Dimensions, http://www.geert-hofstede.com
8. Hofstede, G., Hofstede, G.J.: Cultures and Organizations: Software of the Mind.
McGraw-Hill, New York (2005)
9. Iacono, C.S., Weisband, S.: Developing Trust in Virtual Teams. In: Proceedings of
the Thirtieth Hawaii International Conference on System Sciences, pp. 412–420.
IEEE, Los Alamitos (1997)
10. Itim Culture & Management Consultancy, http://www.itim.org
11. Kornstädt, A., Sauer, J.: Tackling Offshore Communication Challenges with Ag-
ile Architecture-Centric Development. In: Proceedings of the Working IEEE/IFIP
Conference on Software Architecture (WICSA), pp. 44–47. IEEE, Los Alamitos
(2007)
IBM Industry Practice: Challenges in Offshore Software Development 13
12. Matloff, N.: Offshoring: What Can Go Wrong? IT Pro., 39–45 (July-August 2005)
13. Mauch, C., Wildemann, H.: Erst analysieren, dann outsourcen. IO new manage-
ment 9, 32–37 (2004)
14. Meyer, B.: Design and Code Reviews in the Age of the Internet. Communications
of the ACM 51(9), 66–71 (2008)
15. Niinimäki, T., Lassenius, C.: Experiences of Instant Messaging in Global Software
Development Projects: A Multiple Case Study. In: International Conference on
Global Software Engineering (ICGSE), pp. 55–64. IEEE, Los Alamitos (2008)
16. Parvathanathan, K., Chakrabarti, A., Patil, P.P., Sen, S., Sharma, N., Johng, Y.:
Global Development and Delivery in Practice: Experiences of the IBM Rational
India Lab. IBM Redbooks (2007)
17. Spang, S.: Five trends that will shape business technology in 2009. The McKinsey
Quarterly, McKinsey&Company (2009),
http://mckinseyquarterly.com/PDFDownload.aspx?ar=2296
18. Storti, C.: Speaking of India: Bridging the Communication Gap When Working
with Indians. Nicholas Brealey Publishing (2007)
19. Namaste! – IBM Schweiz beschreitet neue Wege in der Software-Entwicklung.
Think! Kundenmagazin der IBM Schweiz, IBM Switzerland, May 2007, p. 5 (2007),
http://ibm.com/ch/think/archiv/42007/pdf/IBM_Think_407_de_72.pdf