13 research outputs found

    Virtual teams and employability in global software engineering education

    Get PDF
    Universities face many challenges when creating opportunities for student experiences of global software engineering. We provide a model for introducing global software engineering into the computing curriculum. Our model is based on a three year collaboration between Robert Gordon University, UK and the International Institute for IT Bangalore, India. We provide evidence based on student feedback from three cohorts of virtual team who never met face to face. We found potential employers were supportive of global software engineering in university curricula. We identify four key principles for global software engineering student projects: reconcile contrasting assessment demands between institutions, create a detailed joint timetable to reconcile teaching calendars, provide a project management framework to support phased delivery and carefully manage project scope

    Using data analytics for collaboration patterns in distributed software team simulations: the role of dashboards in visualizing global software development patterns

    Get PDF
    This paper discusses how previous work on global software development learning teams is extended with the introduction of data analytics. The work is based on several years of studying student teams working in distributed software team simulations. The scope of this paper is twofold. First it demonstrates how data analytics can be used for the analysis of collaboration between members of distributed software teams. Second it describes the development of a dashboard to be used for the visualization of various types of information in relation to Global Software Development (GSD). Due to the nature of this work, and the need for continuous pilot studies, simulations of distributed software teams have been created with the participation of learners from a number of institutions. This paper discusses two pilot studies with the participation of six institutions from two different countries

    Using data analytics for collaboration patterns in distributed software team simulations: the role of dashboards in visualizing global software development patterns

    Get PDF
    This paper discusses how previous work on global software development learning teams is extended with the introduction of data analytics. The work is based on several years of studying student teams working in distributed software team simulations. The scope of this paper is twofold. First it demonstrates how data analytics can be used for the analysis of collaboration between members of distributed software teams. Second it describes the development of a dashboard to be used for the visualization of various types of information in relation to Global Software Development (GSD). Due to the nature of this work, and the need for continuous pilot studies, simulations of distributed software teams have been created with the participation of learners from a number of institutions. This paper discusses two pilot studies with the participation of six institutions from two different countries

    A Systematic Review of the Use of Agile Methodologies in Education to Foster Sustainability Competencies

    Get PDF
    Life-long learning and Education for Sustainable Development (ESD) in the current fast-evolving and ever-changing society requires modern pedagogical tools and methodologies that help the transmission of key competencies such as coping with uncertainty, adaptability, creativity, dialog, respect, self-confidence, emotional intelligence, responsibility and systemic thinking. The recent trend of the application of Agile methodologies for the management of projects in different fields can be a valuable tool to convey these competencies due to the participative, collaborative and constructionist principles in which they are deeply rooted. Some experiences of the application of Agile Methodologies in education—originating what is known as Agile Education—are, therefore, starting to appear in the literature. This work carries out a systematic review to analyze how this modern pedagogical tool is being used to foster key sustainable development competencies in the field of education. Results are presented for 11 out of 121 analyzed studies which present a direct link between key ESD competencies and Agile Education. It is shown that Agile Education creates a learning environment favorable for the creation of responsible and sustainable citizens while improving the performance, satisfaction and motivation of both faculty and students

    Guidelines for using empirical studies in software engineering education

    Get PDF
    Software engineering education is under constant pressure to provide students with industry-relevant knowledge and skills. Educators must address issues beyond exercises and theories that can be directly rehearsed in small settings. Industry training has similar requirements of relevance as companies seek to keep their workforce up to date with technological advances. Real-life software development often deals with large, software-intensive systems and is influenced by the complex effects of teamwork and distributed software development, which are hard to demonstrate in an educational environment. A way to experience such effects and to increase the relevance of software engineering education is to apply empirical studies in teaching. In this paper, we show how different types of empirical studies can be used for educational purposes in software engineering. We give examples illustrating how to utilize empirical studies, discuss challenges, and derive an initial guideline that supports teachers to include empirical studies in software engineering courses. Furthermore, we give examples that show how empirical studies contribute to high-quality learning outcomes, to student motivation, and to the awareness of the advantages of applying software engineering principles. Having awareness, experience, and understanding of the actions required, students are more likely to apply such principles under real-life constraints in their working life.Peer reviewe

    Evaluating GSD-Aware: A Serious Game for Discovering Global Software Development Challenges

    Get PDF
    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.El desarrollo global de software (GSD) es actualmente una fuerte tendencia en la industria. Esto significa que si se quiere formar ingenieros informáticos para manejar este modelo, es muy importante incluir el tema en los cursos de ingeniería de software, tratando de que los estudiantes aprendan sobre GSD y se familiaricen con sus ventajas y desafíos. Sin embargo, los cursos de ingeniería de software no siempre consideran incluirlo en sus planes de estudio. También se debe reconocer que es difícil encontrar un método adecuado para enseñar/desarrollar las diferentes habilidades necesarias para GSD. A menudo hay mucho contenido y no mucho tiempo disponible para enseñarlo. En este artículo, proponemos el uso de un juego serio llamado GSD-Aware, con el que los alumnos pueden “sufrir” algunos de los retos típicos de GSD interactuando con avatares y utilizando varios medios de comunicación para resolver una serie de problemas planteados. El artículo se centra en la descripción del juego y en el estudio empírico realizado para analizar si GSD-Aware ayuda a los estudiantes a ser conscientes de los desafíos de GSD. Se descubrió que después de 50 minutos de jugar el juego, los estudiantes eran conscientes de la mayor influencia que pueden tener los siguientes factores: falta de coordinación, falta de confianza, diferencias culturales, falta de comunicación cara a cara e informal, diferencia horaria. y falta de espíritu de equipo. En su análisis final, los estudiantes acordaron que los escenarios de juegos serios les ayudaron a comprender qué es GSD y a comprender la importancia de algunos desafíos de GSD. El artículo se centra en la descripción del juego y en el estudio empírico realizado para analizar si GSD-Aware ayuda a los estudiantes a ser conscientes de los desafíos de GSD. Se descubrió que después de 50 minutos de jugar el juego, los estudiantes eran conscientes de la mayor influencia que pueden tener los siguientes factores: falta de coordinación, falta de confianza, diferencias culturales, falta de comunicación cara a cara e informal, diferencia horaria. y falta de espíritu de equipo. En su análisis final, los estudiantes acordaron que los escenarios de juegos serios les ayudaron a comprender qué es GSD y a comprender la importancia de algunos desafíos de GSD. El artículo se centra en la descripción del juego y en el estudio empírico realizado para analizar si GSD-Aware ayuda a los estudiantes a ser conscientes de los desafíos de GSD. Se descubrió que después de 50 minutos de jugar el juego, los estudiantes eran conscientes de la mayor influencia que pueden tener los siguientes factores: falta de coordinación, falta de confianza, diferencias culturales, falta de comunicación cara a cara e informal, diferencia horaria. y falta de espíritu de equipo. En su análisis final, los estudiantes acordaron que los escenarios de juegos serios les ayudaron a comprender qué es GSD y a comprender la importancia de algunos desafíos de GSD. los estudiantes fueron conscientes de la mayor influencia que pueden tener los siguientes factores: falta de coordinación, falta de confianza, diferencias culturales, falta de comunicación cara a cara e informal, diferencia horaria y falta de espíritu de equipo. En su análisis final, los estudiantes acordaron que los escenarios de juegos serios les ayudaron a comprender qué es GSD y a comprender la importancia de algunos desafíos de GSD. los estudiantes fueron conscientes de la mayor influencia que pueden tener los siguientes factores: falta de coordinación, falta de confianza, diferencias culturales, falta de comunicación cara a cara e informal, diferencia horaria y falta de espíritu de equipo. En su análisis final, los estudiantes acordaron que los escenarios de juegos serios les ayudaron a comprender qué es GSD y a comprender la importancia de algunos desafíos de GSD

    Agile vs. structured distributed software development: A case study

    Get PDF
    In globally distributed software development, does it matter being agile rather than structured? To answer this question, this paper presents an extensive case study that compares agile (Scrum, XP, etc.) vs. structured (RUP, waterfall) processes to determine if the choice of process impacts aspects such as the overall success and economic savings of distributed projects, the motivation of the development teams, the amount of communication required during development, and the emergence of critical issues. The case study includes data from 66 projects developed in Europe, Asia, and the Americas. The results show no significant difference between the outcome of projects following agile processes and structured processes, suggesting that agile and structured processes can be equally effective for globally distributed development. The paper also discusses several qualitative aspects of distributed software development such as the advantages of nearshore vs. offshore, the preferred communication patterns, and the effects on project quality

    A systematic literature review of capstone courses in software engineering

    Get PDF
    Context: Tertiary education institutions aim to prepare their computer science and software engineering students for working life. While much of the technical principles are covered in lower-level courses, team-based capstone courses are a common way to provide students with hands-on experience and teach soft skills. Objective: This paper explores the characteristics of project-based software engineering capstone courses presented in the literature. The goal of this work is to understand the pros and cons of different approaches by synthesising the various aspects of software engineering capstone courses and related experiences. Method: In a systematic literature review for 2007–2022, we identified 127 articles describing real-world capstone courses. These articles were analysed based on their presented course characteristics and the reported course outcomes. Results: The characteristics were synthesised into a taxonomy consisting of duration, team sizes, client and project sources, project implementation, and student assessment. We found out that capstone courses generally last one semester and divide students into groups of 4–5 where they work on a project for a client. For a slight majority of courses, the clients are external to the course staff and students are often expected to produce a proof-of-concept level software product as the main end deliverable. The courses generally include various forms of student assessment both during and at the end of the course. Conclusions: This paper provides researchers and educators with a classification of characteristics of software engineering capstone courses based on previous research. We also further synthesise insights on the reported course outcomes. Our review study aims to help educators to identify various ways of organising capstones and effectively plan and deliver their own capstone courses. The characterisation also helps researchers to conduct further studies on software engineering capstones.Context: Tertiary education institutions aim to prepare their computer science and software engineering students for working life. While much of the technical principles are covered in lower-level courses, team-based capstone courses are a common way to provide students with hands-on experience and teach soft skills. Objective: This paper explores the characteristics of project-based software engineering capstone courses presented in the literature. The goal of this work is to understand the pros and cons of different approaches by synthesising the various aspects of software engineering capstone courses and related experiences. Method: In a systematic literature review for 2007–2022, we identified 127 articles describing real-world capstone courses. These articles were analysed based on their presented course characteristics and the reported course outcomes. Results: The characteristics were synthesised into a taxonomy consisting of duration, team sizes, client and project sources, project implementation, and student assessment. We found out that capstone courses generally last one semester and divide students into groups of 4–5 where they work on a project for a client. For a slight majority of courses, the clients are external to the course staff and students are often expected to produce a proof-of-concept level software product as the main end deliverable. The courses generally include various forms of student assessment both during and at the end of the course. Conclusions: This paper provides researchers and educators with a classification of characteristics of software engineering capstone courses based on previous research. We also further synthesise insights on the reported course outcomes. Our review study aims to help educators to identify various ways of organising capstones and effectively plan and deliver their own capstone courses. The characterisation also helps researchers to conduct further studies on software engineering capstones.Peer reviewe

    Empirical software engineering experts on the use of students and professionals in experiments

    Get PDF
    [Context] Controlled experiments are an important empirical method to generate and validate theories. Many software engineering experiments are conducted with students. It is often claimed that the use of students as participants in experiments comes at the cost of low external validity while using professionals does not. [Objective] We believe a deeper understanding is needed on the external validity of software engineering experiments conducted with students or with professionals. We aim to gain insight about the pros and cons of using students and professionals in experiments. [Method] We performed an unconventional, focus group approach and a follow-up survey. First, during a session at ISERN 2014, 65 empirical researchers, including the seven authors, argued and discussed the use of students in experiments with an open mind. Afterwards, we revisited the topic and elicited experts' opinions to foster discussions. Then we derived 14 statements and asked the ISERN attendees excluding the authors, to provide their level of agreement with the statements. Finally, we analyzed the researchers' opinions and used the findings to further discuss the statements. [Results] Our survey results showed that, in general, the respondents disagreed with us about the drawbacks of professionals. We, on the contrary, strongly believe that no population (students, professionals, or others) can be deemed better than another in absolute terms. [Conclusion] Using students as participants remains a valid simplification of reality needed in laboratory contexts. It is an effective way to advance software engineering theories and technologies but, like any other aspect of study settings, should be carefully considered during the design, execution, interpretation, and reporting of an experiment. The key is to understand which developer population portion is being represented by the participants in an experiment. Thus, a proposal for describing experimental participants is put forward.Peer reviewe
    corecore