Software engineering: learning, employment and globalization



Similar documents
International group work in software engineering

WHAT MAKES AGILE DEVELOPMENT DIFFERENT?: A CASE STUDY OF

A Case Study on Benefits and Side-Effects of Agile Practices in Large-Scale Requirements Engineering

Negotiating Contracts for Agile Projects: A Practical Perspective

How To Understand The Limitations Of An Agile Software Development

4/9/13. Global So(ware Development. GSD Roadmap

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

Comparing Agile Software Processes Based on the Software Development Project Requirements

Usage of SCRUM Practices within a Global Company

Implementing Information Technology in the Learning Process

Agile Software Development and Service Science

Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations

Agile So)ware Development

Success Factors of Agile Software Development

Software Engineering

How To Scale Agile Development With Knowledge Management

Agile Software Project Management with Scrum

Felix B. Tan and Hazel Chan The University of Auckland, New Zealand. Introduction ABSTRACT

Investigation of Adherence Degree of Agile Requirements Engineering Practices in Non-Agile Software Development Organizations

Neglecting Agile Principles and Practices: A Case Study

Orientation and Induction of the Beginning Teacher

A study of XP & Scrum: A Project Management Perspective

Akhil Kumar 1, Bindu Goel 2

5 Levels of Agile Planning: From Enterprise Product Vision to Team Stand-up

Chapter 2 Critical Success Factors for Global Software Development

Using Reflective Guides to Capture Software Projects Experience

FINANCE AND ACCOUNTING OUTSOURCING AN EXPLORATORY STUDY OF SERVICE PROVIDERS AND THEIR CLIENTS IN AUSTRALIA AND NEW ZEALAND.

Agile & the Declaration of Interdependence: A new approach to Process Improvement

Web Application Development Processes: Requirements, Demands and Challenges

Binary Priority List for Prioritizing Software Requirements

The Hong Kong Polytechnic University. Subject Description Form. Communication Strategies for Hospitality and Tourism

TEACHER LEADER. ACTION RESEARCH by Thomas J. Diana, Jr. Becoming a. through

MBA 6931, Project Management Strategy and Tactics Course Syllabus. Course Description. Prerequisites. Course Textbook. Course Learning Objectives

AGILE SOFTWARE DEVELOPMENT METHODOLOGIES: AN OVERVIEW OF THE CURRENT STATE OF RESEARCH

Development and Design: E- Portfolio on Project-based Learning with Assessment System

Hamid Faridani March 2011

The Agile approach Extreme Programming (XP) Implementing XP into a software project Introducing HCI design into agile software development Summary

Agile Framework for Globally Distributed Development Environment (The DAD Model)

Comparative Analysis of Agile Software Development Methodologies-A Review

"Bezpieczny Projekt"

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods

Communication Risks and Best Practices in Global Software Development during Requirements Change Management: A Systematic Literature Review Protocol

When User Experience Met Agile: A Case Study

A Risk Management Approach Based on Situational Method Engineering

Form 2B City University of Hong Kong

Water-Scrum-Fall Agile Reality for Large Organisations. By Manav Mehan Principal Agile consultant

How To Understand The Reactions Of Students Of The Layout And Graphics Design In Computer Course

11. ASSESSING PROBLEM-BASED LEARNING: A CASE STUDY OF A PHYSICS PROBLEM-BASED LEARNING COURSE

Tamanna Assistant Professor Chandigarh University Gharuan, Mohali,India

Teaching Education Students Through Interactive Scenario-Based Course Design. Kathleen Sheridan Department Chair National Louis University

School Administrators and the Importance of Utilizing Action Research

Agile and Secure: Can We Be Both?

An Approach for Using CMMI in Agile Software Development Assessments: Experiences from Three Case Studies

How To Write A Book On The History Of Universtiy

Human Aspects of Software Engineering: The Case of Extreme Programming

Keywords document, agile documentation, documentation, Techno functional expert, Team Collaboration, document selection;

