Jan-Philipp Steghöfer
University of Gothenburg
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Jan-Philipp Steghöfer.
international conference on software engineering | 2016
Jan-Philipp Steghöfer; Eric Knauss; Emil Alégroth; Imed Hammouda; Håkan Burden; Morgan Ericsson
This paper analyses the changes we have made in teaching agile methodologies, practices, and principles in four courses in order to address a specific dilemma: students need to apply agile methods in order to learn them, but when complementing our courses with applied content, we face the problem that students perceive the learning and application of agile methods as less important than delivering a finished product at the end of the course. This causes students to not apply theoretical process knowledge and therefore to not develop necessary skills associated with working with defined processes in the industry. Concretely, we report on our experience with teaching Scrum with Lego, removing formal grading requirements on the delivered product, emphasising process application in post-mortem reports, and organisational changes to support the process during supervision. These changes are analysed in the context of student satisfaction, teacher observations, and achievements of learning outcomes. We also provide an overview of the lessons learnt to help guide the design of courses on agile methodologies.
automated software engineering | 2016
Salome Maro; Anthony Anjorin; Rebekka Wohlrab; Jan-Philipp Steghöfer
Traceability is an important concern for numerous software engineering activities. Establishing traceability links is a challenging and cost-intensive task, which is uneconomical without suitable strategies for maintaining high link quality. Current approaches to Traceability Management (TM), however, often make important assumptions and choices without ensuring that the consequences and implications for trace-ability maintenance are feasible and desirable in practice. In this paper, therefore, we identify a set of core factors that influence how the quality of traceability links can be maintained. For each factor, we discuss relevant challenges and provide guidelines on how best to ensure viable traceability maintenance in a practical TM approach. Our guidelines are meant to be used by tool developers and users to select the most appropriate TM approach for their needs. Our results are based on and supported by data collected from interviews conducted with: (i) 9 of our industrial and academic project partners to elicit requirements for a TM tool, and (ii) 24 software development stakeholders from 15 industrial cases to provide a broader overview of the current state of the practice on TM. To evaluate the feasibility of our guidelines, we investigate a set of existing TM approaches used in industry with respect to our guidelines.
ACM Transactions on Autonomous and Adaptive Systems | 2015
Gerrit Anders; Alexander Schiendorfer; Florian Siefert; Jan-Philipp Steghöfer; Wolfgang Reif
Resource allocation is a common problem in many technical systems. In multi-agent systems, the decentralized or regionalized solution of this problem usually requires the agents to cooperate due to their limited resources and knowledge. At the same time, if these systems are of large scale, scalability issues can be addressed by a self-organizing hierarchical system structure that enables problem decomposition and compartmentalization. In open systems, various uncertainties—introduced by the environment as well as the agents’ possibly self-interested or even malicious behavior—have to be taken into account to be able to allocate the resources according to the actual demand. In this article, we present a trust- and cooperation-based algorithm that solves a dynamic resource allocation problem in open systems of systems. To measure and deal with uncertainties imposed by the environment and the agents at runtime, the algorithm uses the social concept of trust. In a hierarchical setting, we additionally show how agents create constraint models by learning the capabilities of subordinate agents if these are not able or willing to disclose this information. Throughout the article, the creation of power plant schedules in decentralized autonomous power management systems serves as a running example.
Journal of Systems and Software | 2017
Jan-Philipp Steghöfer; Håkan Burden; Hiva Alahyari; Dominik Haneberg
© 2017 Education in Software Engineering has to both teach technical content such as databases and programming but also organisational skills such as team work and project management. While the former can be evaluated from a product perspective, the latter are usually embedded in a Software Engineering process and need to be assessed and adapted throughout their implementation. The in-action property of processes puts a strain on teachers since we cannot be present throughout the students’ work. To address this challenge we have adopted workshops to teach Scrum by building a Lego city in short sprints to focus on the methodological content. In this way we can be present throughout the process and coach the students. We have applied the exercise in six different courses, across five different educational programmes and observed more than 450 participating students. In this paper, we report on our experiences with this approach, based on quantitative data from the students and qualitative data from both students and teachers. We give recommendations for learning opportunities and best practices and discuss the limitations of these workshops in a classroom setting. We also report on how the students transferred their methodological knowledge to software development projects in an academic setting.
ieee international conference on requirements engineering | 2016
Rebekka Wohlrab; Jan-Philipp Steghöfer; Eric Knauss; Salome Maro; Anthony Anjorin
Traceability and trace link management are important for various reasons, including managing knowledge about a complex software system, monitoring the progress of its development, and proving that it is developed in accordance to regulations. However, it is difficult to maintain and use trace links in real-world projects where artifacts undergo constant change and multiple stakeholders are involved. In this paper, we extend the current body of knowledge on traceability management by regarding its collaborative aspects in an industrial setting. Based on 15 industrial cases and semi-structured interviews with 24 practitioners, we identify challenges involved in collaborative traceability management, and how traceability management can be used to enable collaboration. Our findings show that main challenges are boundaries between organizations and tools, a lack of common goals and responsibilities, and the difficulty of collaboratively maintaining trace links. We also identify traceability as an important facilitator for communication and knowledge management across these boundaries.
conference on software engineering education and training | 2016
Grischa Liebel; Rogardt Heldal; Jan-Philipp Steghöfer
It has been stated that industrial-grade modelling tools are unsuitable for teaching modelling. We assume, however, that the experiences of the teachers and the students is strongly connected to the support available. In this paper, we present our experience with a university course on software modelling. In the first year of the course, we used a commercial modelling tool, in the second year the open-source alternative Papyrus. Our quantitative analysis shows that the industrial-grade modelling tools with all their complexity did not have a negative impact on the students experience of modelling. We analyse why our experience differs from published accounts and conclude that the availability of a tool champion and tailored instruction material is key. From this, we derive lessons learned and give recommendations on how to successfully use industrial-strength modelling tools in the classroom.
software language engineering | 2015
Salome Maro; Jan-Philipp Steghöfer; Anthony Anjorin; Matthias Tichy; Lars Gelin
Domain Specific Languages (DSLs) are an established means of reducing the gap between problem and solution domains. DSLs increase productivity and improve quality as they can be tailored to exactly fit the needs of the problem to be solved. A DSL can have multiple notations including textual and graphical notations. In some cases, one of these notations for a DSL is enough but there are many cases where a single notation does not suffice and there is a demand to support multiple notations for the same DSL. UML profile is one of several approaches used to define a DSL, however most UML tools only come with graphical editors. In this paper, we present our approach and industrial experience on integrating textual and graphical editors for a UML profile-based DSL. This work was conducted as part of an explorative study at Ericsson. The main aim of the study was to investigate how to introduce a textual editor to an already existing UML profile-based DSL in an Eclipse environment. We report on the challenges of integrating textual and graphical editors for UML profile-based DSLs in practice, our chosen approach, specific constraints and requirements of the study.
International Conference on Software Quality | 2017
Salome Maro; Miroslaw Staron; Jan-Philipp Steghöfer
Traceability, i.e., relationships between artifacts in software development, is prescribed by quality standards such as ISO 26262 and therefore mandatory for automotive companies that develop safety-critical systems. However, establishing traceability is a challenge for many automotive companies. The objective of this study is to identify traceability challenges and solutions in this domain and compare these challenges and solutions with the ones in literature. To achieve this, we conducted a case study with a large automotive supplier to discover their traceability challenges and a tertiary literature review on existing traceability literature surveys to identify reported challenges and their solutions. We found 13 challenges from the literature study, of which ten were also found at the company. Three challenges are solved at the company with solutions that correlate with those proposed in literature, three are partially solved while four are still unsolved even though there are solutions in literature.
Dagstuhl Reports | 2015
Ada Diaconescu; Stephen Marsh; Jeremy Pitt; Wolfgang Reif; Jan-Philipp Steghöfer
This report documents the program and the outcomes of Dagstuhl Seminar 15482 Social Concepts in Self-organising Systems. The seminar brought together researchers from computer sciences (in particular from the fields of multi-agent systems and self-organisation) and from social sciences to discuss the impact of the use of social concepts in technical systems as well as the interaction between technical and social systems. In an engaging and interactive setting, the problem was illuminated from a technical as well as a philosophical and legal point of view. The talks, discussions, and working groups identified a growing body of work in the field, a number of interesting and promising research avenues, as well as a set of open issues for future investigation.
international conference on software engineering | 2017
Henrik Helén Edholm; Mikaela Lidström; Jan-Philipp Steghöfer; Håkan Burden
The games industry is notorious for its intense work ethics with uncompensated overtime and weekends at the office, also known as crunch or crunch time. Since crunch time is so common within the industry, is it possible that the benefits of crunch time outweigh the disadvantages? By studying postmortems and conducting interviews with employees in the industry, we aim to characterise crunch time and discover its effects on the industry. We provide a classification of crunch, i.e., four types of crunch which all have distinct characteristics and affect the product, employees and schedule in various ways. One of the crunch types stands out from the others by only having positive effects on product and schedule. A characteristic that all of the types have in common is an increase in stress levels amongst the employees. We identify a set of reasons for crunch and show that crunch is less pronounced in game studios where prioritisation of features is a regular practice.