Carrying out real-world software projects in their academic studies helps students to understand what they will face in industry, and to experience first-hand the challenges involved when working collaboratively. Most of the instructional strategies used to help students take advantage of these activities focus on supporting agile programming, which is appropriate for capstone courses. This is not always recommended in initial software engineering project courses, however, where novice developers run projects in teams while simultaneously taking other courses. To enhance the learning and teamwork experience in this latter instructional scenario, this paper proposes a formative monitoring method, reflexive weekly monitoring (RWM), for use in project courses that involve disciplined software processes and loosely coupled work. RWM uses self-reflection and collaborative learning practices to help students be aware of their individual and team performance. RWM was applied in a case study over nine consecutive semesters. The results obtained indicate that RWM was effective in enhancing the learning experience in the instructional scenario studied. While students in the monitored teams were more effective and coordinated, and experienced a higher sense of team belonging and satisfaction, little evidence was found of them being more productive than students working in non-monitored teams.
1 January 2019 in Information and Software Technology
Background: Software engineering is a core subject in computing education. Today, there seems to be a consensus that teaching software engineering requires students to perform practical experiences that simulate the work in the software industry. This represents a challenge for universities and instructors, because these experiences are complex to setup and involve considerable time and effort. Although there are several experiences and proposals reported in the literature, there is no clear solution to address this challenge. Aim: Being knowledgeable about the several approaches reported in the literature for dealing with this challenge is the first step to proposing a new solution. Counting on this knowledge allows instructors to reuse lessons learned from other universities. In order to address this challenge, we conducted a systematic mapping study that intends to answer the following questions: What are the main approaches used to address the practical experiences in software engineering education? Is there an emerging tendency to address this challenge? Which software process models are used to support the practical experiences in software engineering courses? Have the universities changed the way of conducting these experiences over the years? What are the main forums to seek information on practical approaches for teaching software engineering? Method: We used a systematic mapping study to identify and classify available research papers that report the use of practical experiences in software engineering education. Results: There were 173 papers selected, analyzed and classified. The results indicate that universities have realized the value of including practical experiences as part of the software engineering teaching process. However, few proposals indicate how to address that challenge. The practical approaches identified in this study were game learning, case studies, simulation, inverted classrooms, maintenance projects, service learning, and open source development. Only one recent report on the use of traditional approaches (i.e., teaching using expositive lectures) was found. The use of a development process to support these practical experiences seems not to be a concern for software engineering instructors. Only 40% of these studies report the use of a development process to guide the process experience. The reported processes are mainly agile methods. Conferences are the most used forum to publish studies in this area (72%). One third of these studies have been published over the last five years. Conclusion: There is a clear concern for teaching software engineering involving practical experiences, and there are several initiatives exploring how to do it. The map gives us an overview of the different proposals to address this challenge, and also allows us to make some preliminary conclusions about the preferred approaches.
Purpose: Human resource allocation is considered a relevant problem in business process management (BPM). The successful allocation of available resources for the execution of process activities can impact on process performance, reduce costs and obtain a better productivity of the resources. In particular, process mining is an emerging discipline that allows improvement of the resource allocation based on the analysis of historical data. The purpose of this paper is to provide a broad review of primary studies published in the research area of human resource allocation in BPM and process mining. Design/methodology/approach: A systematic mapping study (SMS) was conducted in order to classify the proposed approaches to allocate human resources. A total of 2,370 studies published between January 2005 and July 2016 were identified. Through a selection protocol, a group of 95 studies were selected. Findings: Human resource allocation is an emerging research area that has been evolving over time, generating new proposals that are increasingly applied to real case studies. The majority of proposed approaches relate to the period 2011-2016. Journals and conference proceedings are the most common venues. Validation research and evaluation research are the most common research types. There are two main evaluation methods: simulation and case studies. Originality/value: This study aims to provide an initial assessment of the state of the art in the research area of human resource allocation in BPM and process mining. To the best of the authors’ knowledge, this is the first research that has been conducted to date that generates a SMS in this research area.
11 November 2016 in Journal of Ambient Intelligence and Humanized Computing
Requirements engineering practices have been identified as a key issue that affects the success rate of projects in most software organizations. The software engineering community has studied the requirements engineering practices of medium and large-sized organizations extensively, and has produced interesting and suitable solutions. However, several software engineering researchers have shown that most current requirements engineering practices are unsuitable for small and very small software companies. They have also highlighted that there is a lack of knowledge about the requirements engineering practices in these types of companies. This article presents the results of a diagnostic study the authors are performing in very small software companies in Chile. The study tries to identify the state of the practice in this niche and also the potential limitations to adopt appropriate requirements engineering practices in Chilean very small software enterprises.