Despite its growth and profitability, many reports about game projects show that their production is not a simple task, but one beset by common problems and still distant from having a healthy and synergetic work process. The goal of this article is to survey the problems in the development process of electronic games, which are mainly collected from game postmortems, by exploring their similarities and differences to well-known problems in traditional information systems.
1 June 2020 in Information and Software Technology
Modern software applications are adapted to different situations (e.g., memory limits, enabling/disabling features) by only changing few configuration option values without any source code modifications. According to several studies, this flexibility is expensive. Indeed, configuration errors represent one of the largest percentage of software errors, they are hard to debug and resolve, while comprehension of the code also is hampered by sprinkling conditional checks of configuration options. Although researchers have proposed various approaches to help debug or prevent configuration errors, especially from the end users' perspective, this paper takes a step back to understand the activities required by practitioners to engineer the software configuration options in their source code, the challenges they experience as well as best practices that they have or could adopt. By interviewing 14 software engineering experts, followed by a large survey on 229 software engineers, we identified 9 major activities related to configuration engineering, 22 challenges faced by developers, and 25 expert recommendations to improve software configuration quality. We complemented this study by a systematic literature review to enrich the experts' recommendations, and to identify possible solutions for the developers' challenges discussed and evaluated by the research community.
1 June 2021 in Information and Software Technology