Evolving Prioritization for Software Product Management

University dissertation from Ronneby : Blekinge Institute of Technology

Abstract: The quality of a product is commonly defined by its ability to satisfy stakeholder needs and expectations. Therefore, it is important to find, select, and plan the content of a software product to maximize the value for internal and external stakeholders. This process is traditionally referred to as requirements engineering in the software industry, while it is often referred to as product management in industries with a larger market focus. As an increasing number of software products are delivered to a market instead of single customers, the need for product management in software companies is increasing. As a side effect, the need for mechanisms supporting decisions regarding the content of software products also increases. While decision-support within requirements engineering and product management is a broad area, requirements prioritization together with release planning and negotiation are considered as some of the most important decision activities. This is particularly true because these activities support decisions regarding the content of products, and are hence drivers for quality. At the same time, requirements prioritization is seen as an integral and important component in both requirements negotiation (with single customers) and release planning (with markets) in incremental software development. This makes requirements prioritization a key component in software engineering decision support, in particular as input to more sophisticated approaches for release planning and negotiation, where decisions about what and when to develop are made. This thesis primarily focuses on evolving the current body of knowledge in relation to release planning in general and requirements prioritization in particular. The research is carried out by performing qualitative and quantitative studies in industrial and academic environments with an empirical focus. Each of the presented studies has its own focus and scope while together contributing to the research area. Together they answer questions about why and how requirements prioritization should be conducted, as well as what aspects should be taken into account when making decisions about the content of products. The primary objective of the thesis is to give guidelines on how to evolve requirements prioritization to better facilitate decisions regarding the content of software products. This is accomplished by giving suggestions on how to perform research to evolve the area, by evaluating current approaches and suggest ways on how these can be improved, and by giving directions on how to align and focus future research to be more successful in development of decision-support approaches. This means that the thesis solves problems with requirements prioritization today, and gives directions and support on how to evolve the area in a successful way.