International Group Work in Software Engineering Julian M. Bass, J. T. Lalchandani and R. McDermott Collaboration between Robert Gordon University, Aberdeen, UK IIIT-Bangalore, India Changing software procurement processes Global software market, characterised by Offshore development Outsourcing relationships Distributed development models Julian Bass, RGU, Aberdeen
Global Software Development Pedagogical challenge for software engineering educators Traditional software engineering Software development in-the-large Programming plus Software processes (lifecycle, orchestration) Software practices (requirements analysis, design, testing) Team working (collaboration, planning) Use modern, so called agile, development methods Iterative and incremental approaches Focus on delivering value software Julian Bass, RGU, Aberdeen
Research Questions How can universities provide opportunities for students to gain first-hand experience of geographically distributed software development projects How can such project experiences be harnessed to improve employability skills in the commercial and global software sector? In short Learn about geographically distributed teams Learn skills for commercial practice Julian Bass, RGU, Aberdeen
Research Method Classroom-based action research Iterative process comprising Problem identification Planning Action Evaluation Open-ended student questionnaire Returned by 10 out of possible 12 students One student had no prior experience of group working Julian Bass, RGU, Aberdeen
Research Method Action Research Cycle 1 Initial pilot, feasibility study, volunteers Small selected cohort (Feb 2012 – June 2012) Action Research Cycle 2 Credit bearing pilot, volunteers Small selected cohort (Feb 2013 – June 2013) Action Research Cycle 3 Credit bearing Scaled-up to full class (Feb 2014 – June 2014) Beyond scope of today’s presentation Julian Bass, RGU, Aberdeen
Initial Pilot Objectives To enable students to: Explore software development in an international team Use social computing (collaboration) software tools to enable communication Use scrum, an agile software development methodology Assess the impact of culture on communication between team members 2 groups of 6 students (3 from UK, 3 from India) Groups produced: requirements and design documents, implemented software, testing results, and a project report Julian Bass, RGU, Aberdeen
Credit-Bearing Pilot Group project replaced another credit bearing activity Iterations scheduled through semester Team meetings in timetabled class time Intensive training workshop on agile methods Based on commercial short course offered by RGU Supervisors act as product owners Defining requirements Prioritising needs Monitoring progress Academic support also available Julian Bass, RGU, Aberdeen
Findings Students have Used range of Internet collaboration technologies Google groups, Skype, Github, Asaana and Whatsapp Trello, Rabbit svn, Dropbox, Jabbr etc. Learned need for precise communication Worked with diverse groups Welcomed agile software development methods Welcomed employability opportunities of simulated global team Julian Bass, RGU, Aberdeen
Findings Main challenges for students Communication problems Time zone differences Aligning prior experience of different team members Conflict resolution Selecting software tools and technologies Some differences in preferred skill sets Julian Bass, RGU, Aberdeen
Concluding Remarks Software development increasingly globalised Virtual student teams can provide Valuable learning about modern practices Experience of software processes Exposure to collaboration technologies Group working under challenging circumstances Future work Action Research Cycle 3 Roll out to class of ~30 students in UK Need to balance technical challenge against project realities Julian Bass, RGU, Aberdeen