2019: Dr. Johan Linåker
"Guiding Development of Contribution and Community Strategies in Open Source Software Requirements Engineering", ISBN 978-91-7895-173-4.
Abstract. Background:For software-intensive organizations, Open Source Software (OSS) may provide a pivotal building block in business models and strategies, product and service offerings, as well as in tool and infrastructure setups. The Requirements Engineering (RE) and development processes of OSS take place inside communities where the focal organization is a stakeholder among many, including competitors. Therefore, to exploit the potential benefits of OSS, an organization has to consider what it shares as OSS and how it engages with the OSS communities. By being too open, an organization may expose itself to risks such as giving away differentiating functionality. On the contrary, being too closed may cause misalignment between an organization's RE process and that of a community. Objective:The objective of this thesis is two-fold. Firstly, to create guidance for organizations in making decisions of what to share as OSS in line with the organization's business goals. Secondly, to create guidance for how an organization can identify OSS communities where they need to have an influence on the RE process, and how they can gain it, in order to achieve its internal agenda. Methodology:We used a design science research approach, applying empirical software engineering research methods to investigate the problem context and design and validate solution artifacts that may be used as treatments in the problem context. The relevance of the research has been maintained through a close industry collaboration with several case studies and interview surveys. Results: To address the two objectives, we introduce the two concepts of contribution and community strategy. Contribution strategies answer the questions if a software artifact (e.g., a feature or project) or parts of it should be released as OSS, when in time, and if it should be contributed to an existing OSS community, or if a new community should be established. Community strategies answer the questions what OSS communities an organization considers as important and need to have an influence on in terms of their RE process, and also how this influence may be gained. The thesis offers problem understanding of how organizations reason in terms of these questions, as well as guidance for how the different types of strategies may be developed. In regards to contribution strategies, results also offer guidance on how to create supporting guidelines, processes, and infrastructure on an organizational level. Conclusions: The results of this thesis are captured in a number of frameworks, models, and methods. These artifacts contribute to an understanding of the problem context and provide design knowledge and exemplars that may be transferred and implemented by organizations in a real-world problem context. Evaluation of such a technology transfer is a topic for future work.
2013: Dr. Elizabeth Bjarnason
"Integrated Requirements Engineering - Understanding and Bridging Gaps within Software Development", ISBN 978-91-7473-732-5
Abstract Software systems are becoming increasingly ubiquitous and can be found in devices we use every day from mobile phones to cars. As our reliance on software-based systems increases, our tolerance with software that is ill-fitted to our needs decreases. We expect these devices to function whenever and however we need them to. However, developing these (often) large and complex software systems to meet our needs and to be usable and robust is non-trivial. Yes, it requires good tools and methods, and competent software engineers that are good at design, development, testing and debugging. But, equally important is that the engineers can coordinate their activities and work together on developing the right thing. Figuring out what the right thing is, i.e. defining the requirements, and then ensuring that the whole development team joins together in realising this is a major challenge. When there are gaps between requirements and other development activities these gaps have a negative impact on the success of a project and a product. Similarly when there are no gaps, or they are effectively managed and bridged, the development process can run more smoothly and the project stands a better chance of delivering the required functionality, with good quality and on time. The main topic of this thesis is the collaboration and alignment of requirements within software development, and how this can enable a development company to consistently develop and deliver products that are well received by their users. A number of challenges and practices including factors contributing to these have been identified through industrial case studies. Furthermore, this thesis includes two methods for supporting project teams in improving on their work practices. Both methods have been applied in live development projects and found to enable teams to reflect on their practices and consider what gaps there are between people, between activities and between artefacts. By doing so, they can gain insight into how to improve on their coordination and alignment of requirements. The main conclusion of this thesis is that development as a whole can be improved with an integrated requirements engineering (iRE) approach. Understanding and bridging gaps, or the level of integration between requirements and other development activities, helps development teams in achieving the necessary collaboration to be aligned within the development projects. This then enhances the efficiency and effectiveness of the development process by ensuring that the right thing is developed.
2012: Dr. Krzysztof Wnuk
"Visualizing, Analyzing and Managing the Scope of Software Releases in Large-Scale Requirements Engineering", ISBN 978-91-976939-7-4
Awarded the Oscar II:s scholarship for best PhD dissertation at the faculty of engineering, LTH, Lund University, 2012.
Abstract Large market-driven software companies face new challenges in requirements engineering and management that emerged due to their recent extensive growth. At the same time, the pressure generated by competitors’ and users’ expectations demands being more competitive, creative and flexible to more quickly respond to a rapidly changing market situation. In the pursuit of staying competitive in this context, new ideas on how to improve the current requirements engineering practice are requested to help maintaining the engineering efficiency while coping with growing size and complexity of requirements engineering processes and their products. This thesis focuses on visualizing, analyzing and managing the scope of software releases in large-scale requirements management for developing software products to open markets. In particular, this thesis focuses on the following requirements management activities in the mentioned context, namely: scope management, decision making, obsolete requirements and requirements consolidation. The goals of the research effort in this thesis are to provide effective methods in supporting mentioned requirements management activities in a situation when the size of them and their complexity require large time and skills efforts. Based on empirical research, where both quantitative and qualitative approaches were utilized, this thesis reports on improved understanding of requirements scoping in very-large projects by investigating factors affecting decision making, causes and effects of oversoping and presents visualization techniques to assist scope management for large-scale software product development contexts. The technical solutions reported in this thesis were empirically evaluated in case studies in a large-scale context and designed in close collaboration with our industry partners. Additionally, the benefits of using linguistic methods for requirements consolidation are investigated in a replicated experimental study based on a relevant industry scenario. Finally, the phenomenon of obsolete software requirements and their impact on industry practice is explored.
2011: Dr. Richard Berntsson Svensson
"Supporting Release Planning of Quality Requirements: The Quality Performance Model", ISBN 978-91-976939-4-3
Abstract In a competitive environment, as experienced by market-driven organizations, it is important to plan software product releases with time-to-market in mind. To increase the chances of market success, software products need to be released to the market, not only at the right time, but also with higher level of quality than the competitors’ products. Thus quality requirements can be seen as a key competitive advantage. An especially challenging problem for an organization that develops software products offered to a market is to set the right quality target in relation to future market demands and competitor products. When is the quality level a competitive advantage? The goal of this thesis is to increase the awareness and understanding of quality requirements, and to find means for improving the ability to make early estimates of quality requirements, e.g., performance requirements, in order to enhance high-level decision-making related to release planning and roadmapping. This thesis is based on empirical research using a flexible research design. The research contains two qualitative surveys of quality requirements challenges in market-driven software product development organizations based on interviews with practitioners. From these surveys, issues emerge such as when the quality level is good enough, and how to get quality requirements into projects when functional requirements are prioritized. A case study within the embedded software domain investigates how quality requirements are classified and specified (including quantification) in an industrial context, which concludes that for a method to be successful, it is important that the method itself is flexible enough to handle the diverse nature of quality requirements. A model called QUPER (QUality PERformance) is evolved and evaluated in two organizations. The model aims at supporting release planning of quality requirements, and was found relevant by both organizations. Finally, a prototype tool for the QUPER model was developed and evaluated in a software organization. The QUPER prototype tool was found to provide a clear overview of the current market situation by the generated roadmaps, and to reach an alignment between practitioners, e.g., product managers and developers, of what level of quality is actually needed.
2006: Dr. Lena Karlsson Johansson
"Requirements Prioritisation and Retrospective Analysis for Release Planning Process Improvement", ISSN 1101-3931
Abstract The quality of a product can be defined by its ability to satisfy the needs and expectations of its customers. Achieving quality is especially difficult in market-driven situations since the product is released on an open market with numerous potential customers and users with various wishes. The quality of the software product is to a large extent determined by the quality of the requirements engineering (RE) and release planning decisions regarding which requirements that are selected for a product. The goal of this thesis is to enhance software product quality and increase the competitive edge of software organisations by improving release planning decision-making. The thesis is based on empirical research, including both qualitative and quantitative research approaches. The research contains a qualitative survey of RE challenges in market-driven organisations based on interviews with practitioners. The survey provided increased understanding of RE challenges in the software industry and gave input to the continued research. Among the challenging issues, one was selected for further investigation due to its high relevance to the practitioners: requirements prioritisation and release planning decision-making. Requirements prioritisation techniques were evaluated through experiments, suggesting that ordinal scale techniques based on grouping and ranking may be valuable to practitioners. Finally, a retrospective method called PARSEQ (Post-release Analysis of Requirements SElection Quality) is introduced and tested in three case studies. The method aims at evaluating prior releases and finding improvement proposals for release planning decision-making in future release projects. The method was found valuable by all participants and relevant improvement proposals were discovered in all cases.
2005: Dr. Johan Natt och Dag
"Managing Natural Language Requirements in Large Scale Software Development", ISSN 1101-3931
Abstract An increasing number of market- and technology-driven software development companies face the challenge of managing several thousands of requirements written in natural language. The large number of requirements causes bottlenecks in the requirements management process and calls for increased efficiency in requirements engineering. This thesis presents results from empirical investigations of using linguistic engineering techniques to alleviate three requirements management activities in largescale software development: identification of duplicate requirements, linkage of related requirements, and consolidation of different sets of requirements. The activities rely on one common activity: finding requirements that are semantically similar, i.e., refer to the same underlying functionality. Three case studies are presented, in which three different companies, comprising three different requirements management challenges, are investigated. Simulation is used to explore process bottlenecks and two different sets of industrial requirements are used for evaluating suggested solutions. A controlled experiment is also presented, evaluating a new open source support tool for semiautomatic identification of similar requirements. The results show that, for the investigated activities, lexical similarity between requirements may be a sufficient approximation of their semantic similarity. It is also shown that automatic calculation of this similarity may support the activities and give valuable timesavings. The results from the presented research point in one direction: that simple, robust, and costefficient linguistic engineering techniques can give effective support to requirements management activities.
- Dr. Markus Borg, 2010-2015
- Dr. Emelie Engström, 2006-2013
- Lic. Eng. Thomas Olsson, 2000-2002