Selecting system and software requirements to implement in a particular product or release is a challenging decision problem. Business stakeholders strive to maximize return on investment by selecting the most valuable requirements for implementation. Deciding on the requirements to be selected entails a great deal of communication and coordination amongst the stakeholders to ascertain the priorities of the individual requirements. The prioritized requirements aid in the planning and sequencing of implementation activities associated with the software system and provides a basis of a prioritized backlog from which the requirements can be ‘pulled’ for development. Changing business priorities may require a complete reprioritization of the backlog, leading to wasted effort. Individual change requests and new requirements need to be prioritized and inserted into the correct location in the backlog requiring high communication overhead. In this paper we summarize a two-step prioritization approach using a decision theoretic model to prioritize system and software requirements that alleviates these concerns. The system is initially decomposed into high-level Minimal Marketable Features (MMFs) and each MMF is further decomposed into low-level requirements. The MMFs are prioritized against the business goals of the organization and the low-level requirements with respect to ease of realization and business value. The priorities of the individual requirements are influenced by that of the MMFs they belong to. This two-step approach serves as an important prelude for a dynamically prioritizable product backlog. In this paper we present a proof-of-concept of having implemented this approach with 24 real-client student project teams at the Software Engineering project course at the University of Southern California.
[1]
Ying Luo,et al.
On rank reversal in decision analysis
,
2009,
Math. Comput. Model..
[2]
Mark T True,et al.
Software Requirements
,
2005
.
[3]
Jane Cleland-Huang,et al.
The incremental funding method: data-driven software development
,
2004,
IEEE Software.
[4]
K. Beck,et al.
Extreme Programming Explained
,
2002
.
[5]
Dean Leffingwell,et al.
Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise
,
2011
.
[6]
Louis Cohen,et al.
Quality Function Deployment: How to Make QFD Work for You
,
1995
.
[7]
Barry W. Boehm,et al.
Software requirements as negotiated win conditions
,
1994,
Proceedings of IEEE International Conference on Requirements Engineering.
[8]
M. Bohanec,et al.
The Analytic Hierarchy Process
,
2004
.
[9]
Martin Rogers.
Engineering project appraisal : the evaluation of alternative development schemes
,
2001
.
[10]
Kent L. Beck,et al.
Extreme programming explained - embrace change
,
1990
.
[11]
Barry W. Boehm,et al.
Selecting an appropriate framework for value-based requirements prioritization
,
2012,
2012 20th IEEE International Requirements Engineering Conference (RE).
[12]
Barry W. Boehm,et al.
Value-Based Requirements Prioritization: Usage Experiences
,
2013,
CSER.
[13]
Rob Thomsett.
Radical Project Management
,
2002
.
[14]
Barry Boehm,et al.
The WinWin Approach: Using a Requirements Negotiation Tool for Rationale Capture and Use
,
2006
.