This Article 
 Bibliographic References 
 Add to: 
StakeRare: Using Social Networks and Collaborative Filtering for Large-Scale Requirements Elicitation
May-June 2012 (vol. 38 no. 3)
pp. 707-735
A. Finkelstein, Dept. of Comput. Sci., Univ. Coll. London, London, UK
Soo Ling Lim, Dept. of Comput. Sci., Univ. Coll. London, London, UK
Requirements elicitation is the software engineering activity in which stakeholder needs are understood. It involves identifying and prioritizing requirements-a process difficult to scale to large software projects with many stakeholders. This paper proposes StakeRare, a novel method that uses social networks and collaborative filtering to identify and prioritize requirements in large software projects. StakeRare identifies stakeholders and asks them to recommend other stakeholders and stakeholder roles, builds a social network with stakeholders as nodes and their recommendations as links, and prioritizes stakeholders using a variety of social network measures to determine their project influence. It then asks the stakeholders to rate an initial list of requirements, recommends other relevant requirements to them using collaborative filtering, and prioritizes their requirements using their ratings weighted by their project influence. StakeRare was evaluated by applying it to a software project for a 30,000-user system, and a substantial empirical study of requirements elicitation was conducted. Using the data collected from surveying and interviewing 87 stakeholders, the study demonstrated that StakeRare predicts stakeholder needs accurately and arrives at a more complete and accurately prioritized list of requirements compared to the existing method used in the project, taking only a fraction of the time.

