# EVOLVING PRIORITIZATION FOR SOFTWARE PRODUCT MANAGEMENT

Chia sẻ: Monkey68 Monkey68 | Ngày: | Loại File: PDF | Số trang:270

0
75
lượt xem
9

## EVOLVING PRIORITIZATION FOR SOFTWARE PRODUCT MANAGEMENT

Mô tả tài liệu

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......

Chủ đề:

Bình luận(0)

Lưu

## Nội dung Text: EVOLVING PRIORITIZATION FOR SOFTWARE PRODUCT MANAGEMENT

1. EVOLVING PRIORITIZATION FOR SOFTWARE PRODUCT MANAGEMENT Patrik Berander Blekinge Institute of Technology Doctoral Dissertation Series No. 2007:07 School of Engineering
2. Evolving Prioritization for Software Product Management Patrik Berander
3. Blekinge Institute of Technology Doctoral Dissertation Series No 2007:07 ISSN 1653-2090 ISBN 978-91-7295-108-2 Evolving Prioritization for Software Product Management Patrik Berander Department of Systems and Software Engineering School of Engineering Blekinge Institute of Technology SWEDEN
4. © 2007 Patrik Berander Department of Systems and Software Engineering School of Engineering Publisher: Blekinge Institute of Technology Printed by Printfabriken, Karlskrona, Sweden 2007 ISBN 978-91-7295-108-2
5. In Memory of Anders Berander i
6. ii
7. 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 cus- tomers) 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 ques- tions 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 success- ful 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. i
8. ii
9. Acknowledgements First of all, I would like to express my sincere gratitude to my supervisor, Professor Claes Wohlin, for giving me the opportunity to conduct research, for being supportive, and for asking all the necessary questions. I really admire your ability of always being there, despite your already too busy schedule. Thanks also to my secondary supervisor, Dr. Mikael Svahnberg, for the cooperation and comments on parts of this thesis. Colleagues and friends at Blekinge Institute of Technology also deserve thanks, espe- cially the people in the SERL group and in the BESQ research environment (including guest researchers). Instead of mention you with names and accidentally leaving some of you out, I want you to know that I appreciate all the help and nice memories, and the fact that you all have motivated me to continue this endeavor. However, there are a few of you have contributed more than others. In particular, I want to thank Per Jönsson for interesting discussions, good feedback, good collaboration in papers and at Ericsson, and for always having time to help. I also would like to thank Lars-Ola Damm for enjoyable cooperation in research and courses, as well as for being my insider at Erics- son. Piotr Tomaszewski has also been a great discussion partner and source of inspira- tion when discussing different research ideas. Many thanks also go to the collaboration partners, reviewers, and co-authors at Blekinge Institute of Technology, Lund Institute of Technology, University of Denver, and Helsinki University of Technology for help- ing me with accomplishing the results presented in the thesis. Thanks to all the people from academia who have been part of the studies and giving me results to work with. All the people at Ericsson AB who have participated in studies as part of the research collaboration also deserve big thank for putting up with, and answering, all my questions despite an already heavy workload. Without you, this thesis would not have been possible. I also want to thank those persons at Ericsson AB who have been involved in steering committees, work groups, etc., and those who have pro- vided input to design and analysis of the research. In particular, Helena Olá and Lars Angelin at Ericsson deserve thanks for making this collaboration possible. Family and friends have been neglected too many times the last years when days became nights, and nights became weekends. The one that I want to thank the most for putting up with these odd working hours, and still giving me constant support, is of course my beloved Malin, who has made this journey a much more pleasant one. I am always grateful to my mother, who has supported me throughout the years. Last, I would like to thank my father, who passed away too early, who inspired me (and still do), showed interest, and supported me in what I was doing. This work was partly funded by the Knowledge Foundation in Sweden under a research grant for the project “Blekinge – Engineering Software Qualities (BESQ)” (http:// www.bth.se/besq). iii
10. iv
11. Table of Contents Chapter 1 - Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Area of Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.1 Positioning the Research . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2 Some Trends in Software Engineering . . . . . . . . . . . . . . . . . . 8 1.2.1 Value-Based Software Engineering. . . . . . . . . . . . . . . . . 8 1.2.2 Agile and Lean Development . . . . . . . . . . . . . . . . . . . . . 9 1.2.3 Market-Driven Requirements Engineering . . . . . . . . . 11 1.3 Vocabulary Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3.1 Hierarchical Division of Approaches . . . . . . . . . . . . . . 13 1.3.2 What the Prioritization is Based on . . . . . . . . . . . . . . . 14 1.4 Research Setting and Industrial Motivation . . . . . . . . . . . . . 18 1.4.1 Thesis Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.4.2 Studies Motivating the Content of the Thesis . . . . . . . 19 1.4.3 Industrial Application of Research . . . . . . . . . . . . . . . . 24 1.5 Research Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.5.1 Empirical Research Methods . . . . . . . . . . . . . . . . . . . . 26 1.5.2 Approaches for Collecting the Data . . . . . . . . . . . . . . . 27 1.5.3 Studies Performed in the Thesis . . . . . . . . . . . . . . . . . . 28 1.6 Work Process and Outline. . . . . . . . . . . . . . . . . . . . . . . . . . . 30 1.6.1 Thesis Outline and Research Questions. . . . . . . . . . . . 30 1.6.2 Papers Included in the Thesis . . . . . . . . . . . . . . . . . . . . 33 1.6.3 Papers not included . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 1.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Chapter 2 - Requirements Prioritization . . . . . . . . . . . . . . . . 41 2.1 What is Requirements Prioritization? . . . . . . . . . . . . . . . . . . 42 2.2 Aspects of Prioritization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.2.1 Importance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.2.2 Penalty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.2.3 Cost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.2.4 Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.2.5 Risk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2.2.6 Volatility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2.2.7 Other Aspects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2.2.8 Combining Different Aspects . . . . . . . . . . . . . . . . . . . . 47 2.3 Prioritization Techniques. . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.3.1 Analytical Hierarchy Process (AHP). . . . . . . . . . . . . . . 48 2.3.2 Cumulative Voting, the Hundred-Dollar Test . . . . . . . 50 v
12. 2.3.3 Numerical Assignment (Grouping) . . . . . . . . . . . . . . . 51 2.3.4 Ranking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.3.5 Top-Ten Requirements. . . . . . . . . . . . . . . . . . . . . . . . . 52 2.3.6 Which Prioritization Technique to Choose . . . . . . . . . 53 2.3.7 Combining Different Techniques . . . . . . . . . . . . . . . . 53 2.4 Involved Stakeholders when Prioritizing . . . . . . . . . . . . . . . 54 2.4.1 One Customer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 2.4.2 Several Known Customers . . . . . . . . . . . . . . . . . . . . . . 55 2.4.3 Mass-Market . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 2.4.4 Stakeholders Represented in the Prioritization . . . . . . 57 2.4.5 Trade-Off between Different Stakeholders . . . . . . . . . 57 2.5 Using Requirements Prioritization . . . . . . . . . . . . . . . . . . . . 58 2.5.1 Abstraction Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.5.2 Reprioritization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 2.5.3 Non-Functional Requirements. . . . . . . . . . . . . . . . . . . 60 2.5.4 Introducing Prioritization into an Organization . . . . . 60 2.5.5 Evaluating Prioritization . . . . . . . . . . . . . . . . . . . . . . . . 61 2.5.6 Using the Results of Requirements Prioritization . . . . 62 2.6 An Example of Requirements Prioritization . . . . . . . . . . . . 63 2.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Chapter 3 - AHP vs. Planning Game . . . . . . . . . . . . . . . . . . . .69 3.1 Requirements Prioritization . . . . . . . . . . . . . . . . . . . . . . . . . 70 3.1.1 Analytical Hierarchy Process (AHP) . . . . . . . . . . . . . . 70 3.1.2 Planning Game (PG). . . . . . . . . . . . . . . . . . . . . . . . . . . 70 3.1.3 Cost-Value Trade-off . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3.2 Experiment Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.2.1 Experiment Approach . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.2.2 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 3.2.3 Validity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 3.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 3.3.1 Hypothesis 1: Average Time to Prioritize . . . . . . . . . . 79 3.3.2 Hypothesis 2: Ease of Use . . . . . . . . . . . . . . . . . . . . . . 80 3.3.3 Hypothesis 3: Accuracy. . . . . . . . . . . . . . . . . . . . . . . . . 81 3.3.4 Judgement Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.3.5 Consistency Ratio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.3.6 Order Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 3.3.7 Distribution in Piles . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 3.3.8 Prioritizing the Price Aspect. . . . . . . . . . . . . . . . . . . . . 84 3.3.9 Qualitative Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.3.10 Price-Value Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 vi
13. 3.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Chapter 4 - Students as Subjects in Prioritization . . . . . . . . 91 4.1 Requirements Prioritization . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.2 Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 4.2.1 Experiment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 4.3 Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 4.3.1 Elicitation of Requirements (1) . . . . . . . . . . . . . . . . . . . 97 4.3.2 Cost Estimations of Requirements (2a) . . . . . . . . . . . . 97 4.3.3 Prioritization of Requirements (2b) . . . . . . . . . . . . . . . 97 4.3.4 Negotiation One (3). . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 4.3.5 Negotiation Two (4) . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 4.4 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 4.4.1 Students in Classrooms . . . . . . . . . . . . . . . . . . . . . . . . . 99 4.4.2 Students in Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 4.4.3 Reference Literature . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.4.4 Industry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.4.5 Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 4.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 4.5.1 Suitability of Students as Subjects. . . . . . . . . . . . . . . . 105 4.5.2 Experience and Commitment . . . . . . . . . . . . . . . . . . . 108 4.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Chapter 5 - Prioritization Research Framework . . . . . . . . . 111 5.1 Evidence on Requirements Prioritization . . . . . . . . . . . . . . 112 5.2 Creation of the Framework . . . . . . . . . . . . . . . . . . . . . . . . . 114 5.2.1 Background and Similar Frameworks. . . . . . . . . . . . . 114 5.2.2 Process of Creating the Framework . . . . . . . . . . . . . . 115 5.3 Research Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 5.3.1 Independent Variables. . . . . . . . . . . . . . . . . . . . . . . . . 117 5.3.2 Dependent Variables . . . . . . . . . . . . . . . . . . . . . . . . . . 118 5.3.3 Context Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 5.4 Fulfillment of the Framework . . . . . . . . . . . . . . . . . . . . . . . 125 5.4.1 Independent Variables. . . . . . . . . . . . . . . . . . . . . . . . . 127 5.4.2 Dependent Variables . . . . . . . . . . . . . . . . . . . . . . . . . . 127 5.4.3 Context Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 5.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Chapter 6 - Hierarchical Cumulative Voting. . . . . . . . . . . . 131 6.1 Requirements Prioritization . . . . . . . . . . . . . . . . . . . . . . . . . 132 6.1.1 Scales of Priority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 6.1.2 Empirical Results Related to AHP and CV . . . . . . . . 133 vii
14. 6.1.3 Requirements Levels and Hierarchies . . . . . . . . . . . . 136 6.2 Hierarchical Cumulative Voting (HCV) . . . . . . . . . . . . . . . 138 6.2.1 General Idea of HCV . . . . . . . . . . . . . . . . . . . . . . . . . 138 6.2.2 Multiple Stakeholders . . . . . . . . . . . . . . . . . . . . . . . . . 141 6.2.3 Multiple Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 6.2.4 Example: Two-Level Hierarchy, One Stakeholder . . 143 6.2.5 Description Epilogue of HVC . . . . . . . . . . . . . . . . . . 146 6.3 Evaluation of HCV in Comparison to CV. . . . . . . . . . . . . 147 6.3.1 Extent of Explicit Weights . . . . . . . . . . . . . . . . . . . . . 149 6.3.2 Divergence of Given Weights . . . . . . . . . . . . . . . . . . 150 6.3.3 Reflections on Scalability . . . . . . . . . . . . . . . . . . . . . . 151 6.3.4 Opinions about HCV . . . . . . . . . . . . . . . . . . . . . . . . . 152 6.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 6.4.1 Using Compensation or Not?. . . . . . . . . . . . . . . . . . . 153 6.4.2 Constructing Hierarchies . . . . . . . . . . . . . . . . . . . . . . 155 6.4.3 Using HCV in Practice . . . . . . . . . . . . . . . . . . . . . . . . 155 6.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 Chapter 7 - Hierarchy Priority Calculation . . . . . . . . . . . . . .161 7.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 7.1.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 7.1.2 Research Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . 163 7.1.3 Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 7.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 7.2.1 Relevance to Practice . . . . . . . . . . . . . . . . . . . . . . . . . 164 7.2.2 Technology under Investigation. . . . . . . . . . . . . . . . . 165 7.3 Experiment Planning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 7.3.1 Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 7.3.2 Experimental Units . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 7.3.3 Experimental Material. . . . . . . . . . . . . . . . . . . . . . . . . 169 7.3.4 Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 7.3.5 Hypotheses, Parameters, and Variables . . . . . . . . . . . 170 7.3.6 Experiment Design . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 7.3.7 Procedure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 7.3.8 Analysis Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 7.4 Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 7.4.1 Preparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 7.4.2 Deviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 7.5 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 7.5.1 Descriptive Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . 175 7.5.2 Data Set Preparation . . . . . . . . . . . . . . . . . . . . . . . . . . 179 7.5.3 Hypothesis Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 viii
15. 7.6 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 7.6.1 Evaluation of Results and Implications . . . . . . . . . . . 182 7.6.2 Threats to Validity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 7.6.3 Inferences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 7.6.4 Lessons Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 7.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 7.7.1 Impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Chapter 8 - Decision Aspects . . . . . . . . . . . . . . . . . . . . . . . . . 195 8.1 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 8.2 Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 8.2.1 Study Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 8.3 Case: Change Request Determination. . . . . . . . . . . . . . . . . 202 8.3.1 Step 1: Elicitation of Decision Aspects . . . . . . . . . . . 202 8.3.2 Step 2: Definition of Decision Aspects . . . . . . . . . . . 203 8.3.3 Step 3: Prioritization of Decision Aspects . . . . . . . . . 205 8.3.4 Step 4: Feedback Meeting . . . . . . . . . . . . . . . . . . . . . . 207 8.4 Case: Requirements Selection . . . . . . . . . . . . . . . . . . . . . . . 209 8.4.1 Step 1: Elicitation of Decision Aspects . . . . . . . . . . . 209 8.4.2 Step 2: Definition of Decision Aspects . . . . . . . . . . . 209 8.4.3 Step 3: Prioritization of Decision Aspects . . . . . . . . . 210 8.4.4 Step 4: Feedback Meeting . . . . . . . . . . . . . . . . . . . . . . 213 8.5 Overall Analysis of the Cases . . . . . . . . . . . . . . . . . . . . . . . 215 8.5.1 Similarities between the Cases. . . . . . . . . . . . . . . . . . . 215 8.5.2 Differences between the Cases . . . . . . . . . . . . . . . . . . 216 8.5.3 Threats to Validity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 8.6 Comparison between Cases and Literature. . . . . . . . . . . . . 219 8.7 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 8.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Chapter 9 - Conclusions and Future Work . . . . . . . . . . . . . 225 9.1 Results and Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 9.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 9.2.1 Follow and Validate the Research Framework. . . . . . 229 9.2.2 Further Research with Students as Subjects . . . . . . . . 230 9.2.3 Further Studies on the Use of HCV . . . . . . . . . . . . . . 230 9.2.4 Decision Aspects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 9.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 ix
16. x
17. 1 C H A P T E R Introduction In everyday life, we make many decisions (e.g. buying a DVD- player, food, a telephone), often without even being conscious of making one. Usually, we do not have more than a couple of choices to consider, such as which brand of mustard to buy, or whether to take this bus or the next one. Even with just a couple of choices, decisions can be difficult to make. When having tens, hundreds or even thousands of alternatives, decision-making becomes much more difficult. When having many choices, it is often not obvious which choice is better, because several aspects must be taken into consideration. For example, when buying a new car, it is relatively easy to make a choice based on speed alone (one only needs to evaluate which car is the fastest). When considering multiple aspects, such as price, safety, or comfort, the choice becomes much harder. When devel- oping software systems, similar trade-offs must be made. The func- tionality that is most important for the customers might not be as important when other aspects (e.g. price) are factored in. We need to develop the functionality that is strategically most important while satisfying customers and being least risky, least costly, etc. Software engineering decision support plays a vital role in the value generation processes, as it facilitates making the right decisions and developing the right things. Hence, decision support is a crucial 1
18. Introduction component in achieving the goal of delivering value to internal or external stakeholders. When delivering business value, one of the key issues is to decide what and when to develop, and it is impor- tant to make trade-offs between different objectives, stakeholders and constraints. Even though having decision support is a prerequi- site for doing this effectively, and despite an emerging awareness of the role of decision support when determining what to develop, lit- tle attention has been devoted to providing appropriate support for making decisions about what to include in products. The processes of finding out and deciding what to develop is referred to as requirements engineering or product management, depending on the market situation. One of the keys to making the right decision is to prioritize between different alternatives. Although rather much research has been performed to investigate when and how to use prioritization as decision support when mak- ing such decisions, there still exist little evidence on what prioritiza- tion approach to use in what situation. In this thesis, focus is put on understanding the area of requirements prioritization and evolving the area further by studying the applicability of different prioritiza- tion approaches in different situations. In the subsequent chapters of this thesis, different research studies are presented, all with their own focus and contribution. The com- mon theme is that they focus on certain aspects of requirements prioritization. Together, they aim at answering the general research question of this thesis: How can requirements prioritization be evolved to facilitate better decisions regarding the content of software products? In the current chapter, the research area is presented (Section 1.1) and the research is motivated by referring to trends in software engineering (Section 1.2). In Section 1.3, the different vocabulary used in relation to the research area is presented and it is deter- mined how this vocabulary is used in this thesis. In order to give a better understanding about the setting in which the research have evolved, Section 1.4 presents this setting together with some moti- vation for the research from an industrial perspective within this setting. Section 1.5 presents some basic theories behind research methodology together with a discussion about the different kind of research approaches that have been used in this thesis. Last, an out- line is given to introduce the reader on what parts the thesis consist of, how to read the thesis, and how the different chapters relate to each other. 2