• Keine Ergebnisse gefunden

Definition 4.1: Requirements Intelligence

Requirements Intelligence is a framework that continuously collects, pre-processes, filters, as well as extracts and matches explicit and implicit user feedback to requirements to generate analytical insights for stake-holders in an integrated interactive visualization.

A consequence of the stakeholders’ needs and the definition of requirements intelligence is that we have to perform advanced analytics techniques to gain meaningful insights from user feedback. We can achieve the objective of re-quirements intelligence by applying machine learning approaches to both types of feedback. Therefore, the next section will introduce the framework and its activities. After that, we introduce the machine learning pipeline and practices that we rigorously followed in the later chapters presenting the approaches for the framework activities.

grey box on the left is dedicated to the data preparation. It includes the activ-ities Data Collection and Preprocessing, which the framework provides for both types of user feedback. Then, there are two grey boxes, one for each type of user feedback. Again, both include the same activities. The first activity is Feedback Filtering, which resolves the primary burden of stakeholders, which is the amount of irrelevant and noisy user feedback. The second activity Feedback to Require-ments uses the filtered feedback from the previous activity to extract the features from the relevant feedback and matches them with the features stakeholders doc-umented. The output of the explicit and implicit user feedback activities serves as the input for the integrated interactive visualization, which provides analytics insights for stakeholders for each feedback type and their combination. In the following, we detail the activities and provide references to their dedicated chap-ters that present approaches for implementation. We describe how we approach the framework’s activities for explicit and implicit user feedback.

4.3.1 Data Collection and Preprocessing

We discuss the data collection and preprocessing of explicit and implicit user feedback. The main difference between the activity for both feedback types lies within the nature of the data. Explicit user feedback is written text gathered from online sources. Implicit user feedback, on the other hand, is data collected from within the app. In the following, we detail the differences.

Explicit user feedback collection and preprocessing. For explicit user feedback, we focus on app reviews from the Google Play Store and the Apple AppStore, as well as on tweets from Twitter. In Section 2.2, we discussed the platforms and the information they provide in detail. To collect feedback from these platforms, we either have to develop web scrapers or request information via APIs.

Our conceptual model of explicit user feedback in Section 2.2.2 shows that it contains a written (body) text, a timestamp, as well as a language as the minimum. Depending on the platform, explicit feedback may contain additional data, such as a star rating. Our preprocessing steps focus on the body text of the feedback and, therefore, on natural language. Additionally, as we apply machine learning for the activities feedback filtering and feedback to requirements, the

preprocessing transforms the feedback to machine-readable data.

There is no dedicated chapter for this activity for explicit user feedback, but we describe the activity in Chapter 5 and Chapter 6.

Implicit user feedback collection and preprocessing. For implicit user feedback, we work with context and usage data collected from apps. In Sec-tion 2.3.3, we discussed Android as a platform to collect implicit user feedback.

There, we presented examples of context data (e.g., app version) and interaction events (e.g., clicks). We also perform machine learning for implicit feedback and, therefore, have to transform it into machine-readable data.

There is no dedicated chapter for this activity, but both Chapter 7 and Chapter 8 explain the preprocessing steps necessary for their approaches in detail.

4.3.2 Feedback Filtering

This activity addresses the challenge of most stakeholders, which is facing large amounts of irrelevant and noisy user feedback coming from several platforms.

Therefore, the main objective of this activity is to filter feedback irrelevant to stakeholders. This step ensures that stakeholders need less effort to analyze user feedback by only having requirements-relevant feedback available.

Explicit user feedback filtering. Chapter 5 introduces an approach for filter-ing explicit user feedback from app stores and Twitter in the English and Italian languages. The approach utilizes natural language processing and machine learn-ing to filter irrelevant user feedback. We further filter the remainlearn-ing feedback into the categories problem report and inquiry. Problem reports describe any problem that users encounter in the app like software bugs, or a service provided by an organization. Inquiries are requests for new features and questions directed to the stakeholders.

Implicit user feedback filtering. Chapter 7 introduces an approach that filters implicit user feedback to the context of use. The approach can filter im-plicit user feedback by automatically identifying private and professional device usage. Private and professional are states describing the usage context (see Sec-tion 2.3.2). Our approach only presents one example of how we can utilize context

to filter implicit user feedback. Other, more simple context-based filtering ap-proaches are, for example, the device a user is using (e.g., smartphone vs. TV), a particular connection (e.g., Wi-Fi vs. mobile), or the location (e.g., nearby places).

4.3.3 Feedback to Requirements

This activity is about gaining insights into the features users address in explicit user feedback, and the features users use with implicit feedback. With this ac-tivity, we can address stakeholders’ need to understand the particular features users discuss. With that knowledge, they can better understand which features cause problems and which features users wish. Stakeholders can compare the addressed features with their requirements documentation to learn, e.g., which of their features are popular or maybe not frequently used.

Explicit user feedback to requirements. In Chapter 6, we introduce an approach that stakeholders can apply to extract the app features users address in their feedback and to extract the documented app features from app pages. The approach helps stakeholders identify frequently discussed features and automati-cally matches the features users mention with those documented on the app page.

Implicit user feedback to requirements. Chapter 8 introduces an approach that automatically detects the app features users currently use. The approach performs the identification solely on interaction events. If stakeholders utilize the approach based on the previously filtered usage context, they can get in-depth insights like what features users use in a working context. Stakeholders can learn more about how users use their apps if they compare the result of this approach for diverse usage contexts.

4.3.4 Integrated Interactive Visualization

The explicit and implicit user feedback analysis activities are the core enablers for the integrated interactive visualization. In Chapter 3, stakeholders stated that they need a web-based automated tool visualizing the analysis results of explicit and implicit user feedback. In particular, they need a tool with which they can

stay informed and understand how their app generally performs. Depending on the role of the stakeholders, they either need a general overview like a dashboard or more details like the actual user feedback and the features users address.

Theintegrationin the integrated interactive visualization stands for integrating and combining both types of user feedback in one single place. It presents a dashboard with descriptive analytics showcasing, for example, when and how often users provide feedback. Besides dedicated views for the feedback types, the visualization combines both by, e.g., enriching explicit user feedback with context data like the app and operating system version. The underlying machine learning models of the other activities and the combination of both feedback types allow visualizations for all four types of analytics. We address the stakeholders’ need for providing a single point of access for different feedback types, coming from different platforms, which is available on the web.

The term interactive in the integrated interactive visualization stands for al-lowing stakeholders to interact with the presented information. The visualization allows stakeholders to, e.g., select filter mechanisms, to define time frames of in-terests, and to correct the underlying algorithms of the feedback analyses activi-ties. Here, we address the stakeholders’ need for being in control of the machine learning models and the need for selecting and filtering information appropriate to the role of the stakeholder.