Exploring and Expanding GSE Education with Open Source Software Development

Global software engineering (GSE) courses traditionally require cooperation between at least two universities so as to provide a distributed development environment to the students. In this study, we explore an alternative way to organize a global software engineering course where students work on open source software development (OSSD) projects rather than in a multi-university collaboration setting. The results show that the new setup may provide core GSE challenges as well as challenges associated with software development outsourcing and challenges related to working on large open source software. The present article compares the experiences gained from running a combined GSE and OSSD course against the experiences gained from running a traditional GSE course. The two alternatives are compared in terms of students’ learning outcomes and course organization. The authors found that a combined GSE and OSSD course provides learning opportunities that are partly overlapping with, and partly complementary to, a traditional GSE course. The authors also found that the combined OSSD and GSE course was somewhat easier to organize because most of the activities took place in a single university setting. The authors used the extended GSE taxonomy for the comparison and found it to be a useful tool for this, although it had some limitations in expressive power. Therefore, two additional relationship dimensions are proposed that will further enrich the extended taxonomy in classifying GSE (and OSSD) projects.

[1]  Kathleen M. MacQueen,et al.  Applied Thematic Analysis , 2011 .

[2]  William L. Honig,et al.  A classroom outsourcing experience for software engineering learning , 2007, ITiCSE '07.

[3]  Lars Mathiassen,et al.  Managing Risks in Distributed Software Projects: An Integrative Framework , 2009, IEEE Transactions on Engineering Management.

[4]  John Stouby Persson,et al.  Trust in Co-sourced Software Development , 2014, MCIS.

[5]  Jouni Similä,et al.  Outsourcing Software Testing: A Case Study in the Oulu Area , 2013, 2013 13th International Conference on Quality Software.

[6]  Alok Mishra,et al.  A Software Inspection Process for Globally Distributed Teams , 2010, OTM Workshops.

[7]  V. Braun,et al.  Using thematic analysis in psychology , 2006 .

[8]  James Long Outsourcing In Next Generation Technical Software Engineering Education , 2010 .

[9]  Erran Carmel,et al.  Tactical Approaches for Alleviating Distance in Global Software Development , 2001, IEEE Softw..

[10]  Swapna S. Gokhale,et al.  Selecting open source software projects to teach software engineering , 2014, SIGCSE.

[11]  Kathleen M. MacQueen,et al.  Introduction to Applied Thematic Analysis , 2012 .

[12]  Ita Richardson,et al.  Proposing a Software Process Model for Follow the Sun Development , 2014, SEKE.

[13]  Alok Mishra,et al.  AN ASSESSMENT OF THE SOFTWARE ENGINEERING CURRICULUM IN TURKISH UNIVERSITIES : IEEE/ACM GUIDELINES PERSPECTIVE , 2011 .

[14]  Claes Wohlin,et al.  An empirically based terminology and taxonomy for global software engineering , 2014, Empirical Software Engineering.

[15]  Fergal McCaffery,et al.  A Process Framework for Global Software Engineering Teams , 2012, Inf. Softw. Technol..

[16]  Lefteris Angelis,et al.  Offshore Insourcing: A Case Study on Software Quality Alignment , 2011, 2011 IEEE Sixth International Conference on Global Software Engineering.

[17]  Jan M. Pawlowski,et al.  Soft competency requirements in requirements engineering, software design, implementation, and testing , 2015, J. Syst. Softw..

[18]  Valentine Casey,et al.  Virtual software team project management , 2010, Journal of the Brazilian Computer Society.

[19]  Daniela E. Damian,et al.  RE challenges in multi-site software development organisations , 2003, Requirements Engineering.

[20]  Claes Wohlin,et al.  An extended global software engineering taxonomy , 2016, Journal of Software Engineering Research and Development.

[21]  Alok Mishra,et al.  A Global Software Inspection Process for Distributed Software Development , 2012, J. Univers. Comput. Sci..

[22]  Daniela E. Damian,et al.  How Best to Teach Global Software Engineering? Educators Are Divided , 2017, IEEE Softw..

