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 EVOLVING PRIORITIZATION FOR SOFTWARE PRODUCT MANAGEMENT ABSTRACT Patrik Berander ISSN 1653-2090 ISBN 978-91-7295-108-2 2007:07 2007:07 EVOLVING PRIORITIZATION FOR SOFTWARE PRODUCT MANAGEMENT Patrik Berander Blekinge Institute of Technology Doctoral Dissertation Series No 2007:07 School of Engineering Evolving Prioritization for Software Product Management Patrik Berander 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 © 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 In Memory of Anders Berander i ii 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 i ii [35] [36] Crawford, M and Di Benedetto, A (2006): New Products Management, Eight International Edition, McGraw-Hill, Singapore [37] Creswell, J W (2003): Research Design - Qualitative, Quantitative, and Mixed Methods Approaches, nd Edition, Sage Publications, Thousand Oaks, CA [38] Dahlstedt, Å G and Persson, A (2003): ‘Requirements Interdependencies - Molding the State of Research into a Research Agenda’, Proceedings of the th International Workshop on Requirements Engineering: Foundation for Software Quality (REFSQ’03), Essen, Germany, pp 71-80 [39] Dahlstedt, Å G and Persson, A (2005): ‘Requirements Interdependencies: State of the Art and Future Challenges’, in Engineering and Managing Software Requirements, ed Aurum, A and Wohlin, C., Springer Verlag, Berlin, Germany, pp 95-116 [40] Davidsson, P., Johansson, S., and Svahnberg, M (2005): ‘Using the Analytic Hierarchy Process for Evaluating Multi-Agent System Architecture Candidates’, Proceedings of the th International Workshop on Agent-Oriented Software Engineering, LNCS 3950, SpringerVerlag, Berlin, Germany, pp 205-217 [41] Davis, A (1993): Software Requirements: Objects, Functions and States, Prentice-Hall International, Englewood Cliffs, New Jersey [42] Davis, A M.(2003): ‘The Art of Requirements Triage’, IEEE Computer, 36(3), pp 42-49 [43] Dawson, C W (2000): The Essence of Computing Projects - a Student’s Guide, Pearson Education, Essex, UK [44] Dawson R and de Chazal, M (2004): ‘Forget Statistics - Draw a Graph Instead’, Proceedings of the th International Conference on Empirical Assessment in Software Engineering (EASE 2004), Edinburgh, Scotland, pp 67-75 [45] Doumont, J (2002): ‘Magical Numbers: The Seven-Plus-MinusTwo Myth’, IEEE Transactions on Professional Communication, 45(2), pp 123-127 [46] 238 Colombo, E and Francalanci, C (2004): ‘Selecting CRM Packages Based on Architectural, Functional, and Cost Requirements: Empirical Validation of a Hierarchical Ranking Model’, Requirements Engineering Journal, 9(3), pp 186-203 Dver, A S (2003): Software Product Management Essentials - A Practical Guide for Small and Mid-sized Companies, Anclote Press, Tampa, FL [47] Dybå, T., Kampenes, V B., and Sjøberg, D (2005): ‘A Systematic Review of Statistical Power in Software Engineering Experiments’, Journal of Information and Software Technology, 48(8), pp 745-755 [48] Ebert, C (2005): ‘Requirements BEFORE the Requirements: Understanding the Upstream Impact’, Proceedings of the 13 th IEEE Conference on Requirements Engineering, Paris, France, pp 117-124 [49] Ecklund, E F., Delcambre, L M L., and Freiling, M J (1996): ‘Change Cases: Use Cases that Identify Future Requirements’, Proceedings of the 11 th ACM SIGPLAN Conference on Object-Oriented Programming , Systems, Languages, and Applications (OOPSLA’96), San Jose, CA, pp 342-358 [50] Erdogmus, H., Favaro, J., and Halling, M (2006): ‘Valuation of Software Initiatives Under Uncertainty: Concepts, Issues, and Techniques’ in Value-Based Software Engineering ed Biffl, S., Aurum, A., Boehm, B., Erdogmus, H., and Grünbacher, P., Springer Verlag, Berlin, Germany, pp 39-66 [51] Feather, M S and Menzies T (2002): ‘Converging on the Optimal Attainment of Requirements’, Proceedings of the IEEE Joint International Conference on Requirements Engineering (RE’02), Essen, Germany, pp 263-270 [52] Fenton, N E and Pfleeger, S L (1997): Software Metrics - A Rigorous and Practical Approach, nd Edition, PWS Publishing Company, Boston, MA [53] Focal Point, (18 February 2007) [54] Gallis, H., Arisholm, E., and Dybå, T (2003): ‘An Initial Framework for Research on Pair Programming’, Proceedings of the 2003 International Symposium on Empirical Software Engineering (ISESE'03), Rome, Italy, pp 132-142 [55] Giesen, J and Völker, A (2002): ‘Requirements Interdependencies and Stakeholder Preferences’, Proceedings of the IEEE Joint International Conference on Requirements Engineering (RE’02), Essen, Germany, pp 206-209 [56] Glass, R L (1994): ‘The Software-Research Crisis’, IEEE Software, 11(6), pp 42-47 [57] Gorschek, T and Wohlin, C (2006): ‘Requirements Abstraction Model’, Requirements Engineering Journal, 11(1), pp 79-101 [58] Gorshek, T (2006): Requirements Engineering Supporting Technical Product Management, Blekinge Institute of Technology Doc- 239 toral Dissertation Series No 2006:01, Department of Systems and Software Engineering, Blekinge Institute of Technology, Sweden [59] [60] Greer, D and Ruhe, G (2004): ‘Software Release Planning: an Evolutionary and Iterative Approach’, Information and Software Technology, 46(4), pp 243-253 [61] Grudin, J and Pruitt, J (2002): ‘Personas, Participatory Design and Product Development: An Infrastructure for Engagement’, Proceedings of the Participatory Design Conference (PDC2002), Malmö, Sweden, pp 144-161 [62] Harker, P T (1987): Incomplete Pairwise Comparisons in the Analytical Hierarchy Process, Mathematical Modelling, 9(11), pp 837848 [63] Hill, N., Brierly, J., and MacDougall, R (1999): How to Measure Customer Satisfaction, Gower Publishing, Hampshire, England [64] Hofmann, H F and Lehner, F (2001): ‘Requirements Engineering as a Success Factor in Software Projects’, IEEE Software, 18(4), pp 58-66 [65] Holme, I M and Solvang, B K (1997): Forskningsmetodik - Om Kvalitativa och Kvantitativa Metoder, nd Edition, Studentlitteratur, Lund, Sweden (in Swedish) [66] Hu, G., Aurum, A., and Wohlin, C (2006): ‘Adding Value to Software Requirements: An Empirical Study in the Chinese Software Industry’, Proceedings of the 17 th Australian Conference on Information Systems (ACIS'06), Adelaide, Australia [67] Humphrey, W S (1989): Managing the Software Process, AddisonWesley, USA [68] Höst, M., Regnell, B., and Wohlin, C (2000): ‘Using Students as Subjects - A Comparative Study of Students and Professionals in Lead-Time Impact Assessment’, Empirical Software Engineering, 5(3), pp 201-214 [69] 240 Gorschek, T., Svahnberg, M., Borg, A., Bürstler, J., Eriksson, M., Loconsole, A., and Sandahl, K (2007): ‘A Controlled Empirical Evaluation of a Requirements Abstraction Model’, accepted for publication in Information and Software Technology, available in [58] Höst, M., Wohlin, C., and Thelin, T (2005): ‘Experimental Context Classification: Incentives and Experience of Subjects’, Proceedings of the 27 th International Conference on Software Engineering (ICSE 2005), St Louis, MO, pp 470-478 [70] IEEE Std 830-1998, (1998): IEEE Recommended Practice for Software Requirements Specifications, IEEE Computer Society, Los Alamitos, CA [71] Investopedia.com, available from Internet (18 February 2007) [72] ISO 9001:2000 (2001): ISO 9001 - The TickIT Guide, Issue 5.0, British Standards Institution, London, UK [73] IWSPM (2006): First International Workshop on Software Product Management, In Conjunction with the 14th IEEE International Requirements Engineering Conference, Minneapolis/St Paul, MN, (18 February 2007) [74] Jedlitschka, A., and Pfahl, D (2005): Reporting Guidelines for Controlled Experiments in Software Engineering, IESE Report, IESE035.5/E [75] Jedlitschka, A., Ciolkowski, M., and Pfahl, D (2007): Reporting Experiments in Software Engineering, Technical Report ISERN-0701, Fraunhofer Institute for Experimental Software Engineering, Germany [76] Johnson, G., Scholes, K., and Whittington, R (2005): Exploring Cor porate Strategy, Seventh Edition, Pearson Education, Essex, England [77] Jones C (1996): Applied Software Measurement: Assuring Productivity and Quality, McGraw-Hill, New York, NY [78] Jönsson, P and Wohlin, C (2005): ‘Understanding Impact Analysis: An Empirical Study to Capture Knowledge on Different Organisational Levels’, Proceedings of the 17 th International Conference on Software Engineering and Knowledge Engineering (SEKE'05), Taipei, Taiwan, pp 707-712 [79] Jönsson, P and Wohlin, C (2005): ‘A Study on Prioritisation of Impact Analysis: A Comparison Between Perspectives’, Proceedings of the Fifth Conference on Software Engineering Research and Practice in Sweden (SERPS'05), Västerås, Sweden, pp 11-19 [80] Kappel, T A (2001): ‘Perspectives on Roadmaps: How Organizations Talk About the Future’, Journal of Product Innovation Management, 18(1), pp 39-50 [81] Karatzas, K., Dioudi, E., and Moussiopoulos, N (2003): ‘Identification of Major Components for Integrated Urban Air Quality Management and Information Systems via User Requirements Prioritisation’, Environmental Modelling and Software, 18(2), pp 173-178 241 [82] [83] Karlsson, J., and Ryan, K (1996): ‘Supporting the Selection of Software Requirements’, Proceedings of the th International Workshop on Software Specification and Design (IWSSD), Schloss Velen, Germany, pp 146-149 [84] Karlsson, J and Ryan, K (1997): ‘A Cost-Value Approach for Prioritizing Requirements’ IEEE Software, 14 (5), pp 67-74 [85] Karlsson, J., Olsson, S., and Ryan, K (1997): ‘Improved Practical Support for Large-Scale Requirements Prioritizing’, Requirements Engineering Journal, 2(1), pp 51-60 [86] Karlsson, J (1998): A Systematic Approach for Prioritizing Software Requirements, Linköping Studies in Science and Technology, Doctoral Dissertation No 526, Department of Computer and Information Science, Linköping Institute of Technology, Sweden [87] Karlsson, J., Wohlin, C., and Regnell, B (1998): ‘An Evaluation of Methods for Prioritizing Software Requirements’, Information and Software Technology, 39(14-15), pp 939-947 [88] Karlsson, L and Regnell, B (2006): ‘Introducing Tool Support for Retrospective Analysis of Release Planning Decisions’, Proceedings of the th International Conference on Product Focused Software Process Improvement (PROFES’06), Amsterdam, Netherlands, pp 1933 [89] Karlsson, L., Höst, M., and Regnell, B (2006): ‘Evaluating the Practical Use of Different Measurement Scales in Requirments Prioritisation’, Proceedings of the th ACM-IEEE International Symposium on Empirical Software Engineering, Rio de Janeiro, Brazil, pp 326335 [90] Karlsson, L (2006): Requirements Prioritization and Retrospective Analysis for Release Planning Process Improvement, Lund Institute of Technology Reports on Communication Systems No 173, Ph.D Thesis, Department of Communication Systems, Lund University, Sweden [91] 242 Karlsson, J (1996): ‘Software Requirements Prioritizing’, Proceedings of the Second International Conference on Requirements Engineering (ICRE’96), Colorado Springs, CO, pp 110-116 Karlsson, L., Regnell, B., and Thelin, T (2006): ‘Case Studies in Process Improvement through Retrospective Analysis of Release Planning Decisions’, International Journal of Software Engineering and Knowledge Engineering - Special Issue on Requirements Engineering Decision Suppport, 16(6), pp 885-915 [92] Karlsson, L., Thelin, T., Regnell, B., Berander, P., and Wohlin, C (2007): ‘Pair-Wise Comparisons versus Planning Game Partitioning - Experiments on Requirements Prioritisation Techniques’, Journal of Empirical Software Engineering (EMSE), 12(1), pp 3-33 [93] Karlsson, L., Dahlstedt, A G., Regnell, B., Natt och Dag, J., and Persson, A (2007): ‘Requirements Engineering Challenges in Market-Driven Software Development - An Interview Study With Practitioners’, Accepted for publication in Information and Software Technology: Special Issue on Understanding the Social Side of Software Engineering, available in [90] [94] Khan, K S., Ter, R G., Glanville, J., Sowden, A J., and Kleijnen, J (2001): Undertaking Systematic Review of Research on Effectiveness CRD's Guidance for those Carrying Out or Commissioning Reviews, CRD Report Number 4, nd Edition, NHS Centre for Reviews and Dissemination, University of York, ISBN 900640 20 [95] Khan, K A (2006): A Systematic Review of Requirements Prioritization, Master Thesis No MSE-2006-18, Department of Systems and Software Engineering, Blekinge Institute of Technology, Sweden [96] Kitchenham, B., Pickard, L., and Pfleeger, S L (1995): ‘Case Studies for Method and Tool Evaluation’, IEEE Software, 12(4), pp 5262 [97] Kitchenham, B A (2004): Procedures for performing systematic reviews, Joint Technical Report: Keele University Technical report TR/SE-0401, ISSN: 1353-7776, and NICTA Technical Report 0400011T.1 [98] Kitchenham, B., Al-Khilidar, H., Ali Babar, M., Berry, M., Cox, K., Keung, J., Kurniawati, F., Staples, M., Zhang, H., and Zhu, L (2006): ‘Evaluating Guidelines for Empirical Software Engineering Studies’, Proceedings of the th ACM-IEEE International Symposium on Empirical Software Engineering (ISESE'06), Rio de Janeiro, Brazil, pp 38-47 [99] Kontio, J., Lehtola, L., and Bragge, J (2004): ‘Using the Focus Group Method in Software Engineering: Obtaining Practitioner and User Experiences’, Proceedings of the 2004 International Symposium on Empirical Software Engineering (ISESE 2004), Redondo Beach, CA, pp 271-280 [100] Kotler, P., Armstron, G., Saunders, J., Wong, V (2002): Principles of Marketing, rd European Edition, Pearson Education, Essex, UK [101] Kotonya, G and Sommerville, I (1998): Requirements Engineering Processes and Techniques, John Wiley and Sons, West Sussex, England 243 [102] [103] Lausen, S (2002): Software Requirements - Styles and Techniques, Pearson Education, Essex, England [104] Leffingwell, D and Widrig, D (2000): Managing Software Requirements - A Unified Approach, Addison-Wesley, Upper Saddle River, NJ [105] Lehman, D R and Winer, R S (2005): Product Management, Fourth International Edition, McGraw Hill, New York, NY [106] Lehtola, L., Kauppinen, M., and Kujala, S (2004): ‘Requirements Prioritization Challenges in Practice’, Proceedings of th International Conference on Product Focused Software Process Improvement, Kansai Science City, Japan, pp 497-508 [107] Lehtola, L and Kauppinen, M (2004): ‘Empirical Evaluation of Two Requirements Prioritization Methods in Product Development Projects’, Proceedings of the European Software Process Improvement Conference (EuroSPI 2004), Trondheim, Norway, pp 161-170 [108] Lehtola, L., Kauppinen, M., and Kujala, S (2005): ‘Linking the Business View to Requirements Engineering: Long-Term Product Planning by Roadmapping’, Proceedings of the 13 th International Conference on Requirements Engineering, Paris, France, pp 439-443 [109] Lehtola, L and Kauppinen, M (2006): Suitability of Requirements Prioritization Methods for Market-Driven Software Product Development, Software Process Improvement and Practice (SPIP), 11(1), pp 7-19 [110] Lockyer, K and Gordon, J (2005): Project Management and Project Network Techniques, Seventh Edition, Pearson Education, Essex, England [111] Lubars, M., Potts, C., and Richter, C (1993): A Review of the State of Practice in Requirements Modeling, Proceedings of the IEEE International Symposium on Requirements Engineering (RE’93), San Diego, CA, pp 2-14 [112] Maciaszek, L A (2001): Requirements Analysis and System Design Developing Information Systems with UML, Pearson Education, Essex, England [113] 244 Kuzniarz, L., Staron, M., and Wohlin, C (2003): ‘Students as Study Subjects in Software Engineering Experimentation’, Third Swedish Conference on Software Engineering Research and Practise in Sweden: Proceedings (SERPS '03), Lund, Sweden, pp 19-24 Maiden, N A M and Ncube, C (1998): Acquiring COTS Software Selection Requirements, IEEE Software, 15(2), pp 46-56 [114] Marakas, G M (2003): Decision Support Systems in the 21st Century, nd Edition, Prentice Hall, Upper Saddle River, NJ [115] Martella, R C., Nelson, R., and Marchand-Martella, N E (1999): Research Methods, Allyn & Bacon, Needham Heights, MA [116] Matzler, K and Hinterhuber, H H (1998): ‘How to Make Product Development Projects More Successful by Integrating Kano’s Model of Customer Satisfaction into Quality Function Development’, Technovation, 18(1), pp 25-38 [117] Maurice, S., Ruhe, G., Ngo-The, A., and Saliu, O (2006): ‘Decision Support for Value-based Software Release Planning’, in ValueBased Software Engineering ed Biffl, S., Aurum, A., Boehm, B., Erdogmus, H., and Grünbacher, P., Springer Verlag, Berlin, Germany, pp 247-262 [118] Maylor, H (2003): Project Management, Trhird Edition, Pearson Education, Essex, England [119] Mendes, E A (2005): ‘Systematic Review of Web Engineering Research’, Proceedings of the 2005 International Symposium on Empirical Software Engineering (ISESE 2005), Noosa Heads, Australia, pp 481-490 [120] Merriam-Webster online dictionary, available at Internet (18 February 2007), [121] Miller, G A (1956): ‘The Magical Number Seven, Plus or Minus Two: Some Limits on our Capacity for Processing Information’, Psychological Review, 63, pp 81-97 [122] Moore, G (1991): Crossing the Chasm, Harper Collins, New York, NY, cited in [131] [123] Newkirk, J W and Martin, R C (2001): Extreme Programming in Practice, Addison-Wesley, Upper Saddle River, NJ [124] Ngo-The, A and Ruhe, G (2005): ‘Decision Support in Requirements Engineering’, in Engineering and Managing Software Requirements, ed Aurum, A and Wohlin, C., Springer Verlag, Berlin, Germany, pp 267-286 [125] Nicholas, J M (2001): Project Management for Business and Technology - Principles and Practice, nd Edition, Prentice Hall, Upper Saddle River, NJ [126] Nurmuliani, N., Zowghi, D., and Powell, S (2004): ‘Analysis of Requirements Volatility during Software Development Lifecycle’, Proceedings of the 2004 Australian Software Engineering Conference (ASWEC ‘04), Melbourne, Australia, pp 28-37 245 [127] [128] Pfleeger, S L (2006): Software Engineering - Theory and Practice, Third Edition, Pearson Education, Upper Saddle River, NJ [129] Poppendieck, M and Poppendieck, T (2007): Implementing Lean Software Development: From Concept to Cash, Addison-Wesley [130] Regnell, B., Paech, B., Aurum, A., Wohlin, C., Dutoit, A., and Natt och Dag, J (2001): ‘Requirements Mean Decisions! - Research Issues for Understanding and Supporting Decision-Making in Requirements Engineering’, Proceedings of the First Swedish Conference on Software Engineering Research and Practise, Ronneby, Sweden, pp 49-52 [131] Regnell, B., Höst, M., Natt och Dag, J., Beremark, P., and Hjelm, T (2001): ‘An Industrial Case Study on Distributed Prioritisation in Market-Driven Requirements Engineering for Packaged Software’, Requirements Engineering Journal, 6(1), pp 51-62 [132] Regnell, B., Karlsson, L., and Höst, M (2003): ‘An Analytical Model for Requirements Selection Quality Evaluation in Product Software Development’, Proceedings of the 11 th International Requirements Engineering Conference, Monterey Bay, CA, pp 254-263 [133] Regnell, B and Brinkkemper, S (2005): ‘Market-Driven Requirements Engineering for Software Products’, in Engineering and Managing Software Requirements, ed Aurum, A and Wohlin, C., Springer Verlag, Berlin, Germany, pp 287-308 [134] Remus, W (1989): ‘Using Students as Subjects in Experiments on Decision Support Systems’, Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences, Vol III: Decision Support and Knowledge Based Systems Track, Hawaii, pp 176-180 [135] Robertson, S and Robertson, J (1999): Mastering the Requirements Process, Addison-Wesley, Harlow, England [136] Robson, C (2002): Real World Research, nd Edition, Blackwell Publishing, Cornwall, UK [137] 246 OECD (1993): ‘The Measurement of Scientific and Technological Activities: Proposed Standard Practice for Surveys of Research and Experimental Development’, Frascati Manual, OECD Publications, Paris, France Rolland, C and Salinesi, C (2005): ‘Modeling Goals and Reasoning with Them’, in Engineering and Managing Software Requirements, ed Aurum, A and Wohlin, C., Springer Verlag, Berlin, Germany, pp 189-217 [138] Ruhe, G (2002): ‘Software Engineering Decision Support’, Proceedings of the th International Workshop of Advances in Learning Software Organizations, Chicago, IL, pp 104-113 [139] Ruhe, G., Eberlein, A., and Pfahl, D (2002): ‘Quantitative WinWin A New Method for Decision Support in Requirements Negotiation’, Proceedings of the 14 th International Conference on Software Engineering and Knowledge Engineering (SEKE'02), Ichia, Italy, pp 159-166 [140] Ruhe, G (2003): ‘Software Engineering Decision Support - A New Paradigm for Learning Software Organizations’, Advances in Learning Software Organization, Lecture Notes in Computer Science, Springer-Verlag, Vol 2640, Berlin, Germany, pp 104-115 [141] Ruhe, G., Eberlein, A., and Pfahl, D (2003): ‘Trade-off Analysis for Requirements Selection’, International Journal of Software Engineering and Knowledge Engineering, 13(4), pp 345-366 [142] Ruhe, G and Momoh, J (2005): ‘Strategic Release Planning and Evaluation of Operational Feasibility’, Proceedings of the 38 th Annual Hawaii International Conference on System Sciences (HICSS’05) - Track (Mini-track on Strategic Software Engineering), Big Island, HI, pp 313b [143] Ruhe, G and Saliu, M O (2005): ‘The Art and Science of Software Release Planning’, IEEE Software, 22(6), pp 47-54 [144] Runeson, R., Ohlsson, M C., and Wohlin, C (2001): ‘A Classification Scheme for Studies on Fault-Prone Components’, Proceedings of the International Conference on Product Focused Software Process Improvement (PROFES01), Kaiserslautern, Germany, pp 341-355 [145] Saaty, T L (1980): The Analytic Hierarchy Process, McGraw-Hill, New York, NY [146] Saaty, T L and Vargas, L G (2001): Models, Methods, Concepts & Applications of the Analytic Hierarchy Process, Kluwer Academic Publishers, Norwell [147] Saaty, T L and Ozdemir, M (2003): ‘Why the Magic Number Seven Plus or Minus Two’, Mathematical and Computer Modeling, 38(3-4), pp 233-244 [148] Sawyer, S (2000): Packaged Software: Implications of the Differences from Custom Approaches to Software Development, European Journal of Information Systems, 9(1), pp 47-58 [149] Schmid, K (2002): ‘A Comprehensive Product Line Scoping and its Validation’, Proceedings of the 24 th International Conference on Software Engineering (ICSE'02), Orlando, FL, pp 593-603 247 [150] [151] Schwaber, K and Beedle, M (2002): Agile Development With Scrum, Prentice Hall, Upper Saddle River, NJ [152] Schwaber, K (2004): Agile Project Management with SCRUM, Microsoft Press, Redmond, WA [153] Shapiro, C and Varian, H R (1999): Information Rules - A Strategic Guide to the Network Economy, Harvard Business School Press, USA [154] Shen, Y., Hoerl, A E., and McConnell, W (1992): An Incomplete Design in the Analytical Hierarchy Process, Mathematical Computer Modelling, 16(5), pp 121-129 [155] Shepperd, M (2003): ‘Empirically-based Software Engineering’, Upgrade - The International Journal for the Informatics Professional, 4(4), pp 37-41 [156] Shiba, S., Graham, A., and Walden D (1993): A New American TQM: Four Practical Revolutions in Management, Productivity Press, Portland, OR, cited in [84] [157] Shtub, A., Bard, J F., and Globerson S (2005): Project Management Processes, Methodologies, and Economies, Pearson Education, Upper Saddle River, NJ [158] Siegel, S and Castellan, J N (1988): Nonparametric Statistics for the Behavioral Sciences, nd Edition, McGraw-Hill International Editions [159] Silverman, D (2001): Inter preting Qualitative Data, nd Edition, SAGE publications, London, UK [160] van Soligen, R and Berghout, E (1999): Goal/Question/Metric Method: A Practical Guide for Quality Improvement of Software Development, McGraw-Hill Education, London, England [161] Sommerville I and Sawyer, P (1997): Requirements Engineering - A Good Practice Guide, John Wiley and Sons, Chichester, England [162] Sommerville, I (2007): Software Engineering , th Edition, Pearson Education, Essex, England [163] 248 Schulmeyer, G G and McManus, J I (1999): Handbook of Software Quality Assurance, rd Edition, Prentice Hall, Upper Saddle River, NJ The Standish Group International (2003): CHAOS Chronicles v3.0, (18 February 2007), West Yarmouth, MA, cited in [48] [164] Tichy, W F (2000): ‘Hints for Reviewing Empirical Work in Software Engineering’, Empirical Software Engineering, 5(4), pp 309312 [165] Tomaszewski, P and Lundberg, L (2005): ‘Software Development Productivity on a New Platform - An Industrial Case Study’, Information and Software Technology, 47(4), 257-269 [166] Tomaszewski, P., Berander, P., and Damm., L-O (2007): ‘From Traditional to Streamline Development - Opportunities and Challenges’, submitted to Journal of Software Process Improvement and Practice [167] Trost, J (1997): Kvalitativa Intervjuer, nd Edition, Studentlitteratur, Lund, Sweden (in Swedish) [168] Trost, J (2001): Enkätboken, nd Edition, Studentlitteratur, Lund, Sweden (in Swedish) [169] Vegas, S., Juristo, N., Moreno, A., Solari, M., and Letelier, P (2006): ‘Analysis of the Influence of Communication between Researchers on Experiment Replication’, Proceedings of the th ACM-IEEE International Symposium on Empirical Software Engineering (ISESE'06), Rio de Janeiro, Brazil, pp 28-37 [170] Vetschera, R (2006): ‘Preference-Based Decision Support in Software Engineering’, in Value-Based Software Engineering, ed Biffl, S., Aurum, A., Boehm, B., Erdogmus, H., and Grünbacher, P., Springer Verlag, Berlin, Germany, pp 67-89 [171] van de Weerd, I., Brinkkemper, S., Nieuwenhius, R., Versendaal, J., and Bijlsma, L (2006): ‘On the Creation of a Reference Framework for Software Product Management: Validation and Tool Support’, Proceedings of the First International Workshop on Software Product Management, Minneapolis/St Paul, MN, pp 3-12 [172] Wiegers, K (1999): Software Requirements, Microsoft Press, Redmond, WA [173] Wohlin, C., Runeson, P., Höst, M., Ohlsson, M C., Regnell, B., and Wesslén, A (2000): Experimentation in Software Engineering - An Introduction, Kluwer Academic Publishers, Norwell, MA [174] Wohlin, C and Aurum A (2005): ‘What is Important when Deciding to Include a Software Requirement in a Project or Release?’, Proceedings of the 2005 International Symposium on Empirical Software Engi-neering (ISESE 2005), Noosa Heads, Australia, pp 246255 [175] Wohlin, C and Aurum, A (2006): ‘Criteria for Selecting Software Requirements to Create Product Value: An Industrial Empirical 249 Study’, in Value-based Software Engineering, ed Biffl, S., Aurum, A., Boehm, B., Erdogan, H., and Grünbacher, P., Springer Verlag, Berlin, Germany, pp 179-200 [176] [177] Yap, M (2006): ‘Value Based Extreme Programming’, Proceedings of the AGILE 2006 Conference (AGILE’06), Minneapolis, MN, pp 175-184 [178] Yeh, A C (1992): ‘REQUirements Engineering Support Technique (REQUEST) - A Market Driven Requirements Management Process’, Proceedings of the nd Symposium of Quality Software Development Tools, New Orleans, LA, pp 211-223 [179] Zhang, Q and Nishimura, T (1996): ‘A Method of Evaluation for Scaling in the Analytical Hierarchy Process’, Proceedings of the 1996 IEEE International Conference on Systems, Man and Cybernetics, Beijing, China, pp 1888-1893 [180] 250 Womack, J., Jones, D., and Roos, D (1990): The Machine That Changed the World, Rawson Associates Zowghi, D and Nurmuliani, N (2002): ‘A Study of the Impact of Requirements Volatility on Software Project Performance’, Proceedings of the Ninth Asia-Pacific Software Engineering Conference (APSEC ‘02), Gold Coast, Australia, pp 3-11 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 EVOLVING PRIORITIZATION FOR SOFTWARE PRODUCT MANAGEMENT ABSTRACT Patrik Berander ISSN 1653-2090 ISBN 978-91-7295-108-2 2007:07 2007:07 EVOLVING PRIORITIZATION FOR SOFTWARE PRODUCT MANAGEMENT Patrik Berander Blekinge Institute of Technology Doctoral Dissertation Series No 2007:07 School of Engineering ... overview of techniques for prioritization of requirements for software products Prioritization is a crucial step towards making good decisions regarding product planning for single and multiple... 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... term ? ?product management? ?? is being increasingly used in the area For example, books have been written [46] and a workshop has been conducted [73] on software product management As the way the software