ABSTRACT
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.
- Anderson, D. 2010. Kanban: Successful evolutionary change for your technology business. Blue Hole Press.Google Scholar
- Denne, M., Cleland-Huang, J. The Incremental Funding Method: Data Driven Software Development, IEEE Software, vol. 21, no. 3, 2004, pp. 39-47 Google ScholarDigital Library
- Kukreja, N., Payyavula, S. S., Boehm, B., Padmanabhuni S. Selecting an Appropriate Framework for Value-Based Requirements Prioritization: A Case Study, Proceedings of the IEEE Requirements Engineering Conference. (Chicago, IL, Sept. 2012). Google ScholarDigital Library
- Kukreja, N., Payyavula, S. S., Boehm, B., Padmanabhuni S. Value-Based Requirements Prioritiztaion: Usage Experiences. Proceedings of the Conference on Systems Engineering Research. (Atlanta, GA, March 2013). In press.Google Scholar
- Grenning, J. 2002. Planning Poker. http://renaissancesoftware.net/files/articles/PlanningPokerv1.1.pdfGoogle Scholar
- Boehm, B., Bose, P., Horowitz, E., Lee, M. J. Software Requirements as Negotiated Win Conditions. Proceedings of the First International Conference on Requirements Engineering. (Colorado Springs, CO, April 18-22, 1994, pp. 74-83)Google ScholarCross Ref
- Beck, K. 1999. Extreme Programming Explained. Addison Wesley. Google ScholarDigital Library
- Thomsett, R. 2002. Radical project management. Prentice Hall PTR. Upper Saddle River, NJ. Google ScholarDigital Library
- Boehm, B., Kitapci, H. 2006. The WinWin Approach: Using a Requirements Negotiation Tool for Rationale Capture and Use. Rationale Management in Software Engineering, Springer Berlin / Heidelberg, Part 2, 2006, pp. 173-190.Google Scholar
- Wang, Y. M., Luo, Y. On rank reversal in decision analysis. Mathematical and Computer Modelling, Volume 49, Issues 5–6, March 2009, Pages 1221-1229, ISSN 0895-7177, 10.1016/j.mcm.2008.06.019. Google ScholarDigital Library
- Saaty, T. L. 1980. The Analytic Hierarchy Process. McGraw-Hill, Inc.Google Scholar
- Martin, R. S. 2001. Engineering project appraisal: The evaluation of alternative development schemes. Blackwell Science. Malden, MA.Google Scholar
- Leffingwell, D. 2011. Agile software requirements: Lean requirements practices for teams, programs, and the enterprise. Addison-Wesley. Upper Saddle River, NJ. Google ScholarDigital Library
- Wiegers, K. E. 2003. Software requirements. 2nd ed. Microsoft Press. Redmond, WA. Google ScholarDigital Library
- L. Cohen, “Quality function deployment: How to make QFD work for you”, Prentice Hall, 1995. Print.Google Scholar
Index Terms
- Integrating collaborative requirements negotiation and prioritization processes: a match made in heaven
Recommendations
A systematic literature review of software requirements prioritization research
Context: During requirements engineering, prioritization is performed to grade or rank requirements in their order of importance and subsequent implementation releases. It is a major step taken in making crucial decisions so as to increase the economic ...
Supporting Distributed Collaborative Prioritization
APSEC '99: Proceedings of the Sixth Asia Pacific Software Engineering ConferenceSoftware developers are seldom able to implement stakeholders' requirements fully when time and resources are limited. To solve the problem, requirement engineers together with the stakeholders must prioritize requirements. The problem is exacerbated ...
An Approach for Eliciting Software Requirements and its Prioritization Using Analytic Hierarchy Process
ARTCOM '09: Proceedings of the 2009 International Conference on Advances in Recent Technologies in Communication and ComputingMost software engineering methods presume that requirements are explicitly and completely stated; however, experience shows that requirements are rarely complete and usually contain implicit requirements. The failure or success of a software system ...
Comments