Abstract
Time-to-market deadlines and budgetary restrictions require stakeholders to carefully prioritize requirements and determine which ones to implement in a given product release. Unfortunately, existing prioritization techniques do not provide sufficient automation for large projects with hundreds of stakeholders and thousands of potentially conflicting requests and requirements. This paper therefore describes a new approach for automating a significant part of the prioritization process. The proposed method utilizes data-mining and machine learning techniques to prioritize requirements according to stakeholders’ interests, business goals, and cross-cutting concerns such as security or performance requirements. The effectiveness of the approach is illustrated and evaluated through two case studies based on the requirements of the Ice Breaker System, and also on a set of stakeholders’ raw feature requests mined from the discussion forum of an open source product named SugarCRM.









Similar content being viewed by others
References
Davis AM (2003) The art of requirements triage. IEEE Comput 36(3):42–49
Goldstein H (2005) Who killed the virtual case file? IEEE Spectr 42(9):24–35
Standish Group (1995) CHAOS report
Laurent P, Cleland-Huang J, Duan C (2007) Towards automated requirements triage. In: IEEE conference on requirements engineering, New Delhi
Brackett JW (1990) Software engineering. In: Proceedings of software engineering institute, 19(1.2). Carnegie Mellon University, Pittsburgh
Karlsson J (1995) Towards a strategy for software requirements selection. Licentiate Thesis 513, Department of Computer and Information Science, Linkoping University
Beck K (2000) Extreme programming explained: embrace change. Addison-Wesley, Reading
Wiegers KE (1999) Software requirements. Microsoft Press, Redmond
Leffingwell D, Widrig D (2003) Managing software requirements: a use case approach, 2nd edn. Addison-Wesley, Boston
Mead NR (2006) Requirements prioritization introduction. Software Engineering Institute Web Publication, Carnegie Mellon University, Pittsburgh
Karlsson J, Ryan K (1997) A cost-value approach for prioritizing requirements. IEEE Softw 14(5):67–75
Boehm BW, Ross R (1989) Theory-W software project management: principles and examples. IEEE Trans Softw Eng 15(7):902–916
Moisiadis F (2000) Prioritising scenario evolution. In: 4th international conference on requirements engineering, Schaumburg, pp 85–94
Azar J, Smith RK, Cordes D (2007) Value-oriented requirements prioritization in a small development organization. IEEE Softw 32–73
Cleland-Huang J, Settimi R, Duan C, Zou X (2005) Utilizing supporting evidence to improve dynamic requirements traceability. In: International requirements engineering conference, Paris, France, pp 135–144
Cleland-Huang J, Settimi R, BenKhadra O, Berezhanskaya E, Christina S (2005) Goal-centric traceability for managing non-functional requirements. In: International. conference on software engineering, pp 362–371
Robertson S, Robertson J (1999) Mastering the requirements process. Addison-Wesley, Reading
Kowalski G (1997) Information retrieval systems—theory and implementation. Kluwer, Dordrecht
Cutting DR, Karger DR, Pedersen JO, Tukey JW (1992) Scatter/gather: a cluster-based approach to browsing large document collections. In: Conference on research and development in information retrieval, Copenhagen, Denmark, June 21–24, pp 318–329
Ertz L, Steinbach M, Kumar V (2001) Finding topics in collections of documents: a shared nearest neighbor approach. In: Text mine ‘01, workshop on text mining, first SIAM intn’l conf. on data mining, Chicago
Zamir O, Etzioni O, Madani O, Karp RM (1997) Fast and intuitive clustering of web documents. In: Proceedings of the third international conference on knowledge discovery and data mining, 14–17 August, pp 287–290
Dhillon IS, Modha DS (2001) Concept decompositions for large sparse text data using clustering. Mach Learn 42(1/2):143–175
Steinbach M, Karypis G, Kumar V (2000) A comparison of document clustering techniques. KDD workshop on text mining
Hsia P, Hsu CT, Kung DC, Holder LB (1996) User-centered system decomposition: Z-based requirements clustering. In: Proceedings of the 2nd international conference on requirements engineering, Colorado Springs, p 126
Yaung AT (1992) Design and implementation of a requirements clustering analyzer for software system decomposition. In: ACM/SIGAPP symposium on applied computing: technological challenges of the 1990’s, Kansas City, pp 1048–1054
Al-Otaiby TN, AlSherif M, Bond WP (2005) Toward software requirements modularization using hierarchical clustering techniques. In: Proceedings of the 43rd annual southeast regional conference, vol 2, Kennesaw, GA, pp 223–228
Chen K, Zhang W, Zhao H, Mei H (2005) An approach to constructing feature models based on requirements clustering. In: International conference on requirements engineering, Paris, France, pp 31–40
Goldin L, Berry DM (1997) AbstFinder, a prototype natural language text abstraction finder for use in requirements elicitation. Autom Softw Eng 4(4):375–412
Jain AK, Dubes RC (1988) Algorithms for clustering data. Prentice Hall, Englewood Cliffs
Nuseibeh B (2001) Weaving together requirements and archi-tecture. IEEE Comput 34(3):115–117
Cleland-Huang J, Settimi R, Zou X, Solc P (2006) The detection and classification of non-functional requirements with application to early aspects. In: IEEE conference on requirements eng., Minneapolis, MN, pp 39–48
SugarCRM, Product Information. Available at http://www.sugarcrm.com/crm/
Cleland-Huang J, Habrat R (2007) Visual support in automated tracing. In: International workshop on requirements engineering visualization, New Delhi, India, October
Can F, Ozkarahan EA (1990) Concepts and effectiveness of the cover-coefficient-based clustering methodology for text databases. ACM Trans Database Syst 15(4):483–517
Duan C, Cleland-Huang J (2007) Clustering support for automated tracing. In: IEEE international conference on automated software engineering, Atlanta, Georgia, November, pp 244–253
Duan C (2008) Clustering and its application in requirements engineering. Technical report #08-001. School of Computing, DePaul University
Cleland-Huang J, Berenbach B, Clark S, Settimi R, Romanova E (2007) Best practices for automated traceability. IEEE Comput 40(6):27–35
Denne M, Cleland-Huang J (2004) The incremental funding method, a data driven approach to software development. IEEE Softw 39–47
Jain AK, Dubes RC (1988) Algorithms for clustering data. Prentice-Hall, Englewood Cliffs
Duan C, Cleland-Huang J, Mobasher B (2008) A consensus based approach to constrained clustering of software requirements. In: Accepted at ACM 17th conference on information and knowledge management, California, October
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Duan, C., Laurent, P., Cleland-Huang, J. et al. Towards automated requirements prioritization and triage. Requirements Eng 14, 73–89 (2009). https://doi.org/10.1007/s00766-009-0079-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-009-0079-7