Evolving Prioritization for Software Product Management

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.

[1]  Patrik Berander,et al.  Prioritization of Stakeholder Needs in Software Engineering : Understanding and Evaluation , 2004 .

[2]  Franz Lehner,et al.  Requirements Engineering as a Success Factor in Software Projects , 2001, IEEE Softw..

[3]  Tony Gorschek,et al.  Requirements Engineering Supporting Technical Product Management , 2006 .

[4]  Claes Wohlin,et al.  Identification of key factors in software process management - a case study , 2003, 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings..

[5]  Natalia Juristo Juzgado,et al.  Analysis of the influence of communication between researchers on experiment replication , 2006, ISESE '06.

[6]  Barry W. Boehm,et al.  Theory-W Software Project Management: Principles and Examples , 1989, IEEE Trans. Software Eng..

[7]  Tore Dybå,et al.  A systematic review of statistical power in software engineering experiments , 2006, Inf. Softw. Technol..

[8]  Lena Karlsson,et al.  Requirements Prioritisation and Retrospective Analysis for Release Planning Process Improvement , 2006 .

[9]  B. Kitchenham,et al.  Case Studies for Method and Tool Evaluation , 1995, IEEE Softw..

[10]  Martin Höst,et al.  Evaluating the practical use of different measurement scales in requirements prioritisation , 2006, ISESE '06.

[11]  M. Host,et al.  Experimental context classification: incentives and experience of subjects , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[12]  Claes Wohlin,et al.  What is important when deciding to include a software requirement in a project or release? , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[13]  Claes Wohlin,et al.  An evaluation of methods for prioritizing software requirements , 1998, Inf. Softw. Technol..

[14]  Leszek A. Maciaszek Requirements analysis and system design: developing information systems with UML , 2001 .

[15]  Joachim Karlsson,et al.  A Cost-Value Approach for Prioritizing Requirements , 1997, IEEE Softw..

[16]  Paul Davidsson,et al.  Using the Analytic Hierarchy Process for Evaluating Multi-Agent System Architecture Candidates , 2005, AOSE.

[17]  Laura Lehtola,et al.  Using the focus group method in software engineering: obtaining practitioner and user experiences , 2004, Proceedings. 2004 International Symposium on Empirical Software Engineering, 2004. ISESE '04..

[18]  Björn Regnell,et al.  An industrial survey of requirements interdependencies in software product release planning , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[19]  Rudolf Vetschera,et al.  Preference-Based Decision Support in Software Engineering , 2006, Value-Based Software Engineering.

[20]  Günther Ruhe,et al.  Software Engineering Decision Support ? A New Paradigm for Learning Software Organizations , 2002, LSO.

[21]  Jeffrey C. Carver,et al.  Issues in using students in empirical studies in software engineering education , 2003, Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No.03EX717).

[22]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[23]  Suzanne Robertson,et al.  Mastering the Requirements Process , 1999 .

[24]  Galal H. Galal-Edeen,et al.  Requirements engineering: A good practice , 2000, Eur. J. Inf. Syst..

[25]  Günther Ruhe,et al.  12 Decision Support for Value-Based Software Release Planning , 2022 .

[26]  Martin Höst,et al.  An Industrial Case Study on Distributed Prioritisation in Market-Driven Requirements Engineering for Packaged Software , 2001, Requirements Engineering.

[27]  Marjo Kauppinen,et al.  Linking the business view to requirements engineering: long-term product planning by roadmapping , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[28]  Albert C. Yeh,et al.  Requirements engineering support technique (REQUEST): a market driven requirements management process , 1992, [1992] Proceedings of the Second Symposium on Assessment of Quality Software Development Tools.

[29]  Lars Lundberg,et al.  Software development productivity on a new platform: an industrial case study , 2005, Inf. Softw. Technol..

[30]  Joachim Karlsson,et al.  Supporting the selection of software requirements , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[31]  James Gordon,et al.  Project Management and Project Network Techniques , 1995 .

[32]  Martin Höst,et al.  An analytical model for requirements selection quality evaluation in product software development , 2003, Proceedings. 11th IEEE International Requirements Engineering Conference, 2003..

[33]  J. Doumont Magical numbers: the seven-plus-or-minus-two myth , 2002 .

[34]  P. Harker Incomplete pairwise comparisons in the analytic hierarchy process , 1987 .

[35]  Claes Wohlin,et al.  Adding Value to Software Requirements: An Empirical Study in the Chinese Software Industry , 2006 .

[36]  Tore Dybå,et al.  An initial framework for research on pair programming , 2003, 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings..

[37]  J Fenton,et al.  A focal point. , 1971, Frontier Nursing Service quarterly bulletin.

[38]  Ian K. Bray,et al.  An Introduction to Requirements Engineering , 2002 .