A Software Development Simulation Model of a Spiral Process

Sociology 5083 Methods of Field Research

Communication in Firm-Internal Global Software Development with China

Agile Software Development and Service Science

Requirements Management in Global Software Development: Preliminary Findings from a Case Study in a SW-CMM context i

From Agile by Design. Full book available for purchase here.

Leadership and Learning: The Journey to National Accreditation and Recognition

Using Distributed Scrum for Supporting Online Collaborative Learning - A Qualitative Descriptive Study of Students Perceptions

How To Plan A Project

Comparing Plan-Driven and Agile Project Approaches

SYLLABUS COUN 509 Action Research in Education A SOLES-Global Course School of Leadership & Education Sciences University of San Diego.

Development. Lecture 3

Instructional Scaffolding for Online Courses

The Focus Group Interview and Other Kinds of Group Activities

Organization Development Consulting

Agile & Scrum: What are these methodologies and how will they impact QA/testing roles? Marina Gil Santamaria Summer 2007

SWX: The Software Extension to the PMBOK Guide for Project Management

SECC Agile Foundation Certificate Examination Handbook

Transcription:

Software engineering: learning, employment and globalization Julian M. Bass Robert Gordon University Aberdeen, UK j.m.bass@rgu.ac.uk C. Ramanathan IIIT-B Bangalore, India rc@iiitb.ac.in J. T. Lalchandani IIIT-B Bangalore, India jtl@iiitb.ac.in Abstract The paper describes an International Software Engineering Group-Project Pilot. Students were given an opportunity to explore software development in an international team. Social computing (collaboration) software tools were used to enable communication and joint working. An Agile software development method was used. The pilot was conducted as an exploratory extra-curricula activity. The student volunteers were distracted by assignments and credit-bearing assessments. Also, we noted that greater effort was required from supervisors to create a supportive management environment. Despite these shortcomings, the pilot has subsequently been integrated into the syllabus at both the participating institutions and will be further explored in a subsequent phase of the study. Our international software engineering group project pilot provides graduate employability benefits by offering first-hand experience of a geographically distributed software development model. Keywords Agile methods, global software development (GSD), problem-based learning (PBL) 1. Introduction Software development has become increasingly globalised because of technological innovation, the evolution of work and business processes, as well as prevailing educational systems and national policies (Aspray, et al., 2006). The trend towards globalised software production is irreversible, though not without contradictory forces, and is pioneered by software intensive high-technology businesses (Herbsleb and Moitra, 2001). Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission. 2013 The Higher Education Academy

Global software development (GSD), involving outsourced, offshore and distributed development models, has become the norm in large enterprises as a result of the pressure to compete in the global software market. This paper addresses two related research questions: (1) how can universities provide opportunities for students to gain first-hand experience of geographically distributed software development projects? and (2) how can these project experiences be harnessed to improve employability skills in the commercial software sector? The paper is structured as follows. The following section considers experiential and project based learning. We then introduce agile software development methods in the Section 3. Next, Section 4 describes the research methodology used, in this case a classroom-based action research approach. This is followed by Section 5 which describes our International Software Engineering Group-Project Pilot, which enabled students from Aberdeen, UK and Bangalore, India to collaboratively design and build a software system. Section 6 lists our key findings based-on the first cycle of our project pilot, and Section 7 concludes our paper. 2. Experiential and Project-based Learning Methods An intention of experiential or problem-based learning is to create learning situations that are open-ended, self-directed and that are founded on enquiry and discovery. These ideas have been characterised as Experiential Learning (Kolb, 1984), or Problem-Based Learning (PBL) (Boud and Feletti, 1997). Learning in isolation from previous experience is not possible. Learning must engage with, and build upon the prior experience of learners. Learning takes place when an external stimulus transforms previous experience. All learners have individual attitudes, feelings and knowledge obtained from their unique past which predisposes their likely acceptance of certain new concepts and ideas (Dewey, 1938). Writing and reflection are helpful in helping learners construct and reconstruct their experiences (Boud et al, 1993). An important part of a learner s experience is the social and cultural context in which experiences occur. The intention of PBL is to design area specific study scheme in a groupsetting for learners, around problems closely related to a real life scenario (Thorley & Gregory, 1994). Such an approach helps model the ways people learn to solve problems by applying their knowledge and skills. Further, the tutor supports student groups rather than deciding on subject matter and teaching facts. This gives students control over the inquiry process and eases connections to their previous experiences. This enhances the credibility and relevance of the entire learning process. Prior to joining a professional group, project work provides an opportunity to rehearse activities without the immediate pressure of assessment. Such activities enable the learner to develop skills and construct newer understanding in a safe environment. Due to direct learner involvement, project work attracts the advantages of experiential learning along with opportunities for learners to follow their particular interests within the project. Each project is unique providing an individual experience to the learner.

