> SO_SWSI-2015-06-0088 - ACCEPTED TO IEEE SOFTWARE SI - FUTURE OF SOFTWARE ENGINEERING, 2015 < 1 Abstract—Nowadays, users can easily submit their feedback about software products in app stores, social media, or user groups. Moreover, software vendors are collecting massive amounts of implicit feedback in the form of usage data, error logs, and sensor data. Outlining these trends, we envision a paradigm shift towards data-driven user-centered identification, prioritization, and management of software requirements. Future software and requirements engineering should be able to adopt the requirements of user masses when deciding on what to develop and when to release. We discuss how practitioners could systematically use explicit and implicit user data in an aggregated form to support their decisions about requirements – towards a data-driven requirements engineering by the masses and for the masses. Index Terms— App Reviews, Decision Support, Requirements Engineering, Software Analytics, Usage Data I. INTRODUCTION EQUIREMENTS ENGINEERING is concerned with identifying, documenting, negotiating, and managing the desired properties and constraints of software-intensive systems, the goals to be achieved in a software project, and the assumptions about the environment [5]. Requirements can be considered as a verbalization of decision alternatives regarding the functionality and quality of a system [1]. A large part of requirements engineering is concerned with involving system users, capturing their needs, and getting their feedback. Conventional requirements engineering typically involves users through interviews and workshops. Open source projects allow users to publicly report issues and ideas through issue trackers. Recently, software vendors also started collecting user feedback through social media channels, user forums, and review systems. In particular with the emergence of app stores as a software market place and a deployment infrastructure, users can now easily submit their feedback, review new releases, report bugs, rate the app and its features, or request new features [15]. Studies highlighted the importance of user feedback for the success of software products [10]. For instance, apps with more positive reviews get better rankings, better visibility, and W. Maalej and T. Johann are with the Department of Informatics, University of Hamburg, Germany (e-mail: {maalej,johann}@informatik.uni- hamburg.de). M. Nayebi and G. Ruhe are with the Software Engineering Decision Support Laboratory, University of Calgary, Canada (e-mail: {ruhe,nayebi}@ucalgary.ca) higher download and sales numbers [7], [16]. In contrast, frustrated users who feel their voices are ignored might even harm the reputation of software by organizing social media campaigns against it [13]. As a large portion of software is delivered and used through app stores, more and more feedback from the user masses is available. Popular apps such as Dropbox or Facebook can get several thousand reviews in a single day [15]. Conventional environments such as desktop operating systems are following this trend in delivering and deploying software. Large systems such as MS Office, Facebook, Firefox, or Eclipse have their own plugin stores with similar rating and reviewing features. In this article we discuss how software developers and analysts can use this data to identify, prioritize, and manage the requirements for their software products. We see three major future directions in practice. First, tools for feedback analytics will help deal with the large amount of user comments by classifying, filtering, and summarizing them. Second, automatically collected usage data, logs, and interaction traces could improve the feedback quality and assist developers with understanding the feedback and reacting to it. We thus call this automatically collected information about the software usage “implicit feedback”. Finally, with all the explicit and implicit feedback now available in an (almost) continuous way, the following question arises: How can practitioners use this information and integrate it into their processes and tools to decide about when the next release should be offered and what requirements and features should be added or eliminated. II. USER FEEDBACK ANALYTICS Analytics is the use of analysis, data, and systematic reasoning to make decisions [4]. Recently, app store operators such as Apple, Google, and Microsoft as well as specialized companies such as AppAnnie and SimilarWeb started offering analytics services to software vendors based on user feedback. A survey of 7000 developers in the beginning of 2014 found that about 40% of them use user analytics tools 1 . At the end of 2014 only 21% of surveyed developers claimed to still use these tools 2 . One of the main reasons was that, most analytics 1 Developer Economics Q1 2014: State of the Developer Nation— available online: http://www.visionmobile.com/product/developer-economics-q1-2014- state-developer-nation/ 2 Developer Economics Q3 2014: State of the Developer Nation— available online: http://www.visionmobile.com/product/developer-economics- q3-2014/ Towards Data-Driven Requirements Engineering Walid Maalej, Maleknaz Nayebi, Timo Johann, and Gunther Ruhe R