[39]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[40]  Claes Wohlin,et al.  Using Students as Subjects—A Comparative Study of Students and Professionals in Lead-Time Impact Assessment , 2000, Empirical Software Engineering.

[41]  Capers Jones,et al.  Applied software measurement: assuring productivity and quality , 1991 .

[42]  Qi Zhang,et al.  A method of evaluation for scaling in the analytic hierarchy process , 1996, 1996 IEEE International Conference on Systems, Man and Cybernetics. Information Intelligence and Systems (Cat. No.96CH35929).

[43]  Barry W. Boehm,et al.  Value-Based Software Engineering: A Case Study , 2003, Computer.

[44]  Tony Gorschek,et al.  Requirements Abstraction Model , 2005, Requirements Engineering.

[45]  Ian Sommerville,et al.  Requirements Engineering: Processes and Techniques , 1998 .

[46]  Barry W. Boehm,et al.  Value-Based Software Engineering: Overview and Agenda , 2006, Value-Based Software Engineering.

[47]  Joachim Karlsson,et al.  A systematic approach for prioritizing software requirements , 1998 .

[48]  Computer Staff,et al.  The Machine That Changed the World , 1992 .

[49]  Claes Wohlin,et al.  Simple is Better? - An Experiment on Requirements Prioritisation , 2003 .

[50]  S. Siegel,et al.  Nonparametric Statistics for the Behavioral Sciences. , 1957 .

[51]  Pär Carlshamre,et al.  A usability perspective on requirements engineering : from methodology to product development , 2001 .

[52]  Anna Perini,et al.  Facing scalability issues in requirements prioritization with machine learning techniques , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[53]  Martin Fowler,et al.  Planning Extreme Programming , 2000 .

[54]  John M. Nicholas Project Management for Business and Technology: Principles and Practice , 2000 .

