Global Software Development Ita Richardson, University of Limerick, Ireland Tutorial at University of Tampere, Finland, August 2007 1
Overview Global Software Development Barriers & Complexitities Project Management 2
Introduction Dr. Ita Richardson Industry-based research into Global Software Development teams Researcher: B4STEP Building a bidirectional bridge between theory and practice Project Leader: GSD for SMEs 3
Industry-based research Participant Observer Action Research Interviews Document search Multi-national companies Small to medium sized enterprises Siemens Global Studio Project 4
What I hope to give you.. Factors which need to be taken into account when setting up GSD teams GSD project management GSD process implementation 5
What is Global Software Development? 6
Global Software Development (GSD) The term Global Software Development (GSD) implies teams of knowledge workers located in various parts of the globe developing commercially viable software GSD is characterised by moving centralised software development from home to dispersed teams or/and external organisations in remote locations 7
Distributed Software Development Distributed Software Development (DSD) is software development which takes place in geographically distributed settings The focus of DSD is the distributed nature of the software development process DSD is a term that is sometimes used to describe GSD 8
9
What is Offshoring? What is Outsourcing? 10
Offshoring and Outsourcing Offshoring Software Development takes place when an organisation establishes a division in a remote location and wholly or partially distributes software development to that location Outsourcing Software Development - today this term has come to mean an organisation employing or partnering with another company to partially or fully develop software on their behalf 11
Strategies Used to Outsource and Offshore Outsource to Third Party Sub Contractor Get a separate company to develop software for you Normally once off project May use again, but not committed to do so Partner With Other Company Partner with another company to develop software for or with your organisation (may utilise virtual team) Organisations Setting Up Centres (Offshoring) In low cost location Owned and operated by parent organisation May utilise virtual teams to develop software Maintain control and capability within your own organisation while taking advantage of GSD 12
Global Software Development Virtual Teams Traditional team (Powell et al., 2004) Social group of individuals collocated and interdependent is tasks Activities to achieve common goals Virtual team (Lipnack & Stamp, 1997) Same goals and objectives as traditional Operate across time, geographical locations and organisational boundaries Linked by communication technologies 13
Virtual Software Development Teams A virtual software development team has members located in more than one geographical location Key : Operating as a single team Example :Team operating with members Four in Ireland Five in Malaysia Three in Israel 14
Global Software Development Combinations to be considered Local / Distance: From a cultural / temporal perspective Within the company / Outside the company Be aware of different strategies depending on your circumstances Global Software Development is NOT easy Difficulties experienced during all stages of the lifecycle 15
Global Software Development Is being implemented by many companies Requires a global, not local, process Provides benefits to organisations who implement correctly Requires awareness by industry people To implement correctly Requires awareness by academics To provide graduate education 16
Global Software Development 17
Factors that need to be considered Culture Fear GSD Communication Project Management 18
Project Management 19
To benefit from implementing Global Software Development, what do we have to consider about Software Engineering Project Management? 20
Project Management Global process is not local process Effective management of key factors Requires project management strategy Awareness of Global Software Development needs Communication and coordination activities Cultural diversity Visibility into operations 21
Project Management Defined Roles and Responsibilities Risk Coordination Visibility Tools Technical Support True Cost Reporting requirement Information Process Management Effective Partitioning Skills Management Team Selection 22
Project Management Defined Roles and Responsibilities Documented Articulated Disseminated Understood Risk Micro risk operational risk Macro risk political risk Mitigating risk 23
Project Management Coordination Ensures adequate resources available Milestones are planned, understood and agreed Monitors progress Cost, time, risk and productivity Defined common vocabulary Activities and tools Deliverables and artefacts 24
Project Management Visibility Impacted by loss of informal contact Impacted by temporal distance Impacted by cultural distance Implement processes to ensure visibility of Documentation, milestones, deliverables and artefacts Effort, performance and output 25
Project Management Tools Selection and use of standard development tools across locations Ensure compatibility / interoperabilty Technical Support Ensure it is available across locations 26
Project Management True Cost Ensure measurement of costs is realistic Operational and management costs Training costs Labour costs Travel and communication costs Travel costs to allow team members to meet face to face? 27
Project Management Reporting requirement Detailed and timely reports Project progress Summarise and transmit to all team members Information To support effective GSD Basic information about colleagues Inform teams of subject matter experts Cultural differences Time differences Public Holidays 28
Project Management Defined Roles and Responsibilities Risk Coordination Visibility Tools Technical Support True Cost Reporting requirement Information Process Management Effective Partitioning Skills Management Team Selection 29
Communication Communication Language Communication Tools Knowledge Transfer Temporal Issues impact Motivation Information Skills Management Training Project Management 30
Culture Culture impacts Coordination Cooperation Knowledge Transfer Communication Project Management Risk Training 31
Global Software Development Questions and Comments 32
Acknowledgements Research underlying GSD tutorial content has been supported by: Science Foundation Ireland Investigator Programme, B4-STEP (Building a Bi-Directional Bridge Between Software ThEory and Practice) Science Foundation Ireland cluster project, GSD for SMEs Siemens Corporate Research Global Studio Project A multi-national organisation in Ireland. Input to this tutorial was received from Valentine Casey and Alan Malone, post-graduate students at the University of Limerick. 33
References Lipnack, J. and Stamp, J. (2000) Virtual Teams: People Working Across Boundaries with Technology, John Wiley & Sons. Inc, New York. Powell, A., Piccoli, G. and Ives, B. (2004) Virtual Teams: A Review of Current Literature and Direction for Future Research, The DATA BASE for Advances in Information Systems, 35, 1, 6-36. 34
Thank You 35