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.

[1]  Anna Perini,et al.  An ontology of online user feedback in software engineering , 2015, Appl. Ontology.

[2]  Walid Maalej,et al.  When users become collaborators: towards continuous and context-aware user input , 2009, OOPSLA Companion.

[3]  Björn Regnell,et al.  A linguistic-engineering approach to large-scale requirements management , 2005, IEEE Software.

[4]  Peter C. Lockemann,et al.  PRIMIUM - Process Innovation for Enterprise Software , 2009 .

[5]  Norbert Seyff,et al.  AppEcho: a user-driven, in situ feedback approach for mobile platforms and applications , 2014, MOBILESoft 2014.

[6]  Rachel Harrison,et al.  Retrieving and analyzing mobile apps feature requests from online reviews , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

[7]  Sjaak Brinkkemper,et al.  REfine: A gamified platform for participatory requirements engineering , 2015, 2015 IEEE 1st International Workshop on Crowd-Based Requirements Engineering (CrowdRE).

[8]  Norbert Seyff,et al.  Feedback Gathering from an Industrial Point of View , 2017, 2017 IEEE 25th International Requirements Engineering Conference (RE).

[9]  Julio Cesar Sampaio do Prado Leite,et al.  Requirements Validation Through Viewpoint Resolution , 1991, IEEE Trans. Software Eng..

[10]  Jan Bosch,et al.  Towards Continuous Customer Validation: A Conceptual Model for Combining Qualitative Customer Feedback with Quantitative Customer Observation , 2015, ICSOB.

[11]  Bernd Brügge,et al.  User involvement in software evolution practice: A case study , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[12]  Kristina Winbladh,et al.  Analysis of user comments: An approach for software requirements evolution , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[13]  James A. Landay,et al.  MyExperience: a system for in situ tracing and capturing of user feedback on mobile phones , 2007, MobiSys '07.

[14]  Walid Maalej,et al.  On the Socialness of Software , 2011, 2011 IEEE Ninth International Conference on Dependable, Autonomic and Secure Computing.

[15]  Peter J. Bentley,et al.  Investigating Country Differences in Mobile App User Behavior and Challenges for Software Engineering , 2015, IEEE Transactions on Software Engineering.

[16]  Jan Bosch,et al.  Towards Customer-Centric Software Development: A Multiple-Case Study , 2015, 2015 41st Euromicro Conference on Software Engineering and Advanced Applications.

[17]  Neil A. M. Maiden,et al.  Using Mobile RE Tools to Give End-Users Their Own Voice , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[18]  Kurt Schneider,et al.  A method for prioritizing end-user feedback for requirements engineering , 2012, 2012 5th International Workshop on Co-operative and Human Aspects of Software Engineering (CHASE).

[19]  Sjaak Brinkkemper,et al.  Gamified Requirements Engineering: Model and Experimentation , 2016, REFSQ.

[20]  Danny Dig,et al.  Examining User-Developer Feedback Loops in the iOS App Store , 2019, HICSS.

[21]  Jan Wiesenberger,et al.  Bringing Developers and Users Closer Together: The OpenProposal Story , 2008, PRIMIUM.

[22]  Walid Maalej,et al.  Bug report, feature request, or simply praise? On automatically classifying app reviews , 2015, 2015 IEEE 23rd International Requirements Engineering Conference (RE).

[23]  Keith Phalp,et al.  Modelling Users Feedback in Crowd-Based Requirements Engineering: An Empirical Study , 2015, PoEM.

[24]  Miguel Mira da Silva,et al.  iThink: A Game-Based Approach Towards Improving Collaboration and Participation in Requirement Elicitation , 2012, VS-GAMES.

[25]  Stephan Krusche,et al.  Context-Aware User Feedback in Continuous Software Evolution , 2016, 2016 IEEE/ACM International Workshop on Continuous Software Evolution and Delivery (CSED).

[26]  Eric S. K. Yu,et al.  Social Modeling and i* , 2009, Conceptual Modeling: Foundations and Applications.

[27]  Anna Perini,et al.  Crowdsourcing for Software Engineering The Crowd in Requirements Engineering The Landscape and Challenges , 2017 .

[28]  Jan Ole Johanssen,et al.  Feature Crumbs: Adapting Usage Monitoring to Continuous Software Engineering , 2018, PROFES.

[29]  Markus Fiedler,et al.  Quality of Experience: From User Perception to Instrumental Metrics (Dagstuhl Seminar 12181) , 2012, Dagstuhl Reports.

[30]  Bruce Phillips,et al.  Tracking real-time user experience (TRUE): a comprehensive instrumentation solution for complex systems , 2008, CHI.

[31]  Peng Liang,et al.  Automatic Classification of Non-Functional Requirements from Augmented App User Reviews , 2017, EASE.

[32]  Pierre-Yves Schobbens,et al.  What ' s in a Feature ? A Requirements Engineering Perspective , 2008 .

[33]  Maleknaz Nayebi,et al.  Toward Data-Driven Requirements Engineering , 2016, IEEE Software.

[34]  Anna Perini,et al.  Towards Supporting the Analysis of Online Discussions in OSS Communities: A Speech-Act Based Approach , 2014, CAiSE Forum.