[23]  Tony Clear,et al.  Challenges and Recommendations for the Design and Conduct of Global Software Engineering Courses: A Systematic Review , 2015, ITiCSE-WGR.

[24]  Leslie P. Willcocks,et al.  A review of the IT outsourcing literature: Insights for practice , 2009, J. Strateg. Inf. Syst..

[25]  Eleni Stroulia,et al.  Teaching distributed software engineering with UCOSP: the undergraduate capstone open-source project , 2011, CTGDSD '11.

[26]  Jan M. Pawlowski,et al.  A Competence-based View on the Global Software Development Process , 2015, J. Univers. Comput. Sci..

[27]  Nazmun Nahar,et al.  Key barriers of globally distributed software products development , 2011, 2011 Proceedings of PICMET '11: Technology Management in the Energy Smart World (PICMET).

[28]  Geir Kjetil Hanssen,et al.  From Offshore Outsourcing to Offshore Insourcing: Three Stories , 2012, 2012 IEEE Seventh International Conference on Global Software Engineering.

[29]  Darja Smite,et al.  An Exploratory Study of Software Evolution and Quality: Before, during and after a Transfer , 2012, 2012 IEEE Seventh International Conference on Global Software Engineering.

[30]  Darja Šmite,et al.  Ten Misconceptions That Might Kill Your Distributed Project , 2014 .

[31]  Justus J. Randolph Multidisciplinary Methods in Educational Technology Research and Development , 2008 .

[32]  Muhammad Ali Babar,et al.  How Can Agile Practices Minimize Global Software Development Co-ordination Challenges ? , 2009 .

[33]  Pernille Bjørn,et al.  Global Software Development: Commitment, Trust and Cultural Sensitivity in Strategic Partnerships , 2013 .

[34]  Eleni Stroulia,et al.  Lessons learned managing distributed software engineering courses , 2014, ICSE Companion.

[35]  Jodi Aronson A Pragmatic View of Thematic Analysis , 1995 .

[36]  Rashina Hoda,et al.  Embedding Reflection and Learning into Agile Software Development , 2014, IEEE Software.

[37]  G. Kannabiran,et al.  Determinants of software quality in offshore development - An empirical study of an Indian vendor , 2011, Inf. Softw. Technol..

[38]  Kevin Cleary,et al.  Agile methods for open source safety‐critical software , 2011, Softw. Pract. Exp..

[39]  Urvashi Rathod,et al.  Categorization of risk factors for distributed agile projects , 2015, Inf. Softw. Technol..

[40]  Muhammad Ali Babar,et al.  How Can Agile Practices Minimize Global Software Development Co-ordination Risks? , 2009, EuroSPI.

[41]  Olly Gotel,et al.  Introducing Global Supply Chains into Software Engineering Education , 2007, SEAFOOD.

[42]  Sandro Morasca,et al.  Applying SCRUM in an OSS Development Process: An Empirical Evaluation , 2010, XP.

[43]  S. A. Kumar,et al.  Factors affecting the outcome of Global Software Development projects: An empirical study , 2013, 2013 International Conference on Computer Communication and Informatics.

[44]  Fabian Fagerholm,et al.  Onboarding in Open Source Software Projects: A Preliminary Analysis , 2013, 2013 IEEE 8th International Conference on Global Software Engineering Workshops.

[45]  Sabrina Marczak,et al.  Challenges and Lessons Learned on Preparing Graduate Students for GSE Work: Brazilians' Perceptions on a Multi-site Course Experience , 2016, 2016 IEEE 11th International Conference on Global Software Engineering Workshops (ICGSEW).

[46]  Ita Richardson,et al.  FTS-SPM: A Software Process Model for Follow the Sun Development: Preliminary Results , 2014, 2014 IEEE International Conference on Global Software Engineeering Workshops.

[47]  Rune Hjelsvold,et al.  Global vs. local — Experiences from a distributed software project course using agile methodologies , 2015, 2015 IEEE Frontiers in Education Conference (FIE).

[48]  Alok Mishra,et al.  A review of non-technical issues in global software development , 2011, Int. J. Comput. Appl. Technol..