SEAug 26, 2021
Design Thinking and Creativity of Co-located vs. Globally Distributed Software DevelopersRodi Jolak, Andreas Wortmann, Grischa Liebel et al.
Context: Designing software is an activity in which software developers think and make design decisions that shape the structure and behavior of software products. Designing software is one of the least understood software engineering activities. In a collaborative design setting, various types of distances can lead to challenges and effects that potentially affect how software is designed. Objective: To contribute to a better understanding of collaborative software design, we investigate how geographic distance affects its design thinking and the creativity of its discussions. Method: To this end, we conducted a multiple-case study exploring the design thinking and creativity of co-located and distributed software developers in a collaborative design setting. Results: Compared to co-located developers, distributed developers spend less time on exploring the problem space, which could be related to different socio-technical challenges, such as lack of awareness and common understanding. Distributed development does not seem to affect the creativity of their activities. Conclusion: Developers engaging in collaborative design need to be aware that problem space exploration is reduced in a distributed setting. Unless distributed teams take compensatory measures, this could adversely affect the development. Regarding the effect distance has on creativity, our results are inconclusive and further studies are needed.
HCJan 20, 2014
The Art of Software Design, a Video Game for Learning Software Design PrinciplesDave R. Stikkolorum, Michel R. V. Chaudron, Oswald de Bruin
This paper introduces our gamification of a part of our software design curriculum. Based on typical design principles a motivating learning game is developed to train students in software design. We use Bloom's taxonomy to determine learning objectives. We keep the player engaged with direct feedback in a challenging level based game with increasing complexity. Players can evaluate their design actions with the help of the visualisation of control and data flows. The main learning objective: applying design principles, fits the game's main activity. This supports the learning by doing approach of lecturers. A user test indicates possible learning effects and a playable game.
SEJun 3, 2013
Details of an Automotive Sub-System: Saab Instrument Cluster ModuleRamin Etemaadi, Kenneth Lind, Rogardt Heldal et al.
The goal of this technical report is to give the details of a real world existing sub-system in the automotive industry. It is produced to be used for reproduction of the same experiment if other researchers are interested in. Hence, it would be possible to compare the results of our published studies with the results of similar tools. The data is collected for the purpose of applying metaheuristic optimization approaches. The case study based on these data shows that metaheuristic optimization approaches can find efficient solutions for multiple quality attributes while fulfilling given constraints. The case study was conducted at Saab Automobile AB in order to evaluate the AQOSA framework in an industrial context. AQOSA (Automated Quality-driven Optimization of Software Architecture) is our architecture optimization framework that supports multiple quality attributes including response time, processor utilization, bus utilization, safety and cost. To enable validation of the results we selected an existing realization for the Saab 9-5 Instrument Cluster Module ECU (Electronic Control Unit) and the surrounding sub-systems. The goal of the case study is to find a better solution than the current realization while fulfilling the requirements and constraints. The results of the case study and the details of AQOSA framework is reported in a paper from the authors in Journal of Systems and Software, Special Issue on Quality Optimization of Software Architecture and Design Specifications.