However, such an approach demands supervisor initiative along with suitable solution analysis and its evaluation. This project supervision process requires careful handling without too much intervention and over-direction, as well as avoiding under-direction which can result in confusion and uncertainty within student learners. 3. Agile Software Development Methods There are a range of agile software development methods including: Scrum (Schwaber and Beedle, 2001) and Extreme Programming (XP) (Beck and Andres, 2004). XP has been associated with engineering practices such as test-driven development and pair programming. In contrast with the engineering focus of XP, scrum has tended to focus on the orchestration and management of agile development. Scrum proposes short, focused periods of development called sprints; typically lasting between two and four weeks. Software requirements are captured, analyzed and prioritized in the form of brief textual, non-technical descriptions called user stories. The user stories are prioritized, before the start of each sprint, by a product owner who represents the strategic needs of the client. Stakeholders work together to create work estimates for each user story using a consensus-based scoring technique. Project team members communicate using a daily scrum meeting. The scrum is traditionally conducted standing up, in a conscious effort to minimise the duration of the meeting. 4. Research Methodology The research methodology adopted in this study is classroom-based action research. Action research is a practitioner-based, iterative methodology for analysing and reflecting upon practice (Lewin, 1982; Lau and Hayward, 1997; McNiff, 2001). Action research is usually associated with an effort to effect positive change in practice or to overcome some perceived challenge or problem (O Brien, 2001). As a part of our action research cycle, reflection was aided by the use of a journal which included entries made at critical points throughout the projects (Schon, 1983). These journal entries were then reviewed, coded and analysed (Patton, 2002). The action research cycle comprises the following phases: (1) problem identification, (2) planning, (3) action and (4) evaluation (McNiff, 2001). Each of these phases have been applied in turn during the International Software Engineering Group-Project Pilot. A second action research cycle will commence in January 2013, when classes are scheduled in the formal syllabus of both institutions. 5. International Group-Project Pilot Our International Software Engineering Group Project Pilot was jointly carried out between two collaborating universities: (1) International Institute of Information Technology, Bangalore (IIIT-B), and (2) Robert Gordon University (RGU). The planned pilot project has three main aims. Firstly, to introduce the principles and techniques required to become an effective member of a global software development team. Secondly, to introduce the

