Software Engineering Global Software Development Werner Heijstek, Leiden Institute of Advanced Computer Science Lecture Series for BSc. Informatica en Economie year 2 (Fall semester 2011) Leiden University. Leiden University. The university The university to discover. to discover.
Who Am I? 2 51 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 Close collaboration with Industry (Capgemini, Logica, ATOS)
What is a 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) 3 51 Full Professor (Professor) Associate Professor (UHD) Asistant Professor (UD) Post Doctoral Researcher Doctorate (Dr.) 4+ years ( Ph.D. Candidate ) Masters (M., M.Sc.,M.A, Drs., Mr., Ir.) 2+ years Bachelors (B., B.Sc., B.A., Ing.) 3+ years
Global Software Development Introduction definition, synonyms, volume, locations and sources, motivations Distance types of distance, overcoming distance, communication means Sociocultural challenges Models (Hofstede, Trompenaars) Managing global software development 4 51
Definition 5 51 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 artifacts (quality, visibility & management).
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 (atonym: Farshoring) 6 51
More Related Terminology 7 51 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 Transfer of Services to home-based employees
Why is Global Software Develoment Relevant? 8 51 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 increased likelihood of project failure
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 many of these types of sites) 9 51
Motivations for Global Software Development10 51 Cost savings Faster delivery (eg. Followthe-Sun Development) IT Skill shortage Better modularization of Architecture Focus on core competencies Quality Improvements / Continuity Expansion (to gain access to new markets) 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 Follow the competition
Offshoring Sources 11 51 United States Western Europe
Where to Offshore to? 12 51 Economical factors Cost of labour Practical factors International relations / Reputation Governance Language knowledge / English proficiency Cultural factors Work morale / Efficiency Communication skills
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 high labor cost 13 51
Sourcing Location Brazil Advantages cheap and efficient labor Disadvantage weak command of English language weak relations with US firms 14 51
Sourcing Location China China is barely in the top 10 of top outsourcing countries. Advantages wages good educational system Disadvantages Far from sources (Real and supposed) piracy of intellectual property Governance / complex business environment English language skills 15 51
Sourcing Destinations 16 51 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) http://www.sourcingline.com/top-outsourcing-countries/
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 17 51
Why focus on India? 18 51
Selecting a Location 19 51
20 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 21 51
Extra Costs of Offshoring 22 51 source: Offshoring information technology, E. Carmel & P. Tjia, 2005
Overcoming Distance 23 51 Communication and collaboration between team members Coordination Development process needs to be coordinated Control Management must keep in control of the process
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) 24 51
Communication Technology Synchronous Asynchronous phone video conference Netmeeting / Skype Internet Relay Chat (IRC) Instant Messaging e-mail voice-mail discussion list on-line calendar Sourceforge / TRAC Synchronous & Asynchronous document sharing distributed Configuration Management (SCCM) systems file transfer remote access distributed blackboards intelligent SCCM systems experience browser 25 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) 26 51
Geographical Distance 27 51 Activity awareness What are the others doing? Availability awareness When can I reach them? Process awareness What are they doing? Perspective awareness What are the others thinking, and why?
Sociocultural Distance Challenges Communication Cultural misunderstandings (corporate, technical, national) Coordination Effectiveness (vocabulary, communication style) Control Quality and expertise (CMMi level 5 is not a guarantee for quality) 28 51
29 51 American managers have a With the Germans, all hamburger style of one gets is the meat. 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 Japanese, all one gets is the bun, one has to smell the meat
30 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 You? Background International Experience Dutch, English, ב רית ע 31 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 Trompenaars (1993) identified seven 32 51
Trompenaars' 7 Dimensions of Culture (1 3) 33 51 Standards & Systems Versus Exceptional Situations Universalism Versus Particularism Individual Versus Group Orientation Individualism Versus Communitarianism Controlling Emotions Versus Showing Emotions Neutral Versus Affective Relationships
Trompenaars' 7 Dimensions of Culture (4 7) 34 51 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
Hofstede s Dimensions 35 51 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)
Impact on Software Development Lower uncertainty avoidance can better cope with uncertainty can better deal with agile approaches and illdefined requirements Higher uncertainty avoidance Less inclined to work agile, contracts 36 51
On Linguistic Differences Dunglish Also Steenkolenengels (Dutch) = flawed attempt at speaking English Indian English = separate language Very extensive vocabulary / prosaic 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 37 51 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 Indians http://www.ling.upenn.edu/~jason2/papers/natlang.htm http://www.languageinindia.com/junjul2002/baldridgeindianenglish.html
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 than CMM level 38 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 independent subsystems 39 51
Work Allocation 40 51 Transfer by functionality The 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.
Work allocation 41 51 Transfer by development stage Classic contract model, formal requirements, non-critical parts Product Unit System Maint RE Design Code Mngt. test test enance Product Mngt. In-house Offshore Implementation model, critical parts Unit System Maint RE Design Code test test enance Product mngt. model, non-critical parts with further development Product Unit System Maint RE Design Code Mngt. test test enance Product Mngt. RE Maintenance model Unit Design Code test System Maint test enance Mockus, IEEE Software ICSE workshop 2004 Advanced Software Engineering (M.Sc.2001,Nissan, ICT in Business) Leiden University. The university to discover.
Attaining Collaboration Readiness Transition to global development organization Requires changing work habits Learning new tools Needs incentives for individuals to cooperate 42 51
Technology readiness 43 51 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
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 Provide technologies that ease informal communication 44 51
Conway's Law (1968) 45 51 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
Managing Cross-Cultural Relationships 46 51 Minimize cross-cultural issues or reduce intensive collaboration [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 Reflect and share knowledge.
Impact on Quality 47 51 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. What about cost, time-to-market, productivity?
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) 48 51
Contact Information 49 51 Werner Heijstek Snellius Building Office 150 071 527 7050 heijstek@liacs.nl www.liacs.nl/~heijstek
Slide Sources 50 51 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' by Reidar Conradi
Other Destinations 51 51 source: The Shifting Geography of Offshoring. AT Kearney, 2009