Towards Automated Requirements Triage

Budgetary restrictions and time-to-market deadlines often require stakeholders to prioritize requirements and decide which ones to include in a given product release. Lack of an effective prioritization and triage process can lead to problems such as missed deadlines, disorganized development efforts, and late discovery of architecturally significant requirements. 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 proposes an approach for automating a significant part of the prioritization process. The proposed method utilizes a probabilistic traceability model combined with a standard hierarchical clustering algorithm to cluster incoming stakeholder requests into hierarchical feature sets. Additional cross-cutting clusters are then generated to represent factors such as architecturally significant requirements or impacted business goals. Prioritization decisions are initially made at the feature level and then more critical requirements are promoted according to their relationships with the identified cross-cutting concerns. The approach is illustrated and evaluated through a case study applied to the requirements of the ice breaker system.

[1]  Inderjit S. Dhillon,et al.  Concept Decompositions for Large Sparse Text Data Using Clustering , 2004, Machine Learning.

[2]  Vipin Kumar,et al.  Finding Topics in Collections of Documents: A Shared Nearest Neighbor Approach , 2003, Clustering and Information Retrieval.

[3]  H. Goldstein,et al.  Who killed the virtual case file? [case management software] , 2005, IEEE Spectrum.

[4]  Jane Cleland-Huang,et al.  The incremental funding method: data-driven software development , 2004, IEEE Software.

[5]  Frank Moisiadis,et al.  Prioritising scenario evolution , 2000, Proceedings Fourth International Conference on Requirements Engineering. ICRE 2000. (Cat. No.98TB100219).

[6]  Walter P. Bond,et al.  Toward software requirements modularization using hierarchical clustering techniques , 2005, ACM Southeast Regional Conference.

[7]  Randy K. Smith,et al.  Value-Oriented Requirements Prioritization in a Small Development Organization , 2007, IEEE Software.

[8]  Jane Cleland-Huang,et al.  The Detection and Classification of Non-Functional Requirements with Application to Early Aspects , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[9]  Lawrence B. Holder,et al.  User-centered system decomposition: Z-based requirements clustering , 1996, Proceedings of the Second International Conference on Requirements Engineering.

[10]  Anil K. Jain,et al.  Algorithms for Clustering Data , 1988 .

[11]  Gerald Kowalski,et al.  Information Retrieval Systems: Theory and Implementation , 1997 .

[12]  Karl E. Wiegers,et al.  Software Requirements , 1999 .

[13]  Oussama Ben Khadra,et al.  Goal-centric traceability for managing non-functional requirements , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[14]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

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

[16]  George Karypis,et al.  Evaluation of hierarchical clustering algorithms for document datasets , 2002, CIKM '02.

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

[18]  David R. Karger,et al.  Scatter/Gather: a cluster-based approach to browsing large document collections , 1992, SIGIR '92.

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

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

[21]  Jane Cleland-Huang,et al.  Utilizing supporting evidence to improve dynamic requirements traceability , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[22]  George Karypis,et al.  A Comparison of Document Clustering Techniques , 2000 .

[23]  Stephen Clark,et al.  Best Practices for Automated Traceability , 2007, Computer.

[24]  Oren Etzioni,et al.  Fast and Intuitive Clustering of Web Documents , 1997, KDD.

[25]  Bashar Nuseibeh,et al.  Weaving Together Requirements and Architectures , 2001, Computer.

[26]  Alan T. Yaung,et al.  Design and implementation of a requirements clustering analyzer for software system decomposition , 1992, SAC '92.

[27]  Jonas S. Karlsson Towards a strategy for software requirements selection , 1995 .

[28]  Dean Leffingwell,et al.  Managing Software Requirements: A Use Case Approach , 2003 .

[29]  Daniel M. Berry,et al.  AbstFinder, A Prototype Natural Language Text Abstraction Finder for Use in Requirements Elicitation , 1997, Automated Software Engineering.

[30]  Haiyan Zhao,et al.  An approach to constructing feature models based on requirements clustering , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).