Article
To read the full-text of this research, you can request a copy directly from the authors.

Abstract

The Global Software Development (GSD) strategy has introduced many benefits into the modern software industry, but it has also created many risks that can negatively affect the quality of the final product. Moreover, this approach is still in constant evolution and therefore diverse issues and challenges related to geographical, temporal, and socio-cultural distances are also present. Therefore, many universities around the world are increasing their efforts in creating programs to prepare more skilled graduates to work in globally distributed environments. However, providing GSD courses among universities distributed in different locations is not so profitable and normally involves a high number of collaborations among various teachers and students that traditional teaching approaches cannot support. In this study, the Cadxela tool is presented to enable undergraduate students to acquire practical experience in GSD and improve their communication and teamworking skills. An empirical evaluation was conducted on Cadxela involving students and teachers from five universities in Mexico, Spain, Chile, Cuba, and Peru. The participants developed a total of 15 projects in order to experience different problems related to geographical, temporal, and socio-cultural distances. The obtained results from pre and post-evaluations showed that Cadxela can contribute in facilitating the development of practical projects on GSD undergraduate courses, while students develop their knowledge, social skills associated with this topic as well as teamworking and communication skills. Finally, the data collected on the teachers’ perceptions suggested that Cadxela can also be a useful tool for introducing the GSD approach at undergraduate level.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... Often, students also have the choice between both variants, which can be particularly helpful when studying across time zones. The Cadxela tool [10] allows students to gain hands-on experience in a distributed teaching environment for software development projects. ...
... Every student got the same task at the beginning of the term: They had to program the behavior of a non-player character within the dungeon that was supposed to fight the player character, collect a flag and carry it to an exit. For the realization of the games and the assignment solutions, all teams got the same 3d game framework based on JMonkeyEngine 10 . The solution of the assignment was also supposed to be part of their game. ...
Conference Paper
Education in software engineering is a must in all computer science courses. At the Institute for Software Technology, we are responsible for all teaching in this area. For many years we have developed and continuously refined a software development project course to serve these topics. The COVID-19 pandemic had a particular impact on our project course and the way we taught during that time. We describe how we adapted the course to these new conditions. In particular, we used an automated program assessment system that helped us keep the difficulty of all assignments constant for the different student teams while maintaining the motivation of the individual students on each team. In this paper, we demonstrate that our approach was robust even in an emergency remote teaching (ERT) environment, is based on a continuous improvement process, feedback evaluation, and process adaptation, and will continue at an improved level in the post-corona era. Students report that the course had been fun.
... Taking into account such characteristics and design implications for supporting the distributed development of projects through the integration of CWS, the Cadxela tool was developed as the main technological support for undergraduate courses [17]. During the COVID-19 pandemic, new software requirements were developed to improve its functionalities. ...
... Cadxela was introduced into an undergraduate GSD course with the aim of performing a first empirical evaluation with real students during the 2018-2019 academic year. The course was designed and delivered by teachers from five universities in Chile, Cuba, Mexico, Peru, and Spain, while a total of 20 fourth-year Computer Science students (five students per university) participated in the study [17]. Later, during the first academic semester of 2020 the study was extended using our approach as the main educational support when COVID-19 contagion had considerably impacted education throughout the world. ...
Article
Full-text available
This paper presents our experience implementing Collaborative Working Spheres (CWS) in the context of an international undergraduate course on Global Software Development (GSD) during the COVID-19 pandemic. Many universities around the world increased their efforts in creating educational alternatives for adequately addressing the educational challenges that this pandemic has introduced. A particular case is the training of software skilled graduates to work in globally distributed environments because learning this topic requires a lot of practical work when student motivation could have been negatively affected by the COVID-19 pandemic. However, providing highly practical GSD courses during a pandemic is a challenging task for many of these universities. It is against this backdrop that we have developed an educational tool to provide CWS, enabling undergraduate students to acquire practical experience in GSD and improve their communication and teamworking skills, even during the COVID-19 pandemic. An international empirical evaluation was conducted involving students and teachers from seven universities in different countries around the world. The obtained results showed that our approach can make a significant contribution to the development of practical projects on undergraduate GSD courses with students developing their knowledge and social skills associated with this topic. The data collected on the teachers’ perceptions suggested that our approach could also be useful in introducing the GSD approach at undergraduate level when social distancing is in place.
... Several previous works have addressed the issue of REE, but experience and experimental reports on REE are scarce in the literature. Many works have reported different pedagogy to impart the knowledge of RE, SE, and DT to the students [5,7,8,18,19,24,45,46]. ...
Article
Teaching requirements engineering (RE) is one of the challenging parts of any software engineering (SE) education curriculum because it deals with understanding the problem from multiple perspectives and acquiring a holistic view of the system. Academicians have adopted several innovative approaches to teaching RE concepts to students, and design thinking (DT) is one of them. DT integrates the needs of people, technology, and requirements and can help learn and apply human‐centered techniques to solve problems. An experimental study is conducted with 315 undergraduate students to realize how they can learn the RE process effectively by combining DT methods with the RE concepts for an effective RE education. This study intends to identify how this integration help students in using multiple elicitation methods, better visualization and understanding of the system requirements, and achieving various teaching objectives. An experimental study was planned and executed with students by integrating DT methods for RE activities from the beginning of problem definition to the final solution. The evaluation was done by collecting students' responses to pre‐survey and post‐survey questions capturing the students' perspectives on the RE and DT techniques. The students' responses suggested that the DT drive RE activities to improve their learning, thinking abilities, engagement with the team, and teamwork. Additionally, the students' artifacts during the DT process have also been evaluated. The use of DT methods helped in understanding the elicitation process and, consequently, helped reach the solution.
Article
The standard of any country in the global world is dependent highly on the intellect content of the people. This intellect content is in turn dependent exclusively upon the quality of the higher education in the country. The aim of this research work is to perform an empirical evaluation to rank various quality parameters suggested by the National Board of Accreditation. This national board was established in India in 1994 by the All India Council for Technical Education with the main motive of assessing the quality of various Higher Educational Institutions. It provides marks to institutions out of 1000 on the basis of 10 parameters, which are further subdivided into 75 subparameters. This research work helps to guide educational institutions to access their weak points during and before applying for this accreditation to recover from them timely and in the most effective manner. An extended model of fuzzy COPRAS (COmplex PRoportional ASsessment) is proposed as an improved multicriteria decision‐making approach to first identify and then set preferences to help institutions improve their data related to accreditation key indicators. The work is divided into four steps. First, all the critical evaluation factors for the accreditation process are identified in consultation with senior, experienced and qualified academicians. They are then converted into fuzzy triangular numeric values and crisp weights. Lingual values and corresponding fuzzy weights of various preference key indicators are then identified and converted into crisp weights. Further critical factors are divided into price and profit values. Finally, key indicators are ranked using extended fuzzy COPRAS. A comparative ranking analysis is generated as end result through fuzzy COPRAS, TOPSIS (Technique for Order of Preference by Similarity to Ideal Solution) and WASPAS (Weighted Aggregated Sum Product Assessment) approaches, which shows that the proposed model generates better ranking results. The proposed model is applicable to any accreditation process with a varied set of parameters and their subparameters.
Article
Full-text available
One of the challenges of global software engineering courses is to bring the practices and experience of large geographically distributed teams into the local and time-limited environment of a classroom. Over the last 6 years, an on-campus studio course for software engineering has been developed at the University of Queensland (UQ) that places small teams of students on different features of a common product. This creates two layers of collaboration, as students work within their teams on individual features, and the teams must interoperate with many other teams on the common product. The class uses continuous integration practices and predominantly asynchronous communication channels (Slack and GitHub) to facilitate this collaboration. The original goal of this design was to ensure that students would authentically experience issues associated with realistically sized software projects, and learn to apply appropriate software engineering and collaboration practices to overcome them, in a course without significant extra staffing. Data from the development logs showed that most commits take place outside synchronous class hours, and the project operates as a temporally distributed team even though the students are geographically co-located. Since 2015, a course adapted from this format has also been taught at the University of New England (UNE), an Australian regional university that is also a longstanding provider of distance education. In this course, most students study online, and the class has to be able to work globally, because as well as students taking part from around Australia, there are also typically a small number of students taking part from overseas. Transferring the course to a smaller but predominantly online institution has allowed us to evaluate the distributed nature of the course, by considering what aspects of the course needed to change to support students who are geographically distributed, and comparing how the two cohorts behave. This has produced an overall course design, to teach professional distributed software engineering practices, that is adaptable from large classes to small, and from local to global.
Article
Full-text available
Teaching Distributed Software Development with real distributed settings is a challenging and rewarding task. Distributed courses are idiosyncratically more challenging than standard local courses. We have experienced this during our distributed course, which has been run for 14 consecutive years. In this article, we present and analyze the emerging diversities specific to distributed project-based courses. We base our arguments on our experience, and we exploit a three-layered distributed course model, which we use to analyze several course elements throughout the 14-years lifetime of our distributed project-based course. In particular, we focus on the changes that the course underwent throughout the years, combining findings obtained from the analyzed data with our own teaching perceptions. Additionally, we propose insights on how to manage the various diversity aspects.
Article
Full-text available
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.
Article
Full-text available
Context: Organizations increasingly develop software in a distributed manner. The Cloud provides an environment to create and maintain software-based products and services. Currently, it is unknown which software processes are suited for Cloud-based development and what their effects in specific contexts are. Objective: We aim at better understanding the software process applied to distributed software development using the Cloud as development environment. We further aim at providing an instrument, which helps project managers comparing different solution approaches and to adapt team processes to improve future project activities and outcomes. Method: We provide a simulation model, which helps analyzing different project parameters and their impact on projects performed in the Cloud. To evaluate the simulation model, we conduct different analyses using a Scrumban process and data from a project executed in Finland and Spain. An extra adaptation of the simulation model for Scrum and Kanban was used to evaluate the suitability of the simulation model to cover further process models. Results: A comparison of the real project data with the results obtained from the different simulation runs shows the simulation producing results close to the real data, and we could successfully replicate a distributed software project. Furthermore, we could show that the simulation model is suitable to address further process models. Conclusion: The simulator helps reproducing activities, developers, and events in the project, and it helps analyzing potential tradeoffs, e.g., regarding throughput, total time, project size, team size and work-in- progress limits. Furthermore, the simulation model supports project managers selecting the most suitable planning alternative thus supporting decision-making processes.
Article
Full-text available
Global software development (GSD) is a prevalent trend which has fascinated most software companies. However, the failure rate of GSD projects reveals the fact that these types of projects are not an easy endeavor. Management of GSD project is a domain where standards are still lacking and companies are still struggling to acquire a win-win situation. Project management body of knowledge (PMBOK) provides a standard framework for managing projects. However, the framework does not consider the aspects of GSD. Thus, it can't be applied directly for GSD projects. In this paper, we have proposed a project management framework for GSD projects. This framework assimilates the knowledge areas of PMBOK with knowledge areas needed for effective management of GSD. It would guide GSD project manager about the aspects to be considered while executing distributed projects. This framework would also act as a baseline to researchers for further investigation in GSD project management domain.
Article
Full-text available
Aim/Purpose: This paper aims to describe how various Kanban elements can help alleviate two prominent types of challenges, communication and collaboration in Global Software Development (GSD). Background: Iterative and Lean development methodologies like Kanban have gained significance in the software development industry, both in the co-located and globally distributed contexts. However, little is known on how such methodologies can help mitigate various challenges in that occur in a globally distributed software development context. Methodology: The study was conducted using a single-case study based on a general inductive approach to analysis and theory development. Through the literature review, collaboration and communication challenges that GSD teams face were identified. Data collected through semi-structured interviews was then inductively analyzed to describe how the case-study teams employed various Kanban elements to mitigate communication and collaboration challenges they face during GSD. Findings: The study found that some Kanban elements, when properly employed, can help alleviate collaboration and communication challenges that occur within GSD teams. These relate to Inclusion Criteria, Reverse Items, Kanban Board, Policies, Avatars, and Backlog. Contribution: The paper contributes to knowledge by proposing two simple concept maps that detail the specific types of communication and collaboration challenges which can be alleviated by the aforementioned Kanban elements in GSD. Recommendations for Practitioners: This paper is relevant to GSD teams who are seeking ways to enhance their team collaboration and communication as these are the most important elements that contribute to GSD project success. It is recommended that relevant Kanban elements be used to that effect, depending on the challenges that they aim to alleviate. Future Research: Future research can investigate the same research questions (or similar ones) using a quantitative approach.
Article
Full-text available
Pioneering educators discuss how they inject realism into global-software-engineering education.
Article
Full-text available
Global software engineering (GSE) is becoming common. It's thus important to educate university software engineering students in GSE. The authors discuss challenges to and recommendations for implementing such instruction.
Conference Paper
Full-text available
Context: Global Software Engineering (GSE) has become the predominant form of software development for global companies and has given rise to a demand for students trained in GSE. In response, universities are developing courses and curricula around GSE and researchers have begun to disseminate studies of these new approaches. Problem: GSE differs from most other computer science fields, however, in that practice is inseparable from theory. As a result, educators looking to create GSE courses face a daunting task: integrating global practice into the local classroom. Aim: This study aims to ameliorate the very difficult task of teaching GSE by delineating the challenges and providing some recommendations for overcoming them.
Article
Full-text available
Requirements elicitation is one of the most important and challenging activities in software development projects. A variety of challenges related to requirements elicitation are reported in the literature, of which the lack of proper communication and knowledge transfer between software stakeholders are among the most important. Communication and knowledge transfer are becoming even bigger challenges with the current increase in globally distributed software development projects due to the temporal, geographic, and sociocultural diversity among software stakeholders. In this study, we propose a new approach to requirements elicitation, which employs online serious games for gathering requirements from distributed software stakeholders. The feasibility and effectiveness of the proposed approach were evaluated in an empirical study with encouraging results. These results especially reveal that our suggested approach enables less-experienced individuals to identify a higher number of requirements. Our results also reveal that for the majority of subjects, especially individuals with less technical experience, this approach was a pleasant and easy way of participating in requirements elicitation. Based on these results we suggest that using online serious games not only enhances innovation and creativity among end-users but also facilitates collaboration and communication among software stakeholders. Implications for both research and practice are considered.
Conference Paper
Full-text available
Effort estimation is a project management activity that is mandatory for the execution of software projects. Despite its importance, there have been just a few studies published on such activities within the Agile Global Software Development (AGSD) context. Their aggregated results were recently published as part of a secondary study that reported the state of the art on effort estimation in AGSD. This study aims to complement the aforementioned secondary study by means of an empirical investigation on the state of the practice towards effort estimation in AGSD. To do so, a survey was carried out using as instrument an on-line questionnaire and a sample comprising software practitioners experienced in effort estimation within the AGSD context. Results show that the effort estimation techniques used within the AGSD and collocated contexts remained unchanged, with planning poker being the one employed the most. Sourcing strategies were found to have no or a small influence upon the choice of estimation techniques. With regard to effort predictors, global challenges such as cultural and time zone differences were reported, in addition to factors that are commonly considered in the collocated context, such as team experience. Finally, many challenges that impact the accuracy of the effort estimates were reported by the respondents, such as problems with software requirements and the fact that the communication overhead between sites is not properly accounted.
Article
Full-text available
The globalization of software development industry continues to experience a significant growth. The increased trend of globalization brings new challenges, increases the scope of the core functions of human resource management and impacts the dynamics of process improvement. The aim of this study is to explore the challenges of globalization and indicators of process improvement in distributed teams’ environment. This study also explores the impact of HRM practices on challenges of global software development, and, the impact of HRM practices and challenges of global software development on process improvement. The exploratory mixed method design is adapted as research methodology for this study. In this multi-method approach, study is completed in two phases. In first phase, qualitative data is collected, and analyzed to explore the study variables and their relationships in global software development environment. In second phase, quantitative data is collected, and analyzed to validate the findings of first phase. The findings of this study suggest that the challenges of global software development negatively impact the process improvement; but, effective HRM practices help to minimize the negative impact of challenges and positively impacts the process improvement in global software development environment.
Conference Paper
Full-text available
A young offshore software industry has grown up in Morocco. The University of Brest has set up a network of major software companies and Moroccan universities, providing two mobility schemes towards France. Both schemes include a final internship on the French side of global companies, with pre-employment on the Moroccan side – a successful internship being the key that opens the door to recruitment. Student heterogeneity, and student reluctance to move towards a professional attitude are important barriers to employability. Hence, we redesigned a significant proportion of our technical courses to use a problem-based learning (PBL) approach. The PBL approach is illustrated through drawing parallels with the production of a TV series. Three aspects of the approach are presented: (i) set-up of the studio in which sessions are run, i.e. a real software project, its work products and its software development environment; (ii) pre-production tasks including the screenwriting of problem-based learning scenarios and the procurement of input artefacts; and (iii) acting, i.e. students' interpretation of characters (roles) and teacher direction.
Article
Full-text available
Teaching distributed software development (DSD) in project courses where student teams are geographically distributed promises several benefits. One main benefit is that in contrast to traditional classroom courses, students can experience the effects of distribution and the mechanisms for coping with distribution by themselves, therefore understanding their relevance for software development. They can thus learn to take more care of distribution challenges and risks when starting to develop software in industry. However, providing a sustainable environment for such project courses is difficult. A development environment is needed that can connect to different distributed teams and an ongoing routine to conduct such courses needs to be established. This article sketches a picture of the Software Factory, a platform that supports teaching distributed student projects and that has now been operational for more than three years. We describe the basic steps of conducting Software Factory projects, and portray experiences from past factory projects. In addition, we provide a short overview of related approaches and future activities.
Article
Full-text available
Computer systems cannot improve organizational performance if they aren't used. Unfortunately, resistance to end-user systems by managers and professionals is a widespread problem. To better predict, explain, and increase user acceptance, we need to better understand why people accept or reject computers. This research addresses the ability to predict peoples' computer acceptance from a measure of their intentions, and the ability to explain their intentions in terms of their attitudes, subjective norms, perceived usefulness, perceived ease of use, and related variables. In a longitudinal study of 107 users, intentions to use a specific system, measured after a one-hour introduction to the system, were correlated 0.35 with system use 14 weeks later. The intention-usage correlation was 0.63 at the end of this time period. Perceived usefulness strongly influenced peoples' intentions, explaining more than half of the variance in intentions at the end of 14 weeks. Perceived ease of use had a small but significant effect on intentions as well, although this effect subsided over time. Attitudes only partially mediated the effects of these beliefs on intentions. Subjective norms had no effect on intentions. These results suggest the possibility of simple but powerful models of the determinants of user acceptance, with practical value for evaluating systems and guiding managerial interventions aimed at reducing the problem of underutilized computer technology.
Article
Full-text available
Information technology (IT) acceptance research has yielded many competing models, each with different sets of acceptance determinants. In this paper, we (1) review user acceptance literature and discuss eight prominent models, (2) empiri- cally compare the eight models and their exten- sions, (3) formulate a unified model that integrates elements across the eight models, and (4) empiri- cally validate the unified model. The eight models reviewed are the theory of reasoned action, the technology acceptance model, the motivational model, the theory of planned behavior, a model combining the technology acceptance model and the theory of planned behavior, the model of PC utilization, the innovation diffusion theory, and the social cognitive theory. Using data from four organizations over a six-month period with three points of measurement, the eight models ex- plained between 17 percent and 53 percent of the variance in user intentions to use information technology. Next, a unified model, called the Unified Theory of Acceptance and Use of Tech- nology (UTAUT), was formulated, with four core determinants of intention and usage, and up to four moderators of key relationships. UTAUT was then tested using the original data and found to outperform the eight individual models (adjusted
Article
In the changing software development, training on tools and techniques are neceßary for the developers for better quality. Global software development faces great challenge for employee training as project members are scattered geographically. Developers should aware of the custom and culture of co-developers to improve their social and interpersonal competencies such as negotiation, teamwork, conflict resolution, time management, leadership, and communication using common language. The paper discußed a framework for agent based training model that can simulate global software development from different cultures; allows learners to train asynchronously as the agents are always available, and permits to play different roles in the various stages of project development. The framework also provides effective client training on product and effective for the discußion between the client and the developer and thus reduces the effort. The model was evaluated with online geographically separated trainees and trainers and analysed the feedback.
Article
Global software development (GSD) has become a rising software development model in the last few years. Although much research has been performed in terms of GSD management, GSD governance research is scarce at the present time and presents multiple challenges that need to be addressed. In this paper, a systematic mapping study has been conducted, the aim of which was to discover the main issues dealt with in GSD governance literature, as well as to point out the particular research gaps that are still present in this domain. This allowed us to find out new challenges to be addressed, along with possible solutions to these. The results reveal a lack of research in key aspects such as tools, culture, people, and information, all of which provides a great opportunity for future approaches while also highlighting new opportunities in GSD governance research.
Article
Context: Teaching global software engineering is continuously evolving and improving to prepare future software engineers adequately. Geographically distributed work in project-oriented software development courses is both demanding and rewarding for student teams, who are susceptible to various risks stemming from different internal and external factors, being the sources of stress and impacting team performance. Objective: In this paper, we analyze the resilience of teams of students working in a geographically fully distributed setting. Resilience is analyzed in relation to two representative stress factors: non-contributing team members and changes to customer project requirements. We also reason on team collaboration patterns and analyze potential dependencies among these collaboration patterns, team resilience and stress factors. Method: We conduct a longitudinal case-study over five years on our Distributed Software Development (DSD) course. Based on empirical data, we study team resilience to two stress factors by observing their impact on process and product quality aspects of team performance. The same performance aspects are studied for identified collaboration patterns, and bidirectional influence between patterns and resilience is investigated. Results: Teams with up to two non-contributing members experience graceful degradation of performance indicators. A large number of non-contributing students almost guarantees the occurrence of educationally undesirable collaboration patterns. Exposed to requirements change stress, less resilient teams tend to focus on delivering the functional product rather than retaining a proper development process. Conclusions: Practical recommendations to be applied in contexts similar to our case have been provided at the end of the study. They include suggestions to mitigate the sources of stress, for example, by careful planning the team organization and balancing the number of regular and exchange students, or by discussing the issue of changing requirements with the external customers before the start of the project.
Article
We are pleased to introduce this Special Issue on Global Software Engineering Education published by the ACM Transactions on Computing Education (TOCE) that focuses on educational practices to prepare students for a global workplace. This issue comes at a time when universities are recognizing the need to provide courses that address the challenges of distributed development and presents research that will facilitate course leaders currently running, or embarking on, Global Software Engineering Education (GSE-Ed).
Article
Global Software Development (GSD) is currently a strong industry trend. This means that if computer science engineers are to be trained to deal with this model, it is very important to include the topic in software engineering courses, attempting to ensure that students learn about GSD and become familiar with its advantages and challenges. However, software engineering courses do not always consider including it in their curricula. It must also be recognized that it is difficult to find a suitable method to teach/develop the different skills needed for GSD. There is often a lot of content and not a great deal of time available to teach it. In this article, we propose the use of a serious game called GSD-Aware, with which students can “suffer” some of the typical challenges of GSD by interacting with avatars and by using several means of communication to solve a number of problems posed. The article focuses on the description of the game and on the empirical study conducted to analyze whether GSD-Aware helps students to be conscious of GSD challenges. It was discovered that after 50 minutes playing the game, the students were aware of the greater influence that the following factors can have: lack of coordination, lack of trust, cultural differences, lack of face-to-face and informal communication, time difference, and lack of team spirit. In their final analysis, students agreed that the serious game scenarios helped them to understand what GSD is and to grasp the importance of some GSD challenges.
Conference Paper
Global software engineering poses unique challenges to distributed teams and tasks. Engineering education should reflect these real-world scenarios as closely as possible. Due to budgetary constraints and the complexity of conducting global software engineering education, students have limited opportunities to gain international experience. A global software engineering class conducted by the Ritsumeikan University in Japan and the Technical University of Nuremberg in Germany is described. A problem-based learning approach provided students experience working in international software development teams.
Article
Global Software Development (GSD) is a well established field of software engineering with the benefits of a global environment. Software Project Management (SPM) plays a key role in the success of GSD. As a result, the need has arisen to study and evaluate the downsides of SPM for GSD, to thereby pave the way for the development of new methods, techniques, and tools with which to tackle them. This paper aims to identify and classify research on SPM approaches for GSD that are available in the literature, to identify their current weaknesses and strengths, and to analyze their applications in industry. We performed a Systematic Mapping Study (SMS) based on six classification criteria. Eighty-four papers were selected and analyzed. The results indicate that interest in SPM for GSD has been increasing since 2006. As a class of approaches, the most frequently reported methods (40%) are those used for coordination, planning, and monitoring, along with estimation techniques that can be used to better match a distributed project. SPM for GSD requires further investigation by researchers and practitioners, particularly with respect to cost and time estimations. These findings will help overcome the challenges that must to be considered in future SPM research for GSD, especially regarding collaboration and time-zone differences.
Article
Requirements elicitation is a critical activity that forms part of the Requirements Engineering process because it has to discover what the software must do through a solid understanding of the wishes and needs of the various stakeholders and to transform them into software requirements. However, in spite of its relevance, there are only a few systematic literature reviews that provide scientific evidence about the effectiveness of the techniques used to elicit software requirements. This study presents a systematic review of relevant literature on requirements elicitation techniques, from 1993 to 2015, by addressing two research questions: Which mature techniques are currently used for eliciting software requirements? and Which mature techniques improve the elicitation effectiveness? Prior literature assumes that such “maturity” leads to a better-quality understanding of stakeholders’ desires and needs, and thus an increased likelihood that a resulting software will satisfy those requirements. This research paper found 140 studies to answer these questions. The findings describe which elicitation techniques are effective and in which situations they work best, taking into account the product which must be developed, the stakeholders’ characteristics, the type of information obtained, among other factors.
Conference Paper
[This Proceedings paper was revised and published in the journal Issues in Informing Science and Information Technology] Aim/Purpose : This paper aims to describe how various Kanban elements can help alleviate two prominent types of challenges, communication and collaboration in Global Software Development (GSD). Background: Iterative and Lean development methodologies like Kanban have gained significance in the software development industry, both in the co-located and globally distributed contexts. However, little is known on how such methodologies can help mitigate various challenges in that occur in a globally distributed software development context. Methodology: The study was conducted using a single-case study based on a general inductive approach to analysis and theory development. Through the literature review, collaboration and communication challenges that GSD teams face were identified. Data collected through semi-structured interviews was then inductively analyzed to describe how the case-study teams employed various Kanban elements to mitigate communication and collaboration challenges they face during GSD. Findings: The study found that some Kanban elements, when properly employed, can help alleviate collaboration and communication challenges that occur within GSD teams. These relate to Inclusion Criteria, Reverse Items, Kanban Board, Policies, Avatars, and Backlog. Contribution: The paper contributes to knowledge by proposing two simple concept maps that detail the specific types of communication and collaboration challenges which can be alleviated by the aforementioned Kanban elements in GSD. Recommendations for Practitioners: This paper is relevant to GSD teams who are seeking ways to enhance their team collaboration and communication as these are the most important elements that contribute to GSD project success. It is recommended that relevant Kanban elements be used to that effect, depending on the challenges that they aim to alleviate. Future Research: Future research can investigate the same research questions (or similar ones) using a quantitative approach.
Article
To perform requirements elicitation and analysis, effective communication and collaboration between stakeholders are necessary. Global Software Development (GSD), where software teams are located in different parts of the world, has become increasingly popular. However, geographical distance, cultural diversity, differences in time zones, and language barriers create difficulties for GSD stakeholders in engaging in effective communication. Taking into consideration the factors involved in GSD, previous research showed that the ways by which requirements are gathered and analyzed for collocated software development cannot be used effectively for GSD. Thus, in this paper, we present a method of requirements elicitation and analysis for GSD. The method consists of 4 stages: (1) data collection; (2) educating stakeholders about GSD issues; (3) post-education assessment; and (4) requirements elicitation and analysis. Past researchers used student groups in a university environment to play the roles of stakeholders in experiments in GSD studies. Likewise, we preliminarily validate our method by applying it to a case study of an online shopping system, where the roles of client, requirements engineer, project analyst, and designers were played by a group of students.
Conference Paper
The phenomenon of globalization has, in recent years, forced companies to change their business model. Software development companies are no exception, and have attempted to join the global market so as to be able to hire labor in other countries in an attempt to reduce costs, increase productivity and gain competitive advantages. This is known as Global Software Development (GSD). Those companies that wish to carry out this practice require developers who possess the knowledge and skills required to solve problems that arise as a result of geographical, temporal and cultural distance. Traditional methods for teaching students or employees how to work in GSD environments are usually expensive, and require much effort. Serious games could, therefore, play a key role in this process, as they are educational games that allow the acquisition of knowledge and skills at a low cost. This paper presents a serious game called “GSDgame” with which some of the competencies needed in GSD can be acquired. The game simulates scenarios that usually occur in the overall development of a software project, thus enabling the user to become aware of the problems concerning GSD and gain some experience in solving these problems. Finally, we present the validation and testing developed by experts in serious games by means of an SG-based quality model.
Article
Global software development (GSD) is gaining ever more relevance. Although communication is key in the exchange of information between team members, multi-site software development has introduced additional obstacles (different time-zones and cultures, IT infrastructure, etc.) and delays into the act of communication, which is already problematic. Communication is even more critical in the case of Agile Global Software Development (AGSD) in which communication plays a primary role. This paper reports an exploratory study of the effects of tools supporting communication in AGSD. More precisely, this paper analyses the perception of team members about communication infrastructures in AGSD. The research question to which this study responds concerns how development teams perceive the communication infrastructure while developing products using agile methodologies. Most previous studies have dealt with communication support from a highly technological media tool perspective. In this research work, instead, observations were obtained from three perspectives: communication among team members, communication of the status of the development process, and communication of the status of the progress of the product under development. It has been possible to show that team members perceive advantages to using media tools that make them feel in practice that teams are co-located, such as smartboards supported by efficient video-tools, and combining media tools with centralized repository tools, with information from the process development and product characteristics, that allow distributed teams to effectively share information about the status of the project/process/product during the development process in order to overcome some of the still existing problems in communication in AGSD.
Conference Paper
Over the past decade, major advancements in software development have occurred in the global context. Global software development (GSD) is an effective strategy, and many higher educational institutions have been offering GSD courses. These courses are usually organized together with another institution situated in a different location. However, conducting such a course with more than one institution is not so economical since it involves greater collaboration among various institutions than in the case of a general onsite course. In this paper, we present an onsite simulation that deals with the specifics in the field of GSD training and teaching. We analyzed the students' learning reflections with a phenomenographic approach to validate the relevance of the design science construct of the course model containing an onsite simulation. Based on the analyzed data, it is possible to organize a GSD course on a single location with the aid of role-play simulation. The presented course model can help an institution prepare its students to solve most of the common problems faced in industrial GSD settings.
Article
The Global Software Development (GSD) paradigm has, over the last fifteen years, shifted from being novel and ground breaking to being widely adopted and mainstream. This wide adoption is partly owing to the many benefits provided by GSD, such as reduced labour costs, proximity to new markets and access to a diverse and experienced skills pool. Yet taking advantage of these benefits is far from straightforward, and research literature now includes a proliferation of guidelines, reviews and models to support the GSD industry. Although this active area of study is firmly established as a research area in its own right, the boundaries between general software engineering and GSD are somewhat confused and poorly-defined. In an effort to consolidate our understanding of GSD, we have developed an ontology in order to capture the most relevant terms, concepts and relationships related to the goals, barriers and features of GSD projects. The study we present here builds on research conducted in a collaboration project between industry and academia, in which we developed an ontology in order to provide practitioners with a “common language and conceptualisation”. Its successful outcome encouraged us to create a broader ontology that captures the current trends in GSD literature. The key ontology, along with its three sub-ontologies, are the result of a review of the relevant literature, together with several expert evaluations. This ontology can serve as a useful introduction to GSD for researchers who are new to the paradigm. Moreover, practitioners can take advantage of it in order to contextualise their projects and predict and detect possible barriers. What is more, using a common language will help both researchers and practitioners to avoid ambiguities and misunderstanding.
Conference Paper
Globalization has long since found its way into software engineering. Many companies transfer part of their development activities to distributed countries in order to ensure their global competitiveness, gain access to local markets and react to the prevailing lack of specialized workforce. The global distribution of project teams introduces new challenges: Geographic separation, different time zones, remote communications, and culture and language barriers make the collaboration between team members more difficult. Instructors in universities are faced with the problem of how to make students with little or no experience aware of the challenges of Global Software Engineering and equip them with skills to deal with them. International practical courses are effective but require high organizational effort. In this paper, we describe an exercise for teaching Global Software Engineering in a single classroom and report on our experiences. The exercise simulates a global software project within three sites. Through the exercise, students experienced some of the aforementioned challenges and tried to deal with them in a simulated environment.
Article
Nowadays, it is common to develop software development projects collaboratively among team members or organizations in different geographical locations. These teams, known as global software development (GSD) teams, allow organizations to save costs as well as have available highly qualified personnel. This kind of team is different from traditional teams, so it is necessary for team members to develop other essential competences to work efficiently in a global context. Unfortunately, there is no well-defined competence model that allows organizations to assess personnel competences and establish the relevant training program that allows them to work efficiently in such teams. This work defines and implements, in four GSD teams, a competence model specifically designed to address challenges that people face when they work in a GSD team. This competence model has been defined considering tasks a GSD team have to carry out, bodies of knowledge, and existing competence models for the software engineering profiles and the authors' experience working in such teams. As a result of the implementation process, it was confirmed that the competence model is a key factor for human capital improvement. When personnel have these competences, team and individual efficiency and product quality increase, and delays in delivering products decrease. Copyright © 2013 John Wiley & Sons, Ltd.
Article
Distributed software development is a new working philosophy that the software industry is currently facing. Organisations may benefit from the situations that this shift has created, although they must also confront new challenges related to them. In this study, the authors focused on the lack of timely adequate opportunities for informal interaction, which has been identified as an important issue to overcome coordination, communication and trust limitations. The authors attempted to confront this problem through obtaining information from the personal activities of remote colleagues. In this respect, the authors propose introducing and defining collaborative working spheres (CWS) because the authors argue that CWS permit the identification of opportunities for interaction at appropriate moments. This concept is illustrated with the design of CWS-instant messaging (IM), an extended IM tool that supports the CWS concept. This tool was tested by 16 distributed software development (DSD) workers during an initial scenario-based evaluation. The results show favourable evidence towards both the perceived usefulness and ease of use of CWS-IM.
Conference Paper
This paper describes different aspects of teaching distributed software development, regarding the types of project customers: industry and academia. These approaches enable students to be more engaged in real-world situations, by having customers from the industry, local or distributed customers in universities, distributed customers in software engineering contests or being involved in an ongoing project, thus simulating the company merging. The methods we describe are used in a distributed project-oriented course, which is jointly carried out by two universities from Sweden and Croatia. The paper presents our experiences of such projects being done during the course, the differences in each approach, issues observed and ways to solve them, in order to create a more engaging education for better-prepared engineers of tomorrow.
Conference Paper
We have taught several distributed software engineering project courses with students and real clients. During these projects, students in Pittsburgh and Munich, Germany collaborated in the development of a single system. Our experiences showed that software development is communication intensive and requires the collaboration of many stakeholders. Communication is challenging in distributed contexts: participants do not all know each other and work at different times and locations; the number of participants and their organization change during the project; and participants belong to different communities. Hence, to deal with the global marketplace, it is critical to provide students with distributed collaboration skills. To improve the teaching of collaboration in software engineering, we propose iBistro, an augmented, distributed, and ubiquitous communication space. iBistro aims to overcome problems resulting from miscommunications and information loss in informal or casual meetings. iBistro enables distributed groups to collaborate and cooperate in software projects and therefore provides an environment for learning in diverse aspects such as project management, programming skills, and social skills. With the addition of techniques from artificial intelligence, such as student modeling, and intelligent support mechanisms, such as computer supported group formation, distributed tutoring becomes feasible.
Conference Paper
Facilitated by the Internet, global software development has emerged as a reality. The use of shared processes and appropriate tools is considered crucial to alleviate some of its issues (e.g., space and time differences), homogenizing the environment of development and interaction, and increasing the likelihood of success. Since 2005, Pace University in the United States has been collaborating with the Institute of Technology of Cambodia (ITC) and the University of Delhi in India to bring students together to work on global software development projects. This paper reports on our experiences and lessons from spring 2007 when the focus was on these students working together on the development of a single software system. One key objective was to investigate how to create a shared and open source tooling environment to support a distributed development process that has evolved over two years. The setting is unique in that it seeks to accommodate students from a mix of established, developing and emerging countries who, as a consequence, have had varying levels of exposure to the Internet and use it in non-similar ways. The findings, lessons and recommendations from our study are reported in this paper. Not surprisingly, when the perceived professional value of assumed dasiaeveryday technologiespsila is dissimilar across cultures, preparation for the communications tooling needs more attention than the engineering tooling. This has important implications for the emphasis placed on dasiaprocesspsila and dasiasoft skillspsila in the respective classrooms, and highlights some challenges facing emerging countries as they strive to become players in the global workforce.
Challenges in teaching global software engineering to undergraduate students: Course design
  • Subburaj V. H.