Software Requirement Prioritization using Machine Learning

Requirement engineering plays a very important role in software development life cycle (SDLC). Generally Software projects suffer with the problem of various types and categories of requirements and are also delimited by constraints like time and budget. To deal with this type of requirement complexity, project managers need to prioritize the requirements of the proposed software effectively. To decide about prioritization and consideration of a set of requirements is a strategic concern. This process is known as requirements prioritization. This paper proposes a novel requirements prioritization approach called Gradient Descent Ranking (GDRank), which combines project’s stakeholders preferences with Functional and Non Functional requirements, their ordering and approximations are estimated through machine learning techniques. For validation purpose the proposal is compared with various other prominent requirement prioritization methods. Keywords-Quality Function Deployment (QFD), Requirements Prioritization, Machine Learning

[1]  Alan M. Davis,et al.  Just Enough Requirements Management: Where Software Development Meets Marketing , 2005 .

[2]  P. Kidwell,et al.  The mythical man-month: Essays on software engineering , 1996, IEEE Annals of the History of Computing.

[3]  James I. McManus,et al.  Handbook of Software Quality Assurance , 1987 .

[4]  K. Beck,et al.  Extreme Programming Explained , 2002 .

[5]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[6]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[7]  Patrik Berander,et al.  Prioritization of Stakeholder Needs in Software Engineering : Understanding and Evaluation , 2004 .

[8]  Yuanyuan Zhang,et al.  A search based approach to fairness analysis in requirement assignments to aid negotiation, mediation and decision making , 2009, Requirements Engineering.

[9]  Anna Perini,et al.  A Machine Learning Approach to Software Requirements Prioritization , 2013, IEEE Transactions on Software Engineering.

[10]  Tom Gilb,et al.  Competitive Engineering: A Handbook For Systems Engineering, Requirements Engineering, And Software Engineering Using Planguage , 2005 .

[11]  Rodolfo Alfredo Bertone,et al.  Software engineering: Theory and practice, 2nd Edition. Shari Lawrence Pfleeger. Prentice Hall, 2001 , 2005 .

[12]  Dietmar Pfahl,et al.  Quantitative WinWin: a new method for decision support in requirements negotiation , 2002, SEKE '02.

[13]  Miyoung Jeong,et al.  Quality function deployment: An extended framework for service quality and customer satisfaction in the hospitality industry , 1998 .

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

[15]  Gregory N. Hullender,et al.  Learning to rank using gradient descent , 2005, ICML.

[16]  Will Venters,et al.  Software engineering: theory and practice , 2006 .

[17]  Paul Clements,et al.  Software Architecture in Practice: Addison-Wesley , 1998 .

[18]  Susan Carlson Skalak House of Quality , 2002 .

[19]  Nigel Slack,et al.  Quality Function Deployment , 2015 .

[20]  Claes Wohlin,et al.  The fundamental nature of requirements engineering activities as a decision-making process , 2003, Inf. Softw. Technol..

[21]  T. Saaty Fundamentals of the Analytic Hierarchy Process , 2001 .

[22]  John D. Barrett,et al.  Quality From Customer Needs to Customer Satisfaction , 2004, Technometrics.