Global Software Development Ita Richardson, University of Limerick, Ireland Tutorial at University of Tampere, Finland, August 2007 1
Overview Process Management Effective Partitioning Skills Management Team Selection Case Studies 2
Three Cases for Discussion throughout session 3
Global Software Development 4
Factors that need to be considered Culture Fear GSD Communication Project Management 5
1. The challenges of embedded knowledge Client: Norwegian subsidiary of company with 13 000 employees located across Europe (headquarters in Finland, primary Nordic focus, providing consultancy services on business systems) Activity: redesign of a payroll management system used by nearly 11000 small and medium sized companies in Norway Vendor: Russian company (St. Petersburg, 110 employees, part of the Fort Ross Consortium) Interesting aspects: trust, domain knowledge, language barrier, project management, lack of formal specifications. Imsland, Vegar; Sahay, Sundeep- Negotiating Knowledge': The Case of a Russian- Norwegian Software Outsourcing Project, Scandinavian Journal of Information Systems 2005 6
sailors working abroad foreigners working in Norway people living in Northern Norway no specs no internal knowledge no common language no direct communication hidden costs lack of embedded knowledge 15 Delphi -> MySQL Mb 1999 negotiations started Norwegian PM appointed After 5 months: near-breakdown Russian reps visiting Oslo After 9 months, Norwegians Russians working on an estimate visiting Russia Estimate: 6 months - Contract signed After 14 months, 7/8 done 7
Lessons learned Don t outsource your problems! The importance of trust, informal relationships, social networking The enthusiasm on the vendor side learning Norwegian, willing to find out more about the Norwegian culture The importance of context understanding the Norwegian pay & taxation system embedded knowledge Captive knowledge Russians the only ones who knew the system possible joint venture 8
Moving from local to global development what global process do we implement? 9
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 10
Process Management Process for software development (Iocal/global) Specific requirements of Global Software Development For example, escalation and communication procedures Shared developed ownership Good software practice.. Processes developed by those closest to the process Negotiation of process Level 5 vs Level 3 Provides agreed commitment to software project 11
Process Management Exclusive ownership Does not allow for cooperation Alienation of team members Clearly defined and documented Establish common goals, objectives, rewards Training provided Good processes can remove communication requirements 12
Effective Partitioning Partitioning of development Architecture Partitioning of teams 13
Partitioning of Development Consider division What is the system architecture? Consider integration How do we put it back together? 14
Siemens Global Studio Project - Module Partitioning and Integration 15
Relating Architecture to business goals How does technical decision affect business goals? Product lines Regulatory considerations Cultural influences Language considerations 16
Partitioning of Development Risks and trade-off Global Software Development Greater complexity Need to understand risks Know where potential mismatch can cause problem 17
GSD and Architecture Making drivers explicit Distribution of teams does not allow correction in timely manner Distributed teams do not share intuition Technology choices based on skills Developers outside organisation Unfamiliarity with domain Skills not known by architects Trade-offs in light of business goals 18
Partitioning of Teams Manage the partitioning Requires more communication Requires more technical knowledge Determines level of communication between teams Determines level of support required between locations Strategy should take team communication into account 19
Partitioning of Work Partitioning of development Architecture Partitioning of teams 20
2. Keeping the knowledge and partitioning the work Client: US Fortune 100 manufacturer of industrial equipment with over 75,000 employees spread across 20 countries Activity: development and deployment of embedded software systems Vendors: two big software providers + one small specialised company (all in India) Interesting aspects: partitioning work, IP protection, motivation, strong&weak ties, networking, liaisons, knowledge transfer, personnel retention (Rottman, J.W.- Knowledge Transfer within Strategic Alliances, First Information Systems Workshop on Global Sourcing: Val d'isère, France 13-15 March 2007) 21
150 people, 32 mil USD/year 22
IP protection, Networking and Competition 23
Knowledge transfer and investment in training 24
motivation work partitioning talent pipeline IP protection personnel retention strong tiesweak ties liaisons networking knowledge transfer 25
Lessons learned: Maintaining an own strong development team; motivating it for sharing Overlap of liaisons on site Securing the supplier employees fidelity for at least 1 year Visits to India; informal relationships encouraged Several suppliers, different components IP protection, competition among suppliers 26
Communication Communication Language Communication Tools Knowledge Transfer Temporal Issues impact Motivation Information Skills Management Training Project Management 27
Culture Culture impacts Coordination Cooperation Knowledge Transfer Communication Project Management Risk Training 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
Project Management Skills Management Awareness regarding all staff Including remote team members Capabilities and skill levels Academic and technical knowledge Experience relating to current position Knowledge of English (where relevant) Available to project managers and trainers 30
Project Management Team Selection What is the strategy for team selection? e.g. Leverage local experience combined with cheap and effective labour costs Technical requirements of projects Document structure of teams Roles, responsibilities, relationships, rules Successful management Coordination and operation of teams 31
Project Management Team Selection Skills availability on team Including remote team members Team set-up Full remote team with local management Half-and-half Small remote team managed from onsite Dual reporting Onsite / local experience Synchronise support Impact on team operation Strain on experienced team members 32
Global Software Development 33
3. A job producing machine in Poland Company: German software and consulting services provider (1100 employees in 6 locations in Germany and Switzerland) Activity: billing system as part of a larger CRM system for an automotive company Subsidiary: created in 2004 in Poland with fresh graduates Interesting aspects: nearshoring, mentorship, knowledge transfer, social capital, motivation, trust, common language Wieandt, Michaela - The Development of Knowledge Transfer and Collaboration in a Nearshore Software Development Project, First Information Systems Workshop on Global Sourcing: Val d'isère, France 13-15 March 2007 34
common language nearshoring mentorship motivation trust knowledge transfer social capital 35
Lessons learned Onsite apprenticeship for knowledge transfer Motivation and trust on the German side Polish employees included in the social life of the German site Personal relationships created reciprocal visits Learning through network and personal dialogue - knowledge-as-practice-approach German as common language 36
Emerging themes Creating an atmosphere of trust Motivating employees for knowledge transfer Good project management a must! Appropriate work partitioning The importance of communication tools and of corporate culture Hidden costs of distributed work Maintaining onsite developers Mutual knowledge, transactive memory systems Social capital a prerequisite of success 37
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 38
In summary Global Software Development is an expanding trend Industrialists and academics need to be prepared to understand and implement GSD There are benefits to be gained from GSD if implemented correctly There are difficulties which will arise if not implemented correctly Management need to implement an informed GSD strategy in their organisation 39
Global Software Development Questions and Comments 40
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 Dr. Gabriela Avram (SFI cluster project, SocGSD) and from Valentine Casey and Alan Malone, post-graduate students at the University of Limerick. 41
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. Sangwan, Raghvinder, Matthew Bass, Neel Mullick, Daniel J.Paulish, Juergen Kazmeier, Global Software Development Handbook, Auerbach Publications, 2006 42
Thank You 43