[1] B. Nuseibeh and S. Easterbrook, "Requirements Engineering: A Roadmap," Proc. Conf. Future of Software Eng., pp. 35-46, 2000.
[2] H. Sharp, G.H. Galal, and A. Finkelstein, "Stakeholder Identification in the Requirements Engineering Process," Proc. Database and Expert System Applications Workshop, pp. 387-391, 1999.
[3] P. Zave, "Classification of Research Efforts in Requirements Engineering," ACM Computing Surveys, vol. 29, no. 4, pp. 315-321, 1997.
[4] J. Cleland-Huang and B. Mobasher, "Using Data Mining and Recommender Systems to Scale Up the Requirements Process," Proc. Second Int'l Workshop Ultra-Large-Scale Software-Intensive Systems, pp. 3-6, 2008.
[5] R.N. Charette, "Why Software Fails," IEEE Spectrum, vol. 42, no. 9, pp. 42-49, Sept. 2005.
[6] D.C. Gause and G.M. Weinberg, Exploring Requirements: Quality before Design. Dorset House Publishing Company, Inc., 1989.
[7] I. Alexander and S. Robertson, "Understanding Project Sociology by Modeling Stakeholders," IEEE Software, vol. 21, no. 1, pp. 23-27, Jan./Feb. 2004.
[8] I. Alexander, "A Taxonomy of Stakeholders: Human Roles in System Development," Int'l J. Technology and Human Interaction, vol. 1, no. 1, pp. 23-59, 2005.
[9] L. Lehtola, M. Kauppinen, and S. Kujala, "Requirements Prioritization Challenges in Practice," Proc. Int'l Conf. Product Focused Software Process Improvement, pp. 497-508, 2004.
[10] I. Sommerville and P. Sawyer, Requirements Engineering: A Good Practice Guide. John Wiley & Sons, Inc., 1997.
[11] B.H.C. Cheng and J.M. Atlee, "Research Directions in Requirements Engineering," Proc. Conf. Future of Software Eng., pp. 285-303, 2007.
[12] S.L. Lim, "Social Networks and Collaborative Filtering for Large-Scale Requirements Elicitation," PhD thesis, Univ. of New South Wales, // , 2010.
[13] A.J. Albrecht, "Measuring Application Development Productivity," Proc. Joint SHARE, GUIDE, and IBM Application Development Symp., pp. 83-92, 1979.
[14] G.C. Low and D.R. Jeffery, "Function Points in the Estimation and Evaluation of the Software Process," IEEE Trans. Software Eng., vol. 16, no. 1, pp. 64-71, Jan. 1990.
[15] C. Jones, "Patterns of Large Software Systems: Failure and Success," Computer, vol. 28, no. 3, pp. 86-87, Mar. 1995.
[16] C.F. Kemerer, "Reliability of Function Points Measurement: A Field Experiment," Comm. ACM, vol. 36, no. 2, pp. 85-97, 1993.
[17] D. Galin, Software Quality Assurance: From Theory to Implementation. Addison-Wesley, 2004.
[18] C. Jones, Applied Software Measurement: Global Analysis of Productivity and Quality, third ed. McGraw-Hill Osborne Media, 2008.
[19] F.P. BrooksJr., The Mythical Man-Month, anniversary ed. Addison-Wesley Longman Publishing Co., Inc., 1995.
[20] M.E. Fagan, "Design and Code Inspections to Reduce Errors in Program Development," IBM Systems J., vol. 15, no. 3, pp. 182-211, 1976.
[21] D.R. Jeffery and M.J. Lawrence, "An Inter-Organisational Comparison of Programming Productivity," Proc. Fourth Int'l Conf. Software Eng., pp. 369-377, 1979.
[22] A.J. Albrecht and J.E. GaffneyJr., "Software Function, Source Lines of Code, and Development Effort Prediction: A Software Science Validation," IEEE Trans. Software Eng., vol. 9, no. 6, pp. 639-648, Nov. 1983.
[23] S. McConnell, Rapid Development: Taming Wild Software Schedules. Microsoft Press, 1996.
[24] S. McConnell, Code Complete. Microsoft Press, 2004.
[25] C. Jones, Estimating Software Costs. McGraw-Hill, 1998.
[26] J.J. Rakos, Software Project Management. Prentice Hall, 1990.
[27] M. Fischer and H. Gall, "Visualizing Feature Evolution of Large-Scale Software Based on Problem and Modification Report Data," J. Software Maintenance and Evolution Research and Practice, vol. 16, no. 6, pp. 385-403, 2004.
[28] C. Sauer, A. Gemino, and B.H. Reich, "The Impact of Size and Volatility on IT Project Performance," Comm. ACM, vol. 50, no. 11, pp. 79-84, 2007.
[29] P. Kruchten, "Architectural Blueprints—The '4+ 1' View Model of Software Architecture," IEEE Software, vol. 12, no. 6, pp. 42-50, Nov. 1995.
[30] M. Burstin and M. Ben-Bassat, "A User's Approach to Requirements Analysis of a Large Software System," Proc. ACM Ann. Conf. Fifth Generation Challenge, pp. 133-145, 1984.
[31] M. Cross, "Special Report: Public Sector IT Failures," PROSPECT, pp. 48-52, 2005.
[32] L. Northrop, P. Feiler, R.P. Gabriel, J. Goodenough, R. Linger, T. Longstaff, R. Kazman, M. Klein, D. Schmidt, and K. Sullivan, Ultra-Large-Scale Systems: The Software Challenge of the Future. Software Eng. Inst., 2006.
[33] R. Schaefer, "A Rational Theory of System-Making Systems," ACM SIGSOFT Software Eng. Notes, vol. 31, no. 2, pp. 1-20, 2006.
[34] P. Laurent, J. Cleland-Huang, and C. Duan, "Towards Automated Requirements Triage," Proc. 15th IEEE Int'l Conf. Requirements Eng., pp. 131-140, 2007.
[35] R. Schaefer, "A Systems Analysis of Systems Integration," ACM SIGSOFT Software Eng. Notes, vol. 11, no. 1, 2008.
[36] C. Duan, P. Laurent, J. Cleland-Huang, and C. Kwiatkowski, "Towards Automated Requirements Prioritization and Triage," Requirements Eng., vol. 14, no. 2, pp. 73-89, 2009.
[37] H. Goldstein, "Who Killed the Virtual Case File?" IEEE Spectrum, vol. 42, no. 9, pp. 24-35, Sept. 2005.
[38] A. Cockburn, Writing Effective Use Cases. Addison-Wesley Professional, 2000.
[39] S. Robertson and J. Robertson, Mastering the Requirements Process. Addison-Wesley Professional, 2006.
[40] A. Davis, O. Dieste, A. Hickey, N. Juristo, and A.M. Moreno, "Effectiveness of Requirements Elicitation Techniques: Empirical Results Derived from a Systematic Review," Proc. 14th IEEE Int'l Conf. Requirements Eng., pp. 179-188, 2006.
[41] S. Lauesen, Software Requirements: Styles and Techniques. Addison-Wesley Professional, 2002.
[42] A.M. Davis, "Operational Prototyping: A New Development Approach," IEEE Software, vol. 9, no. 5, pp. 70-78, Sept. 1992.
[43] B. Potts, "Metaphors of Intent," Proc. Fifth IEEE Int'l Symp. Requirements Eng., pp. 31-38, 2001.
[44] S.J. Andriole, Storyboard Prototyping: A New Approach to User Requirements Analysis. QED Information Sciences, Inc., 1989.
[45] D. Leffingwell and D. Widrig, Managing Software Requirements: A Unified Approach. Addison-Wesley Longman Publishing Co., Inc., 1999.
[46] I. Jacobson, Object-Oriented Software Engineering. ACM Press, 1991.
[47] N.A.M. Maiden, "CREWS-SAVRE: Scenarios for Acquiring and Validating Requirements," Automated Software Eng., vol. 5, no. 4, pp. 419-446, 1998.
[48] A. Dardenne, A. van Lamsweerde, and S. Fickas, "Goal-Directed Requirements Acquisition," Science of Computer Programming, vol. 20, nos. 1/2, pp. 3-50, 1993.
[49] A. van Lamsweerde, "Goal-Oriented Requirements Engineering: A Guided Tour," Proc. Fifth IEEE Int'l Symp. Requirements Eng., pp. 249-262, 2001.
[50] E.S.K. Yu, "Towards Modelling and Reasoning Support for Early-Phase Requirements Engineering," Proc. Third IEEE Int'l Symp. Requirements Eng., pp. 226-235, 1997.
[51] H. HolbrookIII, "A Scenario-Based Methodology for Conducting Requirements Elicitation," ACM SIGSOFT Software Eng. Notes, vol. 15, no. 1, pp. 95-104, 1990.
[52] A.M. Davis, Software Requirements: Objects, Functions, and States. Prentice-Hall, Inc., 1993.
[53] J. Karlsson, "Software Requirements Prioritizing," Proc. Second Int'l Conf. Requirements Eng., pp. 110-116, 1996.
[54] P. Berander and P. Jonsson, "Hierarchical Cumulative Voting (HCV)—Prioritization of Requirements in Hierarchies," Int'l J. Software Eng. and Knowledge Eng., vol. 16, no. 6, pp. 819-849, 2006.
[55] J. Karlsson, C. Wohlin, and B. Regnell, "An Evaluation of Methods for Prioritizing Software Requirements," Information and Software Technology, vol. 39, nos. 14/15, pp. 939-947, 1998.
[56] J. Karlsson and K. Ryan, "A Cost-Value Approach for Prioritizing Requirements," IEEE Software, vol. 14, no. 5, pp. 67-74, Sept./Oct. 1997.
[57] J. Azar, R.K. Smith, and D. Cordes, "Value-Oriented Requirements Prioritization in a Small Development Organization," IEEE Software, vol. 24, no. 1, pp. 32-37, Jan./Feb. 2007.
[58] D. Leffingwell and D. Widrig, Managing Software Requirements: A Use Case Approach. Pearson Education, 2003.
[59] N.R. Mead, Requirements Prioritization Introduction. Software Eng. Inst., Carnegie Mellon Univ., 2006.
[60] B. Regnell, M. Höst, J.N. och Dag, P. Beremark, and T. Hjelm, "An Industrial Case Study on Distributed Prioritisation in Market-Driven Requirements Engineering for Packaged Software," Requirements Eng., vol. 6, no. 1, pp. 51-62, 2001.
[61] A.M. Davis, "The Art of Requirements Triage," Computer, vol. 36, no. 3, pp. 42-49, Mar. 2003.
[62] B.W. Boehm and R. Ross, "Theory-W Software Project Management Principles and Examples," IEEE Trans. Software Eng., vol. 15, no. 7, pp. 902-916, July 1989.
[63] J. Park, D. Port, and B. Boehm, "Supporting Distributed Collaborative Prioritization for Win-Win Requirements Capture and Negotiation," Proc. Int'l Third World Multiconf. Systemics, Cybernetics and Informatics, vol. 2, pp. 578-584, 1999.
[64] K. Wiegers, "First Things First: Prioritizing Requirements," Software Development, vol. 7, no. 9, pp. 48-53, 1999.
[65] A. Herrmann and M. Daneva, "Requirements Prioritization Based on Benefit and Cost Prediction: An Agenda for Future Research," Proc. 16th IEEE Int'l Conf. Requirements Eng., pp. 125-134, 2008.
[66] A. van Lamsweerde, Requirements Engineering: From System Goals to UML Models to Software Specifications. John Wiley & Sons, Inc., 2009.
[67] R.L. Keeney and H. Raiffa, Decisions with Multiple Objectives: Preferences and Value Tradeoffs. Cambridge Univ. Press, 1993.
[68] B. Roy, Multicriteria Methodology for Decision Aiding. Springer-Verlag, 1996.
[69] T.F. Nas, Cost-Benefit Analysis: Theory and Application. Sage, 1996.
[70] Y. Akao, Quality Function Deployment: Integrating Customer Requirements into Product Design. Productivity Press, 2004.
[71] F. Moisiadis, "The Fundamentals of Prioritising Requirements," Proc. System Eng., Test and Evaluation Conf., 2002.
[72] V. Ahl, "An Experimental Comparison of Five Prioritization Methods," master's thesis, School of Eng., Blekinge Inst. of Tech nology, 2005.
[73] S. Wasserman and K. Faust, Social Network Analysis: Methods and Applications. Cambridge Univ. Press, 1994.
[74] L.A. Goodman, "Snowball Sampling," The Annals of Math. Statistics, vol. 32, no. 1, pp. 148-170, 1961.
[75] J. Scott, Social Network Analysis: A Handbook. Sage, 2000.
[76] R.A. Hanneman and M. Riddle, Introduction to Social Network Methods. Univ. of California, Riverside, 2005.
[77] C. Damian, S. Marczak, and I. Kwan, "Collaboration Patterns and the Impact of Distance on Awareness in Requirements-Centred Social Networks," Proc. 15th IEEE Int'l Conf. Requirements Eng., pp. 59-68, 2007.
[78] D. Damian, I. Kwan, and S. Marczak, "Requirements-Driven Collaboration: Leveraging the Invisible Relationships between Requirements and People," Collaborative Software Engineering, Springer, 2010.
[79] E. Goldberg, D. Nichols, B.M. Oki, and D. Terry, "Using Collaborative Filtering to Weave an Information Tapestry," Comm. ACM, vol. 35, no. 12, pp. 61-70, 1992.
[80] J. Schafer, D. Frankowski, J. Herlocker, and S. Sen, "Collaborative Filtering Recommender Systems," The Adaptive Web: Methods and Strategies of Web Personalization, pp. 291-324, Springer, 2007.
[81] F. Linden, B. Smith, and J. York, " Recommendations: Item-to-Item Collaborative Filtering," IEEE Internet Computing, vol. 7, no. 1, pp. 76-80, Jan./Feb. 2003.
[82] N. Lathia, "Computing Recommendations with Collaborative Filtering," Collaborative and Social Information Retrieval and Access: Techniques for Improved User Modeling, Information Science Reference, 2008.
[83] T. Segaran, Programming Collective Intelligence. O'Reilly Media, 2007.
[84] J.L. Herlocker, J.A. Konstan, A. Borchers, and J. Riedl, "An Algorithmic Framework for Performing Collaborative Filtering," Proc. 22nd Ann. Int'l ACM SIGIR Conf. Research and Development in Information Retrieval, pp. 230-237, 1999.
[85] R.M. Bell and Y. Koren, "Scalable Collaborative Filtering with Jointly Derived Neighborhood Interpolation Weights," Proc. Seventh IEEE Int'l Conf. Data Mining, pp. 43-52, 2007.
[86] C. Castro-Herrera, J. Cleland-Huang, and B. Mobasher, "Enhancing Stakeholder Profiles to Improve Recommendations in Online Requirements Elicitation," Proc. 17th IEEE Int'l Conf. Requirements Eng., pp. 37-46, 2009.
[87] D. Castro-Herrera, C. Duan, J. Cleland-Huang, and B. Mobasher, "A Recommender System for Requirements Elicitation in Large-Scale Software Projects," Proc. ACM Symp. Applied Computing, pp. 1419-1426, 2009.
[88] R.K. Mitchell, B.R. Agle, and D.J. Wood, "Toward a Theory of Stakeholder Identification and Salience: Defining the Principle of Who and What Really Counts," Academy of Management Rev., vol. 22, no. 4, pp. 853-886, 1997.
[89] S.L. Lim, D. Quercia, and A. Finkelstein, "StakeNet: Using Social Networks to Analyse the Stakeholders of Large-Scale Software Projects," Proc. 32nd ACM/IEEE Int'l Conf. Software Eng., vol. 1, pp. 295-304, 2010.
[90] M.F. Triola, Elementary Statistics. Addison Wesley, 1992.
[91] J.L. Herlocker, J.A. Konstan, L.G. Terveen, and J.T. Riedl, "Evaluating Collaborative Filtering Recommender Systems," ACM Trans. Information Systems, vol. 22, no. 1, pp. 5-53, 2004.
[92] I.H. Witten and E. Frank, Data Mining: Practical Machine Learning Tools and Techniques. Morgan Kaufmann Publishers, Inc., 2005.
[93] J. McManus and T. Wood-Harper, "Understanding the Sources of Information Systems Project Failure," Management Services, vol. 51, no. 3, pp. 38-43, 2007.
[94] The Standish Group, The CHAOS Report in the Standish Group Report, p. 8, 1994.
[95] The Standish Group, CHAOS Summary 2009 in The Standish Group Report, 2009.
[96] T.R. Lindlof and B.C. Taylor, Qualitative Communication Research Methods. Sage, 2002.
[97] C. Anderson, The Long Tail: Why the Future of Business Is Selling Less of More. Hyperion Books, 2008.
[98] J. Yu and H. Cooper, "A Quantitative Review of Research Design Effects on Response Rates to Questionnaires," J. Marketing Research, vol. 20, no. 1, pp. 36-44, 1983.
[99] P. Zhang, "Model Selection via Multifold Cross Validation," The Annals of Statistics, vol. 21, no. 1, pp. 299-313, 1993.
[100] R. Kohavi, "A Study of Cross-Validation and Bootstrap for Accuracy Estimation and Model Selection," Proc. Int'l Joint Conf. Artificial Intelligence, pp. 1137-1145, 1995.
[101] U.M. Braga-Neto and E.R. Dougherty, "Is Cross-Validation Valid for Small-Sample Microarray Classification?" Bioinformatics, vol. 20, no. 3, pp. 374-380, 2004.
[102] S. Alag, Collective Intelligence in Action. Manning Publications, 2008.
[103] B. Sarwar, G. Karypis, J. Konstan, and J. Reidl, "Item-Based Collaborative Filtering Recommendation Algorithms," Proc. 10th Int'l Conf. World Wide Web, pp. 285-295, 2001.
[104] R. Jin, J.Y. Chai, and L. Si, "An Automatic Weighting Scheme for Collaborative Filtering," Proc. 27th Ann. Int'l ACM SIGIR Conf. Research and Development in Information Retrieval, pp. 337-344, 2004.
[105] G.R. Xue, C. Lin, Q. Yang, W.S. Xi, H.J. Zeng, Y. Yu, and Z. Chen, "Scalable Collaborative Filtering Using Cluster-Based Smoothing," Proc. 28th Ann. Int'l ACM SIGIR Conf. Research and Development in Information Retrieval, pp. 114-121, 2005.
[106] J. Wang, A.P. De Vries, and M.J.T. Reinders, "Unifying User-Based and Item-Based Collaborative Filtering Approaches by Similarity Fusion," Proc. 29th Ann. Int'l ACM SIGIR Conf. Research and Development in Information Retrieval, pp. 501-508, 2006.
[107] K. Pearson, "On Lines and Planes of Closest Fit to Systems of Points in Space," Philosophical Magazine Series 6, vol. 2, no. 11, pp. 559-572, 1901.
[108] T. Howley, M.G. Madden, M.L. O'Connell, and A.G. Ryder, "The Effect of Principal Component Analysis on Machine Learning Accuracy with High Dimensional Spectral Data," Knowledge Based Systems, vol. 19, no. 5, pp. 209-222, 2006.
[109] K. Zachos, N. Maiden, X. Zhu, and S. Jones, "Discovering Web Services to Specify More Complete System Requirements," Proc. 19th Int'l Conf. Advanced Information Systems Eng., pp. 142-157, 2007.
[110] S.L. Lim, D. Damian, and A. Finkelstein, "StakeSource: Harnessing the Power of Crowdsourcing and Social Networks in Stakeholder Analysis," Proc. 32nd ACM/IEEE Int'l Conf. Software Eng. vol. 2, pp. 239-242, 2010.
[111] J. Surowiecki, The Wisdom of Crowds: Why the Many Are Smarter than the Few and How Collective Wisdom Shapes Business, Economies, Societies, and Nations. Doubleday Books, 2004.
[112] J. Howe, Crowdsourcing: Why the Power of the Crowd Is Driving the Future of Business. Three Rivers Press, 2009.
[113] S.L. Lim, D. Damian, and A. Finkelstein, "StakeSource2.0: Using Social Networks of Stakeholders to Identify and Prioritise Requirements," Proc. 33rd ACM/IEEE Int'l Conf. Software Eng., 2011.

Index Terms:
software management,collaborative filtering,data acquisition,project management,recommender systems,social networking (online),data collection,social network,collaborative filtering,requirement elicitation,software engineering,stakeholder,StakeRare,recommender system,software project,Social network services,Collaboration,Filtering,Software,Size measurement,Software engineering,Business,stakeholder analysis.,Requirements/specifications,elicitation methods,requirements prioritization,experimentation,human factors,recommender systems,social network analysis
A. Finkelstein, Soo Ling Lim, "StakeRare: Using Social Networks and Collaborative Filtering for Large-Scale Requirements Elicitation," IEEE Transactions on Software Engineering, vol. 38, no. 3, pp. 707-735, May-June 2012, doi:10.1109/TSE.2011.36
Usage of this product signifies your acceptance of the Terms of Use.