[55]  William Remus,et al.  Using students as subjects in experiments on decision support systems , 1989, [1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume III: Decision Support and Knowledge Based Systems Track.

[56]  Todd Donovan,et al.  Party Strategy and Voter Organization under Cumulative Voting in Victorian England , 1999 .

[57]  Paula Gomes Mian,et al.  Systematic Review in Software Engineering , 2005 .

[58]  Claes Wohlin,et al.  Understanding Impact Analysis: An Empirical Study to Capture Knowledge on Different Organisational Level , 2005, SEKE.

[59]  Miguel P Caldas,et al.  Research design: qualitative, quantitative, and mixed methods approaches , 2003 .

[60]  Egon Berghout,et al.  The Goal/Question/Metric method: a practical guide for quality improvement of software development , 1999 .

[61]  Joachim Karlsson,et al.  Improved practical support for large-scale requirements prioritising , 1997, Requirements Engineering.

[62]  Marjo Kauppinen,et al.  Requirements Prioritization Challenges in Practice , 2004, PROFES.

[63]  P. Kidwell,et al.  The mythical man-month: Essays on software engineering , 1996, IEEE Annals of the History of Computing.

[64]  Claes Wohlin,et al.  The fundamental nature of requirements engineering activities as a decision-making process , 2003, Inf. Softw. Technol..

[65]  Åsa G. Dahlstedt,et al.  Requirements Interdependencies-Moulding the State of Research into a Research Agenda , 2003 .

[66]  Claes Wohlin,et al.  Requirements Mean Decisions! – Research issues for understanding and supporting decision-making in Requirements Engineering , 2001 .

[67]  Joseph T. Mahoney,et al.  Information Rules: A Strategic Guide to the Network Economy , 2000 .

[68]  Marjo Kauppinen,et al.  Empirical Evaluation of Two Requirements Prioritization Methods in Product Development Projects , 2004, EuroSPI.

[69]  Tim Menzies,et al.  Converging on the optimal attainment of requirements , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[70]  Lois M. L. Delcambre,et al.  Change cases: use cases that identify future requirements , 1996, OOPSLA '96.

[71]  K. Beck,et al.  Extreme Programming Explained , 2002 .

[72]  Dietmar Pfahl,et al.  Reporting guidelines for controlled experiments in software engineering , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[73]  Björn Regnell,et al.  Introducing Tool Support for Retrospective Analysis of Release Planning Decisions , 2006, PROFES.

[74]  Ken Schwaber,et al.  Agile Project Management with Scrum , 1980 .

[75]  Didar Zowghi,et al.  A study of the impact of requirements volatility on software project performance , 2002, Ninth Asia-Pacific Software Engineering Conference, 2002..

[76]  Soren Lauesen,et al.  Software Requirements: Styles & Techniques , 2002 .

[77]  G. A. Miller THE PSYCHOLOGICAL REVIEW THE MAGICAL NUMBER SEVEN, PLUS OR MINUS TWO: SOME LIMITS ON OUR CAPACITY FOR PROCESSING INFORMATION 1 , 1956 .

[78]  Monica Yap Value based extreme programming , 2006, AGILE 2006 (AGILE'06).

[79]  T. Saaty,et al.  Why the magic number seven plus or minus two , 2003 .

[80]  Björn Regnell,et al.  Requirements engineering challenges in market-driven software development - An interview study with practitioners , 2007, Inf. Softw. Technol..

[81]  Dietmar Pfahl,et al.  Quantitative WinWin: a new method for decision support in requirements negotiation , 2002, SEKE '02.

[82]  Joachim Karlsson,et al.  Software requirements prioritizing , 1996, Proceedings of the Second International Conference on Requirements Engineering.

[83]  Anne Persson,et al.  Requirements Interdependencies: State of the Art and Future Challenges , 2005 .

[84]  Didar Zowghi,et al.  Analysis of requirements volatility during software development life cycle , 2004, 2004 Australian Software Engineering Conference. Proceedings..

[85]  Joseph Momoh,et al.  Strategic Release Planning and Evaluation of Operational Feasibility , 2005, Proceedings of the 38th Annual Hawaii International Conference on System Sciences.

[86]  Nigel Hill,et al.  How to Measure Customer Satisfaction , 1999 .

[87]  Colette Rolland,et al.  Modeling Goals and Reasoning with Them , 2005 .

[88]  Hakan Erdogmus,et al.  Valuation of Software Initiatives Under Uncertainty: Concepts, Issues, and Techniques , 2006, Value-Based Software Engineering.

[89]  Dennis J. Sweeney,et al.  Study guide to accompany an introduction to management science : quantitative approaches to decision making , 1985 .

[90]  Mark T True,et al.  Software Requirements , 2005 .

[91]  Lars Almefelt Requirements-Driven Product Innovation - Methods and Tools Reflecting Industrial Needs , 2005 .

[92]  Shari Lawrence Pfleeger,et al.  Software Engineering Decision Support , 2007, 2007 40th Annual Hawaii International Conference on System Sciences (HICSS'07).

[93]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[94]  Claes Wohlin,et al.  A Classification Scheme for Studies on Fault-Prone Components , 2001, PROFES.

[95]  Watts S. Humphrey,et al.  Managing the software process , 1989, The SEI series in software engineering.

[96]  Tony Gorschek,et al.  A controlled empirical evaluation of a requirements abstraction model , 2007, Inf. Softw. Technol..

[97]  Kurt Matzler,et al.  How to make product development projects more successful by integrating Kano's model of customer satisfaction into quality function deployment , 1998 .

[98]  Thomas A. Kappel,et al.  Perspectives on roadmaps: how organizations talk about the future , 2001 .

[99]  Avraham Shtub,et al.  Project Management: Processes, Methodologies, and Economics , 1994 .

[100]  C. Merle Crawford,et al.  New Products Management , 1983 .

[101]  Mark Billinghurst,et al.  Crossing the Chasm , 2001 .

[102]  Jonathan Grudin,et al.  Personas, Participatory Design and Product Development: An Infrastructure for Engagement , 2002 .

[103]  Liming Zhu,et al.  Evaluating guidelines for empirical software engineering studies , 2006, ISESE '06.

[104]  Charles Richter,et al.  A review of the state of the practice in requirements modeling , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[105]  Axel Völker,et al.  Requirements interdependencies and stakeholders preferences , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[106]  Klaus Schmid A comprehensive product line scoping approach and its validation , 2002, ICSE '02.

[107]  Robert C. Martin,et al.  Extreme programming in practice , 2001, OOPSLA '00.

[108]  Björn Regnell,et al.  Case Studies in Process Improvement through Retrospective Analysis of Release Planning Decisions , 2006, Int. J. Softw. Eng. Knowl. Eng..

[109]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[110]  Claes Wohlin,et al.  Differences in Views between Development Roles in Software Process Improvement : A Quantitative Comparison , 2004, ICSE 2004.

[111]  Emilia Mendes,et al.  A systematic review of Web engineering research , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[112]  Neil A. M. Maiden,et al.  Acquiring COTS software selection requirements , 1998, Proceedings of IEEE International Symposium on Requirements Engineering: RE '98.

[113]  Günther Ruhe,et al.  Decision Support in Requirements Engineering , 2005 .

[114]  M. Bohanec,et al.  The Analytic Hierarchy Process , 2004 .

[115]  Björn Regnell,et al.  Market-Driven Requirements Engineering for Software Products , 2005 .

[116]  Dietmar Pfahl,et al.  Trade-off Analysis for Requirements Selection , 2003, Int. J. Softw. Eng. Knowl. Eng..

[117]  Des Greer,et al.  Software release planning: an evolutionary and iterative approach , 2004, Inf. Softw. Technol..

[118]  Robert L. Glass,et al.  The software-research crisis , 1994, IEEE Software.

[119]  John D. Barrett,et al.  Quality From Customer Needs to Customer Satisfaction , 2004, Technometrics.

[120]  Dean Leffingwell,et al.  Managing software requirements: a unified approach , 1999 .

[121]  Carolina J. Abboud,et al.  From the Editorial Team , 2019, New Labor Forum.

[122]  Mark De Chazal,et al.  Forget statistics - draw graphs instead , 2004, ICSE 2004.

[123]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[124]  Inge van de Weerd,et al.  On the Creation of a Reference Framework for Software Product Management: Validation and Tool Support , 2006, 2006 International Workshop on Software Product Management (IWSPM'06 - RE'06 Workshop).

[125]  Miroslaw Staron,et al.  Students as Study Subjects in Software Engineering experimentation , 2003 .

[126]  Alan M. Davis,et al.  The Art of Requirements Triage , 2003, Computer.

[127]  Christof Ebert,et al.  Requirements before the requirements: understanding the upstream impacts , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[128]  Chiara Francalanci,et al.  Selecting CRM packages based on architectural, functional, and cost requirements: Empirical validation of a hierarchical ranking model , 2004, Requirements Engineering.

[129]  Claes Wohlin,et al.  Pair-wise comparisons versus planning game partitioning—experiments on requirements prioritisation techniques , 2007, Empirical Software Engineering.

[130]  Claes Wohlin,et al.  Quest for a Silver Bullet: Creating Software Product Value through Requirements Selection , 2006, 32nd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO'06).

[131]  Walter F. Tichy,et al.  Hints for Reviewing Empirical Work in Software Engineering , 2000, Empirical Software Engineering.

[132]  Pär Carlshamre,et al.  Release Planning in Market-Driven Software Product Development: Provoking an Understanding , 2002, Requirements Engineering.

[133]  Hal R. Varian,et al.  Information rules - a strategic guide to the network economy , 1999 .

[134]  Mary Poppendieck,et al.  Implementing Lean Software Development: From Concept to Cash (The Addison-Wesley Signature Series) , 2006 .

[135]  G. Marakas Decision Support Systems in the 21st Century , 1998 .

[136]  RegnellBjörn,et al.  Requirements engineering challenges in market-driven software development - An interview study with practitioners , 2007 .

[137]  Claes Wohlin,et al.  Criteria for Selecting Software Requirements to Create Product Value: An Industrial Empirical Study , 2006, Value-Based Software Engineering.

[138]  Jeffrey C. Carver,et al.  Observational studies to accelerate process experience in classroom studies: an evaluation , 2003, 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings..

[139]  Barry Boehm,et al.  A view of 20th and 21st century software engineering , 2006, ICSE.

[140]  Alan M. Davis,et al.  Software Requirements: Objects, Functions and States , 1993 .

[141]  Günther Ruhe,et al.  The art and science of software release planning , 2005, IEEE Software.

[142]  Patrik Berander,et al.  From Traditional to Streamline Development - opportunities and challenges , 2008, Softw. Process. Improv. Pract..

[143]  Thomas H. Lee,et al.  A New American Tqm: Four Practical Revolutions In Management , 1993 .

[144]  Erran Carmel,et al.  A process model for packaged software development , 1995 .

[145]  Geoffrey Randall Principles of Marketing , 1993 .

[146]  Dietmar Pfahl,et al.  Reporting Experiments in Software Engineering , 2008, Guide to Advanced Empirical Software Engineering.

[147]  Barbara Kitchenham,et al.  Procedures for Performing Systematic Reviews , 2004 .

[148]  Marjo Kauppinen,et al.  Suitability of requirements prioritization methods for market-driven software product development , 2006, Softw. Process. Improv. Pract..

[149]  Nicolas Moussiopoulos,et al.  Identification of major components for integrated urban air quality management and information systems via user requirements prioritisation , 2003, Environ. Model. Softw..

[150]  Steven Sawyer,et al.  Packaged software: implications of the differences from custom approaches to software development , 2000, Eur. J. Inf. Syst..

[151]  Patrik Berander,et al.  A goal question metric based approach for efficient measurement framework definition , 2006, ISESE '06.

[152]  Barry W. Boehm,et al.  Value-based software engineering: reinventing , 2003, SOEN.

[153]  A. E. Hoerl,et al.  An incomplete design in the analytic hierarchy process , 1992 .

[154]  J. M. Singer,et al.  IEEE Recommended Practice for Software Requirements SpeciÞcations , 1993 .