Recommender System for Configuration Management Process of Entrepreneurial Software Designing Firms - Wajeeh Uz Zaman, Muhammad; Hafeez, Yaser; Hussain, Shariq; Anwaar, Haris; Yang, Shunkun; Ali, Sadia; Afzaal Abbasi, Aaqif; Song, Oh-Young (Computers, materials & continua, 2021)
The rapid growth in software demand incentivizes software development organizations to develop exclusive software for their customers worldwide. This problem is addressed by the software development industry by software product line (SPL) practices that employ feature models. However, optimal feature selection based on user requirements is a challenging task. Thus, there is a requirement to resolve the challenges of software development, to increase satisfaction and maintain high product quality, for massive customer needs within limited resources. In this work, we propose a recommender system for the development team and clients to increase productivity and quality by utilizing historical information and prior experiences of similar developers and clients. The proposed system recommends features with their estimated cost concerning new software requirements, from all over the globe according to similar developers’ and clients’ needs and preferences. The system guides and facilitates the development team by suggesting a list of features, code snippets, libraries, cheat sheets of programming languages, and coding references from a cloud-based knowledge management repository. Similarly, a list of features is suggested to the client according to their needs and preferences. The experimental results revealed that the proposed recommender system is feasible and effective, providing better recommendations to developers and clients. It provides proper and reasonably well-estimated costs to perform development tasks effectively as well as increase the client’s satisfaction level. The results indicate that there is an increase in productivity, performance, and quality of products and a reduction in effort, complexity, and system failure. Therefore, our proposed system facilitates developers and clients during development by providing better recommendations in terms of solutions and anticipated costs. Thus, the increase in productivity and satisfaction level maximizes the benefits and usability of SPL in the modern era of technology.