concepts and techniques associated with good project management practices. Thirdly, to introduce the main activities associated with the development of software projects, including: project planning, requirements gathering and analysis, system design, implementation and testing. The main objectives of the pilot were to enable such students to have an opportunity to:- 1. Explore software development in an international team, 2. Use social computing (collaboration) software tools to enable communication, 3. Use an Agile software development methodology (we will offer XP and Scrum), 4. Assess the impact of culture on communication between team members. Two Groups of 6 students were formed comprising 3 students from each participating institution. Each group appointed a project manager; this role was rotated through the group members during the project. Groups met both locally and collectively online, decisions were recorded by the group as whole. Each group was expected to produce: requirements and design documents, implemented software, testing results, and a project report. Participants were selected from the volunteers on the basis of previous experience, academic performance, individual class attendance records and communication skills (as assessed by oral interview). Groups were given an opportunity to undertake some training in the chosen software development process. 6. Findings Our evaluation of the pilot project identified the following findings. 1. Students found it difficult to overcome challenges associated with working in teams across different time zones. While time difference between India and UK is not that bad (compared to say India and USA), students still did not manage to find a suitable common time slot to hold virtual daily stand-up meetings as required by the agile process. 2. Unlike a real-life project, in this project the IIIT-B students were concurrently having other courses, classes and assessments. This proved detrimental to effective collaboration with the team members from RGU. 3. The IIIT-B students were more tuned towards programming and getting it done than following the processes in line with the objectives of pilot project. So there was a bit of disconnect between the personal goals of the students and the goals of the project. 4. In contrast the RGU students did not have strengths in the chosen implementation technologies. Consequently they felt excluded from technical activities and had difficulty emphasizing the agile process issues. 5. None of the students were familiar with agile processes, some training was provided during the project. However, both project teams found it difficult to move away from a traditional waterfall approach.

7. Impact on employability Introducing agile practices through the international group project helped us offer students a realistic taste of prevailing working mechanisms in the contemporary global software industry. This increased both employment opportunities and potential employer acceptance. The agile-based PBL mode of instruction helped us raise the problem solving capabilities of all the students to a completely new level. 8. Concluding remarks Both institutions have adopted the project into their formal syllabus following the pilot. This will help mitigate shortcomings in the pilot due to its extra-curricular nature. The following lessons were taken from the pilot project: (1) more proactive agile project management should be implemented by staff members, (2) students need to be provided with direct support and guidance in the agile process, and (4) implementation technology selection should consider prior experience of both student groups. Our international software engineering group project pilot provides employability benefits because students gain firsthand experience of a geographically distributed software development model. References Aspray, W., Mayadas, F. and Vardi, M. Y. eds. 2006. Globalization and Offshoring of Software: A Report of the ACM Job Migration Task Force. Available at: http://www.acm.org/globalizationreport/ [Accessed September 25, 2011]. Herbsleb, J.D. and Moitra, D. 2001. Global software development, IEEE Software (18:2), pp. 16-20. Schwaber, K., and Beedle, M., 2001. Agile Software Development with Scrum. Upper Saddle River, NJ: Prentice Hall. Beck, K., & Andres, C., Extreme Programming Explained, 2nd ed. Addison Wesley, 2004. J. McNiff, Action Research: Principles and Practice, 2nd Edition, Routledge, 2001. Patton, M. Q., Qualitative Research and Evaluation Methods, Sage Publications, Thousand Oaks, California, 3rd Edition, 2002. Schön, D., The Reflective Practitioner, Basic Books, New York, 1983. Boud, D., & Feleltti, G., 1997. The Challenge of Problem-Based Learning 2nd ed., London: Kogan Page. Lewin, K., 1982. Action Research and Minority Problems 2nd ed., Victoria, Australia: Deakin University Press. Kolb, D. A., 1984. Experiential Learning: Experience as a Source of Learning, Englewood Cliffs: Prentice Hall. Boud, D, Cohen, R and Walker, D., (Eds) (1993) Using Experience for Learning, The Society for Research in Higher Education and Open University Press, Buckingham, UK. Dewey, J (1938) Experience and Education, reproduced, by arrangement with Kappa Delta Pi, in Touchstone, New York, 1997. Thorley, L., & Gregory, R., 1994. Using Group-Based Learning in Higher Education, London: Kogan Page Ltd.

Lau, F., and Hayward, R. Structuration of Internet-based Collaborative Work Groups through Action Research. 2/5 1997. httlp://search.ahfmr.ab.ca/tech_eval/gss.htm (11/4/1998). O Brien, R. (2001). An Overview of the Methodological Approach of Action Research. In Roberto Richardson (Ed.), Theory and Practice of Action Research. Available: http://www.web.ca/~robrien/papers/arfinal.html (Accessed 20/1/2002).