Improving Global Software Engineering through Improved Processes Dr. Ita Richardson 18th April, 2012 Lero© 2012 Presentation Structure • • • • • Lero© 2012 My background Global Software Development Understanding the problems Providing a solution: Global Teaming Model Conclusion 2 My Research Background • Software Quality and Software Process: – Global software development – Small software development companies – Regulated industry • Medical Device & Hospitals – Services • Principal Investigator within Lero • Research supervision • Lecture to Undergraduate and Postgraduate Software Engineering students Lero© 2012 3 What is Global Software Development? Casey and Richardson, 2006, Carmel, 1999, Hayes, 2002, Crow and Muthuswamy, 2003 Lero© 2012 4 Global Software Development • Global Software Development (GSD) is carried out by teams of knowledge workers located in various parts of the globe developing commercially viable software for a company • Often, centralised software development is moved from “home” locations to dispersed teams or/and external organisations in remote locations • Distributed Software Development and Global Software Development are similar except that GSD teams are always global. Lero© 2012 5 Global Software Development • Increasing number of people working in global development teams • From a process perspective, transferring local processes to global is not a solution Lero© 2012 6 What happens in Global Software Development? Geographic Distance Linguistic Distance Cultural Distance Temporal Distance Lero© 2012 Geographic Distance + Linguistic Distance + Cultural Distance + Temporal Distance = Global Distance Lero© 2012 Software Development Teams • Traditional team – Social group of individuals collocated – Tasks are interdependent – Activities to achieve common goals • Global Software Development team – – – – Usually use virtual teams to develop software Same goals and objectives as traditional Affected by Global Distance Linked by communication technologies Powell et al., 2004, Lipnack & Stamp, 1997 Lero© 2012 9 Research Problem • To understand why Global Software Development was not working in industry • To develop a solution to support the implementation of GSD in industry Lero© 2012 10 Empirical Research Methods Analyse Software Engineering Practice Implement and Evaluate Processes / Methods Lero© 2012 Analyse Published Research Develop Processes / Methods GSD problems Casey,Casey, 2008 2008 Lero© 2012 12 What are the BARRIERS AND COMPLEXITIES? There is no one model for Global Software Development Lero© 2012 Variety of Collaboration Models (Šmite, 2007) 19 MODELS OUT OF 38 SURVEYED PROJECTS 14 Lero© 2012 Collaboration Models 15 Lero© 2012 Many of which are not software development / engineering / process factors What are the BARRIERS AND COMPLEXITIES? There are many factors at play in Global Software Development – Lero© 2012 Project Management Communication BARRIERS AND COMPLEXITIES Culture Lero© 2012 Fear 17 Project Management Defined Roles and Responsibilities Skills Management Effective Partitioning What are the BARRIERS Technical AND Support COMPLEXITIES? Reporting requirement Process Management Team Selection Visibility Coordination Tools True Cost Risk Lero© 2012 18 Project Management Cultural Distance National Culture What are the BARRIERS Religious Culture AND COMPLEXITIES? Attitude to Authority Gender Differences Culture Lero© 2012 19 Project Management Communication What are the BARRIERS Language AND COMPLEXITIES? Communication tools Knowledge Transfer Temporal Issues Culture Lero© 2012 20 Project Management Communication What are the BARRIERS Fear AND COMPLEXITIES? Motivation Trust Culture Lero© 2012 Fear 21 Project Management Communication BARRIERS AND Effective Global COMPLEXITIES Software Development Culture Lero© 2012 Fear 22 Project Management Communication BARRIERS AND COMPLEXITIES Culture Lero© 2012 Fear of losing jobs prevents good communication between teams Fear 23 Project Management How does the project manager ensure that their requirements are met? Culture Lero© 2012 Communication BARRIERS AND COMPLEXITIES Fear 24 Project Management Communication BARRIERS AND Effective Global COMPLEXITIES Software Development Culture LERO Lero© 2012 Fear 25 Empirical Research Methods Analyse Software Engineering Practice Implement and Evaluate Processes / Methods Lero© 2012 Analyse Published Research Develop Processes / Methods Global Teaming Model Richardson et al, 2010 Lero© 2012 27 Global Teaming Model • Process for effective Global Software Engineering • Structured model: – Specific Goals – Specific Practices – Sub-Practices • Can and should be used with existing processes Lero© 2012 Global Teaming Model SPECIFIC GOAL 1: Define Global Project Determine team and organisational structure between locations Specific Practice SP 1.3 Determine the approach Global Management to task Project allocation between locations Management Knowledge and Skills s al Ta Glob Specific Practice SP 1.2 1.1 e SP c i t t c ra emen ific P g c a e n p S k Ma Identify business competencies required by team members in each location Identify cultural requirements of each local sub-team Establish cooperation and Identify communication skills for GSE coordination procedures between Establish relevant criteria locations for training Richardson et al., 2010 Lero© 2012 Spe Glob cific Prac t al Pr oject ice SP 1.3 Mana geme nt Identify GSE project management tasks Assign tasks to appropriate team members Ensure awareness of cultural profiles by project managers Establish cooperation and coordination procedures between locations Establish reporting procedures between locations Establish a risk management strategy Establish cooperation & coordination procedures between locations • • • • • Provide suitable infrastructure Define suitable software development processes Define management procedures Jointly plan and agree achievable milestones Identify and monitor project costs, time, productivity, quality and risk Lero© 2012 Threats: Global Project Management not implemented • Because Project Managers are based remotely – Cannot ‘see’ contribution from each team member – May not know skills and knowledge • Competent people may agree unrealistic amounts of work – Serious implications for the individuals and projects – Only sustainable in the short term • Lack of recognition and understanding of cultural needs Lero© 2012 Global Teaming Model 2.1 P S ce ures i t c d Pra roce c p fi eci ting p S era Op SPECIFIC GOAL 2: Define Management Between Locations Identify common goals, objectives and rewards Define how conflicts & differences of opinion between locations are addressed & resolved Specific Practice SP 2.1 Implement a communication strategy for theProcedures Operating team Establish communication interface points between the team members Implement strategy for conducting meetings between locations Lero© 2012 Sp Co ecific llab P ora ract ice ti loc on b SP e 2 ati on twee .2 s n Collaboratively establish and maintain work product ownership boundaries Collaboratively establish and maintain interfaces and processes Implement strategy for conducting Collaboratively develop, communicate and meetings between locations distribute work plans Implement strategy for conducting meetings between locations • Identify and use appropriate global meeting technology • Set up procedures to ensure participants can agree or disagree with points raised • Provide opportunities for participants to offer new ideas. • Circulate agenda prior to meeting • Clearly minute actions agreed at meeting within a short time frame Lero© 2012 Threats: Operating Procedures not implemented • Impact due to use of asynchronous tools – Amount of information between members reduced • When difficult to communicate – How and when to contact, when to expect response – Project inefficiencies, de-motivated team members • Shared meetings – Inefficient if people cannot contribute – Work will not be done unless minutes shared and actions made clear Lero© 2012 Empirical Research Methods Analyse Software Engineering Practice Implement and Evaluate Processes / Methods Lero© 2012 Analyse Published Research Currently underway within Financial Services company Develop Processes / Methods Conclusion Lero© 2012 36 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 Lero© 2012 37 A few highlights: • Not only technical factors have to be taken into account, but also social and cultural ones • Social capital is important in GSD – engineering human relationships • Psychological factors such as trust, motivation and fear play a significant role • There are knowledge-intensive and complex aspects to GSD • Domain knowledge needs to be preserved • Use of the Global teaming model adds structure to GSD efforts • Problems should be dealt with instead of outsourcing them! Lero© 2012 38 Acknowledgements • Research underlying this presentation has been supported by: – Science Foundation Ireland CSET grant to Lero – 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 – Science Foundation Ireland cluster project, socGSD – Siemens Corporate Research Global Studio Project – Various Irish companies Lero© 2012 39 Presentation Structure • • • • • Lero© 2012 My background Global Software Development Understanding the problems Providing a solution: Global Teaming Model Conclusion 40 Further recommended reading • • • • • • • • • • • • • • Lero© 2012 Deshpande, S., Beecham, S., Richardson, I. (2011), "Global Software Development Coordination Strategies - A Vendor Perspective", Pg. No 153-174, Lecture Notes in Business Information Processing, Volume LNBIP91, New Studies in Global IT and Business Service Outsourcing, Part 1, Springer-Verlag Berlin Heidelberg 2011, (Edited By: J. Kotlarsky, L.P. Willcocks, and I. Oshri) Richardson, Ita, Valentine Casey, John Burton, Fergal McCaffery, Global Software Engineering: A Software Process Approach, in Collaborative Software Engineering, edited by Mistrík, I.; Grundy, J.; Hoek, A. van der; Whitehead, J., 2010, ISBN: 978-3-642-10293-6, pp35-56. Richardson, Ita, Daniel Paulish and June Verner, Research Directions for Global Software Engineering – where to next?, Guest Editors’ Introduction, Journal of Software Evolution and Process, Volume 24, Issue 2, March 2012, pp 115-117. Carmel, E. and Agarwal, R. (2001) Tactical Approaches for Alleviating Distance in Global Software Development, IEEE Software, 1, 2, 22 29. Casey V and Richardson I, Virtual Software Teams: Overcoming the Obstacles, 3rd World Congress on Software Quality 2005, pp63-70, Munich, Germany, 2005 Casey, Valentine and Ita Richardson, "Implementation of Global Software Development: A Structured Approach" Software Process Improvement and Practice, Volume 14, 2009, pp247-262, DOI: 10.1002/spip.422. Casey, Valentine and Richardson, Ita, The Impact of Fear on the Operation of Virtual Teams, Special issue on Global Software Engineering, Software Process Improvement and Practice, Volume 13, 2008, pp511-526. Damian, D. E. and Zowghi, D. (2003), An insight into the interplay between culture, conflict and distance in globally distributed requirements negotiations, Proceedings of the 36th International Conference on Systems Sciences (HICSS’03). IEEE. 2002., Hawaii, 1 - 10. Ebert, C. and De Neve, P. (2001) Surviving Global Software Development, IEEE Software, 18, 2, 62 - 69. Herbsleb, J. D. and Mockus, A. (2003) An Empirical Study of Speed and Communication in Globally Distributed Software Development, IEEE Transactions on Software Engineering, 29, 6, 481-494. Herbsleb, J. D. and Moitra, D. (2001) Global Software Development, IEEE Software, 1, 2, 16 - 20. Herbsleb, J. D., Paulish, D. J. and Bass, M. (2005), Global software development at siemens: experience from nine projects, Proceedings of the 27th international conference on Software engineering, St. Louis, MO, USA, 524 - 533. Linnane, Seán and Ita Richardson, Distributed Software Development – difficulties for the SME. In Perspectives in Software Quality, Proceedings of Software Quality Management Conference, SQM2006, 10th-12th April, 2006, Southampton, U.K. pp 113-128. Karolak D W, Global Software Development: Managing Virtual Teams and Environments. Wiley-IEEE Computer Society 1998, ISBN 0-81868701-0 41 Further recommended reading • • • • • • • • • Rad P F and Levin G, Achieving Project Management Success using Virtual Teams. J. Ross Publishing 2003, ISBN 1-932-15903-7 Ebert C and De Neve P (2001). Surviving global software development, Ieee Software. 18, 62-69. Herbsleb J D and Grinter R E, Splitting the Organisation and Integrating the Code: Conway's Law Revisited, Proceedings of the 21st international conference on Software engineering 1999, pp85-95, LA, CA, USA, 1999 Herbsleb J D, Paulish D J, Bass M, Global Software Development at Siemens: Experience from Nine Projects, Proceedings of the 27th International Conference on Software Engineering 2005, pp524-533, St. Louis, MO, USA, 2005 Mistrík, I.; Grundy, J.; Hoek, A. van der; Whitehead, J. (editors), Collaborative Software Engineering, 2010, ISBN: 978-3-642-10293-6 Olson J S and Olson G M (2003). Culture Surprises in Remote Software Development Teams, ACM Queue. 1, 52-59. Prikladnicki R, Audy J L N, and Evaristo R (2003). Global Software Development in Practice: Lessons Learned, Software Process Improvement and Practice. 8, 267-281. Richardson, Ita, Daniel Paulish and June Verner, "Research Directions for Global Software Engineering – where to next?" Guest Editors’ Introduction, Journal of Software Maintenance and Evolution: Research and Practice (forthcoming). Richardson, Ita, Sarah Moore, Alan Malone, Valentine Casey and Dolores Zage, Globalising Software Development in the Local Classroom through Virtual Teams in: – – – • • • Lero© 2012 IT Outsourcing: Concepts, Methodologies, Tools, and Applications (4 Volumes), edited by Kirk St.Amant, Business Science Reference, ISBN 978-1-60566-770-6, 2009. Software Applications: Concepts, Methodologies, Tools and Applications (6 Volumes), edited by Pierre F. Tiako, Information Science Reference, ISBN 978-160566-060-8, 2009. Information Systems and Technology Education: From the University to the Workplace, edited by Rod Turner and Glenn Lowry, IGI Global, pp 82-104, ISBN 9781-59904-114-8, 2007. Sangwan, Raghvinder, Neel Mullick, Matthew Bass, Daniel J. Paulish and Juergen Kazmeier, Global software development handbook Auerbach Publications, 2006, isbn-10: 0849393841, isbn-13: 9780849393846 Sparrow E A, A Guide to Global Sourcing: Offshore Outsourcing and other Global Delivery Models. BCS 2005, ISBN 1-902-50561-1 Sabherwal R (2003). The Evolution of Coordination in Outsourced Software Development Projects: A Comparison of Client and Vendor Perspectives, Information and Organisation. 13, 153-202. 42 References • • • • • • • • • • • • • • Carmel E, Global Software Teams: Collaborating Across Borders and Time Zones. Prentice-Hall 1999, ISBN 0-139-24218-X Casey, Valentine, Software Testing and Global Industry: Future Paradigms, edited by Ita Richardson and Mícheál Ó hAodha, Cambridge Scholars Publishing, 2008, ISBN: 97801-4438-0109-6. Casey, Valentine and Ita Richardson, Uncovering the Reality within Virtual Software Teams, International Conference on Global Software Engineering, ICGSE06, Florianopolis, Florianopolis, Brazil, 16-19 October 2006, IEEE Computer Society, CD Proceedings, ISBN 0-7695-26632. Crow, G. and Muthuswamy, B. (2003) International Outsourcing in the Information Technology Industry: Trends and Implications., Communications of the International Information Management Association, 3, 1, 25 - 34. Hayes Ian S., Ready or Not: Global Sourcing is in Your IT Future. Cutter IT Journal, 2002. 15(11): p. 5 - 11. Imsland, Vegar; Sahay, Sundeep- ‘Negotiating Knowledge': The Case of a Russian-Norwegian Software Outsourcing Project, Scandinavian Journal of Information Systems 2005 Lipnack, J. and Stamp, J. (1997) Virtual Teams: Reaching Across Space, Time And Originating With Technology, John Wiley & Sons. O'Brien, J. A. (2002) Management Information Systems Managing Information Technology in the Business Enterprise, Mc Graw Hill Irwin. Ó Conchúir, E., Holmstrom, H., Ågerfalk, P. J. & Fitzgerald, B. (2006) Exploring the Assumed Benefits of Global Software Development. International Conference on Global Software Engineering (ICGSE). Florianópolis, Brazil. 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. Richardson, Ita, Valentine Casey, John Burton, Fergal McCaffery, Global Software Engineering: A Software Process Approach, in Collaborative Software Engineering, edited by Mistrík, I.; Grundy, J.; Hoek, A. van der; Whitehead, J., 2010, ISBN: 978-3-642-10293-6, pp35-56. Rottman, J.W.- Knowledge Transfer within Strategic Alliances, First Information Systems Workshop on Global Sourcing: Val d'Isère, France 13-15 March 2007) Toaff, S. S. (2002) Don't Play with "Mouths of Fire," and Other Lessons of Global Software Development, Cutter IT Journal, 15, 11, 23 - 28. 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 Lero© 2012 43 Thank You & Questions Lero© 2012