Software Engineering
Software Engineering
“Global Software Development”
“Global Software Development”
Werner Heijstek, Leiden Institute of Advanced Computer Science
Lecture Series for BSc. “Informatica en Economie” year 2
2 | 51
Who Am I?
Werner Heijstek
Ph.D. Candidate at LIACS (Full-time)
In the Software Engineering Group headed by Dr. Michel Chaudron
Lecturer for “ICT in Business” M.Sc. program and “Computer Science” B.Sc. and M.Sc. Programs
Research in software engineering
Software Architecture and Design / UML Global Software Development
Empirical Software Engineering
3 | 51
What is a Ph.D. Candidate?
Bachelors (B., B.Sc., B.A., Ing.)
3+ years
Masters (M., M.Sc.,M.A, Drs., Mr., Ir.)
2+ years Doctorate (Dr.) 4+ years (“Ph.D. Candidate”) Doctor of Philosophy (Ph.D.) “Postgraduate academic degree awarded by universities”
"Philosophy" does not refer
to the modern field of
philosophy, but to "love of wisdom" (the original Greek meaning)
Full Professor (Professor) Associate Professor (UHD) Asistant Professor (UD) Post Doctoral Researcher
4 | 51
Global Software Development
Introduction definition, synonyms, volume, locations and sources,
motivations
Distance
types of distance, overcoming distance, communication means
Sociocultural challenges
Models (Hofstede, Trompenaars)
5 | 51
Definition
“Software work undertaken at geographically separated locations across national boundaries in a coordinated fashion involving real
time (synchronous) and asynchronous interaction”
Sundeep Sahay (Universitetet i Oslo)
Involves communication for information exchange.
Involves coordination of groups, activities and artifacts so they
contribute to the overall objective.
Involves control of groups (adhering to goals and policies) and
6 | 51
Synonyms and Related Terminology
Sourcing Umbrella term; includes eg. “insourcing”, the practice of
utilizing external resources to carry out some function.
Global Software Development (GSD)
Synonyms: Distributed software development, Multi-site
software development or Offshoring
Outsourcing
Is not limited to information technology Nearshoring
Outsourcing processes to a nearby foreign country
7 | 51
More Related Terminology
Rightshoring Most appropriate and efficient combination of “shoring-types”
(CapgeminiTM) (Synonym: Bestshoring)
Backsourcing (or: Reshoring)
bringing IT functions back in-house after they have been
outsourced
Sameshoring
Offshoring to a country with a similar cultural background Homeshoring
8 | 51
Why is Global Software Develoment Relevant?
More and more the rule, rather than the exception.
Even referred to as “The new standard mode of
software development”
Most of the Fortune 500 companies apply GSD
But: GSD is also associated with
higher cost and
9 | 51
Global Software Development Volume
Most of the Fortune 500 companies use GSD, and over 185 of
these outsourced to India alone
Upwards to 50 nations are participating in GSD
IBM, British Airways, Alcatel, British Telecom and General
Electric have moved parts of their software development to countries like Ireland and India
> 260, 000 projects on sourceforge.org (which is only one of
10 | 51
Cost savings
Faster delivery (eg.
“Follow-the-Sun” Development)
IT Skill shortage
Better modularization of
Architecture
Focus on core competencies Quality Improvements /
Continuity
Expansion (to gain access to
new markets)
Motivations for Global Software Development
Competitive advantage
(cheaper, faster, leaner, attaining customer
intimacy, . . . )
Expansion with strategic
intent
(e.g. to establish a presence in a particular local market)
Maneuver into a position
for mergers or acquisitions
11 | 51
Offshoring Sources
United States12 | 51
Where to Offshore to?
Economical factors Cost of labour Practical factors
International relations / Reputation Governance
Language knowledge / English proficiency Cultural factors
Work morale / Efficiency Communication skills
13 | 51
Sourcing Location – Canada
Canada is one of the top outsourcing locations in terms of volume.
Advantages
proximity to US similar time zones
well educated and computer
literate
English (and French!) speaking
workforce
Disadvantages
14 | 51
Sourcing Location – Brazil
Advantages cheap and efficient labor
Disadvantage
weak command of English
language
weak relations with US
15 | 51
Sourcing Location – China
China is barely in the top 10 of topoutsourcing countries.
Advantages
wages
good educational system
Disadvantages
Far from sources
(Real and supposed) piracy of
intellectual property
Governance / complex business
environment
16 | 51
Sourcing Destinations
Top Outsourcing Countries – 2010 (out of 26)
Cheapest: Pakistan & Egypt
(most expensive: The United States)
Best Resources and Skills: The United States & India Lowest score: Egypt & Pakistan)
Best Business & Economic Environment: The US & Canada (most challenging: Brazil & Pakistan)
17 | 51
Sourcing Location – India
India scores #1 (overall) on every list
Advantages
wages and tax rates quality of education
(Indian) English (official language) Disadvantages
(some) political and economic
instabillity
Challenging Infrastructure Far from sources
Bangalore, New Delhi, Mumbai, Hyderabad
18 | 51
19 | 51
21 | 51
Practical Implications of Global Software Development
GSD introduces three types of distance
1.Geographical distance
i.e. The actual, physical distance
2.Temporal distance
i.e. Time differences
3.Sociocultural distance
i.e. The differences in beliefs, norms, values and
customs
22 | 51
Extra Costs of Offshoring
23 | 51
Overcoming Distance
Communication and collaboration
between team members
Coordination
Development process needs to be coordinated
Control
24 | 51
Temporal Distance Challenges
Communication Being effective
(asynchronous communication is less effective due to increased chance of misunderstanding)
Coordination Cost is larger
(travel, infrastructure cost)
Control Delays
(wait for next teleconference meeting, send email and wait, search for contact)
25 | 51
Synchronous & Asynchronous
document sharing
distributed Configuration Management (SCCM) systems file transfer remote access distributed blackboards intelligent SCCM systems experience browser Asynchronous e-mail voice-mail discussion list on-line calendar Sourceforge / TRAC Synchronous phone video conference Netmeeting / Skype
Internet Relay Chat (IRC) Instant Messaging
26 | 51
Geographical Distance Challenges
Communication
Effective information exchange
(less informal exchange, different languages, different domain knowledge)
Build a team
(cohesiveness, “Them versus us” feelings, trust)
Coordination
Task awareness (shared mental model) Sense of urgency (perception)
Control
Accurate status information (tracking, blaming) Uniform process (different tools and techniques)
27 | 51
Geographical Distance
Activity awareness What are the others doing?
Availability awareness When can I reach them?
Process awareness
What are they doing?
Perspective awareness
28 | 51
Sociocultural Distance Challenges
Communication
Cultural misunderstandings
(corporate, technical, national)
Coordination
Effectiveness
(vocabulary, communication style)
Control
Quality and expertise
29 | 51
American managers have a hamburger style of
management. They start with sweet talk – the top of the bun. Then the criticism is slipped in – the meat.
Finally, some encouraging words – the bottom bun.
With the Germans, all one gets is the meat.
With the Japanese, all one gets is the bun, one has to smell the meat
31 | 51
What is Your Background?
Me
Dutch
Research in an international
context
Israel (Haifa University)
India (Various commercial IT
companies in Mumbai)
New Zealand (Victoria
University Wellington) International Conferences Dutch, English, תירִבְעִ You? Background International Experience
32 | 51
Sociocultural Distances
Parsons (1951) Kluckhohn & Strodtbeck (1961) Edward T. Hall (1976) identified two dimensions
High context cultures vs. low context cultures Polychronic cultures vs. monochronic cultures
Geert Hofstede identified five views
Power distance, collectivism vs. individualism, feminity vs.
masculinity, uncertainty avoidance, long-term vs. short term orientation
33 | 51
Trompenaars' 7 Dimensions of Culture (1 – 3)
Standards & Systems Versus Exceptional Situations
Universalism Versus Particularism
Individual Versus Group Orientation
Individualism Versus Communitarianism
Controlling Emotions Versus Showing Emotions
34 | 51
Trompenaars' 7 Dimensions of Culture (4 – 7)
Segmenting versus Integrating
Specific Versus Diffuse Relationships
Status Based On “What You Do” versus “Who You Are”
Achievement versus Ascription
Different Time Perspectives
The importance of punctuality
Control Environment Versus Adapt To Environment
Internal Control Versus External Control
35 | 51
Hofstede’s Dimensions
1.Power distance
status is important versus individuals are equal
2.Collectivism versus individualism
Individuals are part of a group, or everyone looks after himself
3.Femininity versus masculinity
Earnings, challenges, recognition (masculine) versus good relationships, cooperation, security (feminine)
4.Uncertainty avoidance
Strict rules that mitigate uncertainty versus more flexible
5.Long-term versus short-term orientation
Persistence in pursuing goals, order (LT) versus protecting one’s face, tradition (ST)
36 | 51
Impact on Software Development
Lower uncertainty avoidance
can better cope with uncertainty
can better deal with agile approaches and
ill-defined requirements
Higher uncertainty avoidance
37 | 51
On Linguistic Differences
Dunglish
Also “Steenkolenengels” (Dutch)
= flawed attempt at speaking English very limited vocabulary / blunt
“I am a little bit in the war.”
“The products are produced in fabrics.” "Before you show customers your
product, you must solve all the children's diseases”
Speakers know that they are limited
Indian English
= separate language
Very extensive vocabulary / prosaic
“Himalayan blunder” / “Always!”
good name / cousin-brother / uncle &
aunty / time-pass / as per
“Kichiri” or िखिचड़ी Lakh's and crore's
“ek minute” / “general mai”
Indian English is often preferred by
38 | 51
Establishing Common Ground
How much common knowledge members have,and are aware of
Common ground has to be established: Traveling, especially at start of project Socialization (kick-off meetings)
Intense interaction is more important for success
39 | 51
Managing Coupling of Work
Co-locate Strongly interdependent tasks
Tasks that require a lot of collaboration
Little interaction required: different sites E.g., testing or implementing relatively
40 | 51
Work Allocation
Transfer by functionalityThe ownership of a subsystem or a set of subsystems is transferred.
Transfer by localization
Local Modification for local market
Product line approach
Independent architectural units that do not need customization are developed by collocated teams.
Development of big chunks that need customization is replicated in several locations.
41 | 51
Work allocation
Transfer by development stage
Product
Mngt. RE Design Code Unittest Systemtest enanceMaint Classic contract model, formal requirements, non-critical parts
Product Mngt. RE Design Unit test System test Maint enance Code
Implementation model, critical parts
RE Design Code Unittest Systemtest enanceMaint
Product Mngt.
Product mngt. model, non-critical parts with further development
In-house
Offshore
Product
Mngt. RE Design Code Unittest Systemtest enanceMaint Maintenance model
42 | 51
Attaining Collaboration Readiness
Transition to global development organization Requires changing work habits Learning new tools
43 | 51
Technology readiness
Project management tools workflow management
Web-enabled versions of tools
Remote control of builds and tests Web-based project repositories Real-time collaboration tools
simple media for simple messages,
rich media for complex ones)
Knowledge management technology both codification and personalization
44 | 51
Organizing work in GSD
Reduce the need for informal communication Usually through organizational means, e.g.:
Put user interface people together
Use gross structure (architecture) to divide work
(Conway’s Law)
Split according to life cycle phases
45 | 51
Conway's Law (1968)
Any organization that designs a system (defined broadly) will
produce a design whose structure is a copy of the organization's communication structure.
OR
[...] organizations which design systems [...] are constrained to
produce designs which are copies of the communication structures of these organizations
46 | 51
Managing Cross-Cultural Relationships
Minimize cross-cultural issues or reduce intensivecollaboration [Carmel 2001, Krishna 2004]
Reduce cultural distance:
Locals on-site (75/25 rule), staff who bridge cultures, common
processes and work environment, personnel exchange, culture liaison etc.
Reduce temporal distance by communication means. Recognize limits and learn from the other part
47 | 51
Impact on Quality
Limited amount of case studies
– Lucent Technologies: single-site modification requests took 5 days to complete on average, in contrast to 12,7 days for multi-site
modification requests [Herbsleb et al. 2001].
– Boland et al. report reduced productivity due to asynchronous communication [ICSE workshop, 2004].
– Others mention reduced defect-density and high productivity in open source projects.
– Collocated teams achieved an efficiency improvement during initial validation activities of over 50 percent [Ebert, 2001]
Lack of quantitative results in general.
48 | 51
Some Research Findings
Distributed development is negatively associated with
– Productivity and Cycle time
(Herbsleb and Mockus 2003)
– Planning and control capability
(Herbsleb, Paulish and Bass 2005)
– Knowledge management capability
(Cramton 2001, Sarker et al 2005)
– Trust and team cohesiveness
(Jarvenpaa and Leidner 1999, Warkentin, Sayeed and Hightower 1997)
49 | 51
Contact Information
Werner Heijstek
Snellius Building Office 150
071 – 527 7050
[email protected]
50 | 51
Slide Sources
Slides accompanying chapter 20 of Hans van Vliet's – Software
Engineering Principles and Practice
Slides of a lecture on `Global Software Development: Issues,
Solutions, Challenges' by Parastoo Mohagheghi
Slides from `The Role of Empirical Study in Software
Engineering' by Victor R. Basili
Slides from `Introduction on Empirical Software Engineering'
51 | 51