Exploring prioritization through systematic literature surveys and case studies <s> Details of extracted papers <s> Agile requirements engineering is the approach of choice for many software producers whose realities include highly uncertain requirements, use of new development technology, and clients willing to explore the ways in which an evolving product can help their business goals. From customer's perspective, the activity of continuous requirements reprioritization forms the very core of today's agile approaches. However, the freedom for clients to do so does not come for free. This paper presents results of a literature review on agile requirements prioritization methods, derives a conceptual model for understanding the inter-iteration prioritization process in terms of inputs and outcomes, and identifies issues and solutions pertinent to agile prioritization. The latter are derived from the authors' experiences and by using empirical data, published earlier by other authors. <s> BIB001 </s> Exploring prioritization through systematic literature surveys and case studies <s> Details of extracted papers <s> Continuous customer-centric requirements reprioritization is essential in successfully performing agile software development. Yet, in the agile RE literature, very little is known about how agile reprioritization happens in practice. Generic conceptual models about this process are missing, which in turn, makes it difficult for both practitioners and researchers to reason about requirements decision-making at inter-iteration time. This paper presents a Grounded Theory study on agile requirements prioritization methods to yield a conceptual model for understanding the inter-iteration prioritization process in terms of inputs and outcomes. The latter is derived by using qualitative empirical data, published earlier by other authors. Such a conceptual model makes explicit the concepts that are used tacitly in different agile requirements prioritization methods and can be used for structuring future empirical investigations about this topic. <s> BIB002 </s> Exploring prioritization through systematic literature surveys and case studies <s> Details of extracted papers <s> Requirements (re)prioritization is an essential mechanism of agile development approaches to maximize the value for the clients and to accommodate changing requirements. Yet, in the agile Requirements Engineering (RE) literature, very little is known about how agile (re)prioritization happens in practice. Conceptual models about this process are missing, which, in turn, makes it difficult for both practitioners and researchers to reason about requirements decision-making at inter-iteration time. We did a multiple case study on agile requirements prioritization methods to yield a conceptual model for understanding the inter-iteration prioritization process. The model is derived by using interview data from practitioners in 8 development organizations. Such a model makes explicit the concepts that are used tacitly in the agile requirements prioritization practice and can be used for structuring future empirical investigations about this topic, and for analyzing, supporting, and improving the process in real-life projects. <s> BIB003 </s> Exploring prioritization through systematic literature surveys and case studies <s> Details of extracted papers <s> [Context & motivation] Requirements (re)prioritization is an essential mechanism of agile development approaches to maximize the value for the clients and to accommodate changing requirements. Yet, in the agile Requirements Engineering (RE) literature, very little is known about how agile (re)prioritization happens in practice. [Question/problem] To gain better understanding of prioritization practices, we analyzed the real-life processes as well as the guidance that the literature provides. We compare the results of a literature research with the results of a multiple case study that we used to create a conceptual model of the prioritization process. We set out to answer the research question: "Which concepts of agile prioritization are shared in practice and in literature and how they are used to provide guidance for prioritization." [Results] The case study yielded a conceptual model of the inter-iteration prioritization process. Further, we achieved a mapping between the concepts from the model and the existing prioritization techniques, described by several authors. [Contribution] The model contributes to the body of knowledge in agile RE. It makes explicit the concepts that practitioners tacitly use in the agile prioritization process. We use this for structuring the mapping study with the literature and plan to use it for analyzing, supporting, and improving the process in agile projects. The mapping gives us a clear understanding of the 'deviation' between the existing methods as prescribed in literature and the processes we observe in real life. It helps to identify which of the concepts are used explicitly by other authors/ methods. <s> BIB004 </s> Exploring prioritization through systematic literature surveys and case studies <s> Details of extracted papers <s> The application of agile practices for requirements prioritization in distributed and outsourced projects is a relatively recent trend. Hence, not all of its facets are well-understood. This exploratory study sets out to uncover the concepts that practitioners in a large software organization use in the prioritization process and the practices that they deem good. We seek to provide a rich analysis and a deep understanding of three cases in an exploratory study that was carried out in a large and mature company, widely recognized for its excellence and its engagement in outsourced software development. We used in-depth interviews for data collection and grounded theory techniques for data analysis. Our exploration efforts yielded the following findings: (i) understanding requirements dependencies is of paramount importance for the successful deployment of agile approaches in large outsourced projects. (ii) Next to business value, the most important prioritization criterion in the setting of outsourced large agile projects is risk. (iii) The software organization has developed a new artefact that seems to be a worthwhile contribution to agile software development in the large: 'delivery stories', which complement user stories with technical implications, effort estimation and associated risk. The delivery stories play a pivotal role in requirements prioritization. (iv) The vendor's domain knowledge is a key asset for setting up successful client-developer collaboration. (v) The use of agile prioritization practices depends on the type of project outsourcing arrangement. Our findings contribute to the empirical software engineering literature by bringing a rich analysis of cases in agile and distributed contexts, from a vendor's perspective. We also discuss the possible implications of the results for research and in practice. <s> BIB005
The systematic literature survey yielded six papers. Three more related papers, which were not identified at the time of survey due to non-indexing in bibliographic databases at the time of literature search, are also included for necessary analysis. Among these three papers, two papers were related to reprioritization techniques, third one is related to case study results of prioritization and reprioritization practices. This paper will consider all these papers as extracted papers in upcoming sections. The details of extracted papers are as given below: The authors BIB001 ) identified the main players of the prioritization process and various problems that confront it. In order to meet the above goals, the literature is searched for various requirements of the prioritization models that are employed in agile software developments. After the analysis of the collected information, the factors that are considered by the clients and those that affect various types of decision making like Business Values, project constraints, learning during project, effort estimation etc. during requirement In their paper, BIB002 , tried to find answer of the research question, "What are the key concepts to consider when prioritizing the requirements from clients perspectives in agile projects"? The various factors affecting and guiding the clients during performing reprioritizations related decisions are identified by analysis of the analysis of literature. Various agile journals and digital libraries like IEEEXplore, ACM, Google Scholar, Interscience, Citeseer, Agile Journal, Dr. Dobb's and InfoQ methods are searched and the citations are also used as the source. The results were analyzed through the abstracts and conclusions leading to the selection of 42 papers. It was found after analysis of these papers that total 22 of them highlight requirement of prioritization techniques. The application of Grounder Theory (GT) yielded various findings that were illustrated graphically with the help of two conceptual models denoted by A and B. Model A gives the course grained description of the reprioritization of requirements in agile developments for successive increments. For each increment, the requirements are reprioritized and then few of them with higher priority are selected for the current implementation in the sprint. Sprint backlog does not encounter update during particular sprint while it might be possible that developers are able to implement few requirements of the sprint backlog. These pending requirements are then added back to prioritized product backlog. The new requirements might arrive and update the above backlog, this backlog is then reprioritized and the same process is repeated until all increments are delivered. Model B gives the fine grained description of the decision making that happens during reprioritization. It highlights the various factors that are considered by the clients during taking decisions regarding reprioritization. The authors reported that Business Values, risks, effort or size, learning experience and external changes are five aspects employed during reprioritization. Business Values are estimated for all requirements by the clients. Negative values or penalties, importance or relative importance are also considered as Business Values. Risks or uncertainties are also considered during reprioritization decision making. Risks, costs and requirement size are computed by developers, but considered by clients that work in consultation with the developers. Project constraints include release dates, budget, velocity etc. Only those requirements are implemented that satisfy the current resources held by developing firms. Learning is the main activity in agile software developments which happens at both individual and on team levels. External environment encounters change due to which the requirement priorities also change. Few of the examples includes competitor's activities, change in user needs, business rules etc. BIB003 presented the conceptual model of reprioritization. It highlights the course grained description of decision making that happens at inter iteration time. The questionnaires followed by interviews with total 11 agile software development participants, i.e. project managers, developers, product owners, clients and scrum masters. The case studies of 10 projects were considered during the interviews of these experts. BIB004 tried to answer the following research question, "Which concepts of agile prioritization are shared in practice and in literature, and how are they used to provide guidance for prioritization". The authors tried to analyze the gaps between the current trends in reprioritization as described in the literature and those described in real life software developments in agile components. The conceptual model suggests that there are seven aspects which are considered by the clients while making reprioritization decisions. The conceptual models are slightly modified after the further insights brought by the participants and dependencies were finally added as the seventh aspect. To analyze the gaps, the concepts created as a result of multiple agile case studies, are searched in the description of requirement prioritization methods identified through literature surveys. If the concepts are missing from requirement prioritization techniques, it means that literature does not adapt well to the current industrial settings. To analyze the above information, the results fetched after a search in the requirement prioritization descriptions is organized in the form of a BIB005 carried out a survey to uncover different aspects related to the process of prioritization at inter iteration time, i.e. reprioritization. The survey was conducted in the form of interviews with the people working on live large agile projects, which the authors had termed as Alpha, Beta and Gamma. The main findings of the paper (only those related to answering of the research questions as formulated in the paper) are as given below: a. The organizations employ Business Values, Requirement Dependencies, Volatility, Risk, Effort, and Technical Debt as the criteria for reprioritization. b. Maturity of the organization, the way domain knowledge is shared, and the use of delivery stories are recognised as factors responsible for affecting the manner the reprioritization is carried out. The paper has not discussed any method for performing reprioritization but has explored concepts related to the reprioritization practices in large scale projects. The discussions with project practitioners discussing the typical roles on client and vendor side and prioritization criteria gives little picture of reprioritization process as adopted in the firms. This may partially answer our second research question, yet our aim was to explore the method in great detail. Further, the paper also proves that the firms do not prioritize/reprioritize the decision aspects as employed during reprioritization. This answers our research question number 4. Kukreja and Boehm (2013) proposed a two step prioritization model that is capable of performing prioritization and reprioritization. It involves prioritization of business goals followed by decomposition of software into Minimal Marketable Features (MMFs) which are further prioritized with respect to prioritized goals. Each MMF is decomposed into requirements; requirements are stated as Win conditions and are further prioritized. Reprioritization involves just changing priorities of MMFs as priorities of Win conditions will automatically change as per change in priority of parent MMF. The process model is not evaluated on mass market live software and thus makes it hard to determine that how much improvement it will yield if employed for reprioritization with flood of requirements. So, this paper will not be considered as a model provided for mass market developments. But it provides answers to first two research questions of this paper.  had given the results of the survey that was conducted with few multinational software development organizations. The survey results revealed that the organizations agreed to the fact that it is not the decision aspects, but the requirements which area associated with ever changing priorities, i.e. decision aspects were not considered as candidates for reprioritization because decision aspect prioritization was considered an unheard-of phenomenon. Organizations wanted a cost effective solution for performing reprioritization to stay in markets offering less costly products.  proposed a multilayered dynamic approach for performing reprioritization. The technique handles a different category of requirements differently. For example, the paper uses "Average Density" to reprioritize delayed requirements. New and changed requirements are handled in a different manner. This technique is demonstrated with the help of live system of the Library Management Software and is suitable for both agile and non agile developments. But the techniques based on pairwise comparisons are exceptions and this technique may not be able to handle reprioritization of pairwise compared requirements beyond some threshold value.  handled the problem of the inability of reprioritization methods to reprioritize pairwise compared requirements. The technique employs the numerical assignment technique to quickly prioritize the available requirements (denoted with set R) and performing pairwise comparison among fewer requirements of set R and all newly emerged and changed requirements. The technique is evaluated on a real case study of the "Tool for automatic analysis and comparison of different release planning methods". Results proved that the technique had good coverage on the entire set of requirements and establishes priorities using minimum number of pairwise comparisons. The papers as disseminated by authors in BIB001 BIB002 , BIB004 , BIB005 give conceptual models and do not provide any method to perform reprioritization, while those disseminated in Kukreja and Boehm (2013),   , present new reprioritization techniques. The papers related to conceptual models are analysed in Table 3 and papers related to new reprioritization techniques are analysed in Table 4 .