4/9/13. Global So(ware Development. GSD courses @ITU. Roadmap

Similar documents
A Structured Approach to Global Software Development

Managing Cross-Cultural Issues. in Global Software Outsourcing

Extreme Programming In Global Software Development

Communication in Firm-Internal Global Software Development with China

Benefits of Global Software Development: The Known and Unknown

Global Software Development Challenges: A Case Study on Temporal, Geographical and Socio-Cultural Distance

Global Software Development: Issues, Solutions, Challenges

Defect Tracking Systems in Global Software Development a work practice study

T task Distribution and Selection Based Algorithm

An empirical study on Global Software Development: Offshore Insourcing of IT Projects

Usage of SCRUM Practices within a Global Company

REASONS FOR SUCCESS AND FAILURE IN OFFSHORE SOFTWARE DEVELOPMENT PROJECTS

Software engineering: learning, employment and globalization

A reference model for successful Distributed Development of Software Systems

Global Software Development: Never Mind the Problems Are There Really Any Benefits?

Software Engineering. Global Software Development. Werner Heijstek, Leiden Institute of Advanced Computer Science

Reporting Empirical Research in Global Software Engineering: a Classification Scheme

How Social Software Supports Communicative and Coordinative Practices in Global Software Development

Improving offshore communication by choosing the right coordination strategy

This is an author-generated version.! The final publication is available at

Collaboration in Software Development: Lesson Learned from Two Large Multinational Organizations

Communication Risks and Best Practices in Global Software Development during Requirements Change Management: A Systematic Literature Review Protocol

Elicitation of Communication Inherent Risks in Distributed Software Development

A FRAMEWORK FOR CONSIDERING OPPORTUNITIES AND THREATS IN DISTRIBUTED SOFTWARE DEVELOPMENT

Risk Identification and Mitigation Processes for Using Scrum in Global Software Development: A Conceptual Framework

Requirements Specification in Distributed Software Development A Process Proposal

International group work in software engineering

Communication Needs, Practices and Supporting Structures in Global Inter- Organizational Software Development Projects

De rol van requirements bij global development

Scheme of Global Scrum Management Software

INTERNATIONAL BUSINESS & INTERNATIONAL MANAGEMENT

Global Software Development: Where are the Benefits?

Copyright IEEE. Citation for the published paper:

Using Scrum in Global Software Development: A Systematic Literature Review

Agile Software Development in Global Software Engineering

Global Software Engineering and Agile Practices: A Systematic Review

Distributed Agile Development: A Survey of Challenges and Solutions

Introducing Area 4 Socio-Cultural Awareness

RISK MANAGEMENT IN DISTRIBUTED SOFTWARE DEVELOPMENT: A PROCESS INTEGRATION PROPOSAL i

global software development Distribution Dimensions in Software Development Projects: A Taxonomy

Scrum on Offshore Development Case Study

Choosing Human Resources Development Interventions

GRCM: A Model for Global Requirements Change Management

The Impact of Fear on the Operation of Virtual Teams

Studying the Impact of Global Software Development Characteristics on Project Goals: A Causal Model

Managing Uncertainty in Globally Distributed Software Development Projects

Intercultural Challenges Mitigation Model for Software Development Outsourcing Vendors

Architecture of a Software Configuration Management System for Globally Distributed Software Development Teams

Global Information Systems: Project Management. Prof. Dr. Jan M. Pawlowski Autumn 2013

Exploring the Assumed Benefits of Global Software Development

COMPARATIVE STUDY BETWEEN DISTRIBUTED AND COLLOCATED TEAMS IN AGILE SOFTWARE DEVELOPMENT

Managing Requirement Risks in Global Software Development

A Case Study of Coordination in Distributed Agile Software Development

DISTRIBUTED INFORMATION SYSTEMS DEVELOPMENT: A FRAMEWORK FOR UNDERSTANDING AND MANAGING

Global Software Development

Towards a Globalized Software Industry

Understanding Lacking Trust in Global Software Teams: A Multi-case Study

Technological support for distributed agile development

Comparing Ethical Attitudes of Expatriates working in UAE. K.S. Sujit. Institute of Management Technology, Dubai

Mitigating Coordination Costs in Global Software Development Using Scrum

So#ware Development Methodologies Project Management Phases Agile Methodology Agile Manifesto Roles. Team Roles and Responsibili?

Supporting Communication and Cooperation in Global Software Development with Agile Service Networks

Enterprise Systems Tech. solutions, strategic persp. and org. considerations. TDEI13, Özgün Imre

Ethnography in Global Software Development

Scrum Method Implementation in a Software Development Project Management

in Managing Businesses in the Management games in "Issues and Strategies International Business. EU"

PROJECT PORTFOLIO SUITE

Developing the Agile Mindset for Organiza7onal Agility. Shannon Ewan Managing

Software Development Processes in Globally Distributed Environment

Agile Based Software Development Model : Benefits & Challenges

VRIJE UNIVERSITEIT AMSTERDAM FACULTY OF SCIENCES

Distributed Agile Development: Using Scrum in a Large Project

Knowledge Work Practices in Global Software Development

How Technological Support Can Enable Advantages of Agile Software Development in a GSE Setting

The impact of Multi-site Software Governance on Knowledge Management

Requirements Change Management in Global Software Development: A Case Study in Pakistan

Software Development across Time Zones

Distributed Agile Software Development: A Review

Communication in Distributed Agile Development: A Case Study

Scrum Practices and Global Software Development

Virtual Software Teams: Overcoming the Obstacles

AGILE PRACTICES: A COGNITIVE LEARNING PERSPECTIVE

IT Governance in Organizations Experiencing Decentralization. Jelena Zdravkovic

WHITE PAPER. Distributed agile and offshoring antagonism or symbiosis?

Toward a Framework for Localisation of Product Software across Organisational Boundaries

Test Internationalisation and Change Robert Feldt Blekinge Institue of Technology

Abdulrahman M. Qahtani, Gary B. Wills, Andrew M. Gravell School of Electronics and Computer Science, University of Southampton, UK

Cross-Cultural Strategies for Web Design

Global Software Development - Coordination and Project Management Strategies from a Vendor Perspective

Outsourced Offshore Software Testing Challenges and Mitigations

Communication Risks and Best practices in Global Software Development

Multi-Site Software Development and Its Challenges in Requirements Engineering Using Goal Based Approach

GLOBAL SOFTWARE DEVELOPMENT: STRATEGIC IMPLICATIONS FOR U.S. INFORMATION SYSTEMS ACADEMIC PROGRAMS

Intercultural Challenges in Offshore Software Development Outsourcing Relationships: A Systematic Literature Review Protocol with Preliminary Results

AMERICANS DOING BUSINESS IN VIETNAM: COMMUNICATION DIFFERENCES. by Katrine Syppli Kohl COM 9656: International Business Communication Fall 2007

Could Global Software Development Benefit from Agile Methods?

Towards a Global Software Development Community Web: Identifying Patterns and Scenarios

Global Agile Team Design: An Informing Science Perspective

Global Software Development: A Case Study of Knowledge Management Challenges and Industry Approaches

Global Software Development in Practice Lessons Learned

Transcription:

Global So(ware Development Rosalba Giuffrida Yvonne Di3rich IT- University in Copenhagen So(ware and System Sec>on GSD courses @ITU http://global-interaction.org/ Distributed Collaboration and Development Global Software Development Cluster Software Engineering & Software Quality Roadmap What is Global So9ware Development? Why Global So(ware Development? Kinds of Distribu>on Challenges Approaches Tools Processes GSD@ITU 1

What is Global So(ware Development? 1/2 Portland Copenhagen Addis Abeba New Delhi 5 domain experts/so(ware developers in Denmark 6 so(ware developers + 1 tester in India 1 team member in Portland Customers in Ethiopia @Dittrich and Giuffrida What is Global So(ware Development? 2/2 Global Software Development (GSD) Global Software Engineering (GSE) Distributed Software Development (DSD) Multi-site software development Offshoring ( ) (Distributed Software Engineering) [It] means splitting the development of the same product or service among globally distributed sites. [Lanubile, 2009] Software work undertaken at geographically separated locations across national boundaries in a coordinated fashion involving real time (synchronous) and asynchronous interaction [Sahay et al., 2003] Roadmap What is Global So(ware Development? Why Global So9ware Development? Kinds of Distribu>on Challenges Approaches Tools Processes GSD@ITU 2

Why Global So(ware Development? (benefits) Most talented developers Development costs Proximity to market Time to market @Carmel Follow-the-sun @Kroll et al. Different kinds of distribu>on (Globally) Distributed teams (Globally) Dispersed teams (Globally) Partially- dispersed teams @Giuffrida and Dittrich 2013 Roadmap What is Global So(ware Development? Why Global So(ware Development? Kinds of Distribu>on Challenges Approaches Tools Processes GSD@ITU 3

Kinds of Distance Geographical distance Temporal distance Sociocultural distance What is culture? A set of values and ideas that shape the behavior (Kroeber, Kluckhohn, 1952) that complex whole which includes knowledge, belief, art, morals, law, custom, and any other capabilities and habits acquired by man as a member of society (Tylor, 1871) the collective programming of the mind which distinguishes the members of one human group from another (Hofstede, 1980) national culture organizational culture functional culture @Dubè and Parè, 2001 Hofstede Dimensions @Hofstede Power Distance (PDI) Individualism versus collectivism (IDV) Masculinity versus femininity (MAS) Uncertainty avoidance (UAI) Long-term versus short-term orientation (LTO) Indulgence versus Restraint (IVR) What could be the impact of cultural differences on software development? 4

Nego>ated culture Cultural Adaptation need to adapt to different ways of working need to adapt to cultural norms of social behavior, attitudes toward authority, and language issues. @Krishna et el. Negotiated Culture form and develop cross-cultural teams so a compromise working culture is achieved in which both sides of the partnership modify their work behaviors to take account of the cultural norms of their partners not something that can be achieved easily, and normally occurs only over a significant time period E.g.: use of bridgehead teams that spend significant periods in remote sites, exchange of staff on a long-term basis between cross-cultural partners, training issues. @Brannen and Salk Impact of Distance in GSD Geographical distance Temporal distance Sociocultural distance Awareness is knowing what is going on. @Carmel and Agarwal Roadmap What is Global So(ware Development? Why Global So(ware Development? Kinds of Distribu>on Challenges Approaches Tools Processes GSD@ITU 5

Tac>cal Approaches for Allevia>ng Distance in GSD Tac>c 1: Reduce intensive collabora>on Tac>c 2: Reduce cultural distance Tac>c 3: Reduce temporal distance @Carmel and Agarwal, Tools So(ware Configura>on management. Bug and change tracking. Build and release management. Collabora>ve Development Environments (CDE). Communica>on tools. Communica>on tools @Lanubile 6

Process Approach: mi>gate distance with processes Tactic 1: Reduce intensive collaboration Tactic 2: Reduce cultural distance Tactic 3: Reduce temporal distance Formaliza>on vs Informali>es Waterfall vs Agile Formaliza>on in GSD Tactic 1: Reduce intensive collaboration Tactic 2: Reduce cultural distance Tactic 3: Reduce temporal distance Increase formal documenta>on Increase organiza>onal factors such as processes, structure and goal alignment. Waterfall approach @Herbsleb Agile in GSD? GSD Lack of informal communica>on due to geographical distance and >me- zone differences difficul>es with division of work, project and process management issues infrastructure problems. Agile close collabora>ons frequent informal face- to- face communica>on rather than lengthy documenta>on self- organising teams. Peripheral awareness Physical ar>facts 7

Agile GSD: dispersed agile team @Sharp et al. There were some overlapping working hours among team members, so synchronous communica-on and collabora>on was possible (IM, videoconference, phone) Team members adapted their working hours to those of remote colleagues They were recording the mee>ngs to share them asynchronously. Communica>on was mainly informal impromptu conversa>ons collabora>ng on a daily basis with some remote colleagues Agile GSD: Using Scrum in a Large Project A case study on agile prac>ces in a 40- person development organiza>on distributed between Norway and Malaysia. Scrum prac>ces were successfully applied: using teleconference and web cameras for daily scrum mee>ngs synchronized 4- week sprints and weekly scrum- of- scrums. Addi>onal agility suppor>ng prac>ces for distributed projects were iden>fied frequent visits unofficial distributed mee>ngs annual gatherings @Paasivaara et al. What about Outsourcing and Open Source? Global Software Development (GSD) Global Software Engineering (GSE) Distributed Software Development (DSD) Multi-site software development Offshoring Open Source Outsourcing 8

From Offshore Outsourcing to Offshore Insourcing @Moe et al. Tree Scandinavian medium-sized software companies that have terminated their offshore outsourcing relationships and changed to offshore insourcing arrangements. What are the reasons for terminating offshore outsourcing relationships? Disappointing low quality of the software delivered, being caused by insufficient domain knowledge, high turnover and a lack of motivation among the remote and external developers. What are the reasons for switching from offshore outsourcing to offshore insourcing? Offshore insourcing helped to address many challenges experienced in outsourcing, although some of them remained. Larger control over recruitment, motivation and leadership. Access to new technology and a new market. Roadmap What is Global So(ware Development? Why Global So(ware Development? Kinds of Distribu>on Challenges Approaches Tools Processes GSD@ITU GIRI 2.0 http://global-interaction.org/ 9

Master thesis? http://global-interaction.org/ References 1/2 Y. Dittrich and R. Giuffrida, Exploring the role of instant messaging in a global software development project, in Global Software Engineering (ICGSE), 2011 F. Lanubile, "Collaboration in Distributed Software Development", in A. De Lucia and F. Ferrucci (Eds.): Software Engineering, LNCS 5413, Springer-Verlag Berlin Heidelberg, pp. 174-193, 2009. S Sahay, B Nicholson, S Krishna, Global IT outsourcing: software development across borders Cambridge University Press 2003. N. B. Moe, G. K. Hanssen et al., From offshore outsourcing to offshore insourcing: Three stories, in Global Software Engineering (ICGSE), 2012 Carmel, E.: Global Software Teams. Prentice Hall, Upper Saddle River (1999) J Kroll, ER Hess, JLN Audy, R Prikladnicki, Researching into Follow-the-Sun Software Development: Challenges and Opportunities International Conference on Global Software Engineering 2011. R. Giuffrida and Y. Dittrich, You Can Not Ask What You Do Not Suspect An Argument for Observational Studies in GSD. ICGSE 2013. Submitted, under review. Dube, L., & Pare, G. (2001). Global Virtual Teams. Communications of the ACM. 44(12), 71-73. References 2/2 G Hofstede, Culture and organizations International Studies of Management & Organization, 1980 - JSTOR S Krishna, S Sahay, G Walsham Managing cross-cultural issues in global software outsourcing Communications of the ACM, 2004 Brannen, J.V. and Salk, J.E. Partnering across borders: Negotiating organizational culture in a German-Japan joint venture. Human Relations 53, 4 (2000), 451 487. Herbsleb, J.D., Moitra, D.: Global Software Development. IEEE Software. 18(2):16-20 (2001) Carmel, E., Agarwal, R.: Tactical Approaches for Alleviating Distance in Global Software Development. IEEE Software. 18(2), 22-29 (2001) Paasivaara, M., Durasiewicz, S., Lassenius, C.: Distributed Agile Development: Using Scrum in a Large Project. In: 3rd IEEE International Conference on Global Software Engineering, pp. 87-95. IEEE, Bangalore (2008) Sharp, Helen, Rosalba Giuffrida, and Grigori Melnik. Information flow within a dispersed agile team: a distributed cognition perspective. Agile Processes in Software Engineering and Extreme Programming (2012): 62-76. 10