Enhancing Software Evolution Requirements Engineering Based on User Feedback
End user feedback has an essential role in the requirement's identification, prioritization, and management of the software evolution process. Several approaches are proposed for utilizing user pushed feedback collected from social media, forums, and review systems. The collected feedback via the online channels contains a variety of information. Thus, the researchers proposed analytical approaches to classify feedback according to the data it holds. Still, recent results indicate that no single classifier works best for all feedback types and information sources. Also, online feedback does not have a direct mapping to the requirements, and it does not contain user context data. This causes wasting in developers' effort in understanding and analyzing feedback. On the other hand, online feedback cannot be used to explore user satisfaction and acceptance of the implemented and planned requirements. Likewise, the developer cannot collect feedback from a specific segment of the users. To overcome the deficiency of online feedback, this paper proposes a novel approach that utilizes pulling feedback from users while using the software. The proposed approach consists of a model and process for structuring feedback requests, linking feedback to the requirements, embedding feedback with the user context information, specifying the target audience for the feedback request, analyzing collected feedback depending on predefined interpretation rules, which provide insights that support developers in release planning. The feedback request model and process are implemented by a tool called FeatureEcho which was evaluated in a software company by conducting a case study for upgrading a governmental internet portal. The results indicate that FeatureEcho is a valuable step towards increasing the understanding of the end users needs which supports the decision making procedure of software evolution.
Computer and Information Science