Fabian Gautschi, Development and Evaluation of End-User Feedback Gathering Mechanisms, University of Zurich, Faculty of Business, Economics and Informatics, 2017. (Master's Thesis)
With the internet as distribution channel, the end-user base of a software product becomes larger and evermore diverse. Cloud software and mobile applications represent prime examples. Traditional software requirements elicitation processes do not scale well with this evolution since end-users are often unknown and geographically distributed. However, getting the feedback of the end-users for requirements engineering is crucial in order to be able to deliver a software that meets the end-user's needs. The dynamics of today's web platforms such as social networking sites, online forums, and news media sites lead to a vast amount of user-contributed content where end-users of software exchange ideas and opinions.
In this thesis, we investigate the potential of the internet as a source to gather end-user feedback that can serve as input for requirements engineering and ultimately for the evolution of a software. We follow a holistic approach and create a concept that on the one hand automatically gathers and aggregates end-user feedback from multiple sources but also aims at identifying new online sources. Moreover, the concept is implemented as a prototype and its fit for purpose is evaluated using IBM Watson's cognitive computing technology. |
|
Emitza Guzman, Rana Alkadhi, Norbert Seyff, An Exploratory Study of Twitter Messages about Software Applications, Requirements Engineering, Vol. 22 (3), 2017. (Journal Article)
Users of the Twitter microblogging platform share a considerable amount of information through short messages on a daily basis. Some of these so-called tweets discuss issues related to software and could include information that is relevant to the companies developing these applications. Such tweets have the potential to help requirements engineers better understand user needs and therefore provide important information for software evolution. However, little is known about the nature of tweets discussing software-related issues. In this paper, we report on the usage characteristics, content and automatic classification potential of tweets about software applications. Our results are based on an exploratory study in which we used descriptive statistics, content analysis, machine learning and lexical sentiment analysis to explore a dataset of 10,986,495 tweets about 30 different software applications. Our results show that searching for relevant information on software applications within the vast stream of tweets can be compared to looking for a needle in a haystack. However, this relevant information can provide valuable input for software companies and support the continuous evolution of the applications discussed in these tweets. Furthermore, our results show that it is possible to use machine learning and lexical sentiment analysis techniques to automatically extract information about the tweets regarding their relevance, authors and sentiment polarity. |
|
Simon Ruesch, Feature Extraction from User Feedback, University of Zurich, Faculty of Business, Economics and Informatics, 2016. (Master's Thesis)
With the rise of smart phones, the focus of many software developers shifted towards the creation of applications for this growing technology.
While many traditional bigger software development companies have grasped the opportunity of creating mobile apps, the modern mobile app distribution platforms (or app stores) also make it easy for smaller development companies to publish their apps and reach a high population of potential customers.
With this high number of potential customers, it becomes difficult to elicit and prioritize the wishes of all the individual customers to improve the existing app and fix bugs.
A possible avenue for this kind of requirements is the analysis of user feedback posted by users online.
Modern app distribution platforms allow the users to express their opinions towards an app by writing comments or reviews and by giving them a rating.
Popular apps today have ratings and comments provided by millions of users of the app.
On the other hand, developers of apps often use public issue tracking systems to allow the users of their app to report bugs or change requests.
There is great interest in enabling app developers to leverage this great amount of user feedback.
The app stores provide simple aggregate measures like the average rating or the number of downloads that can give a certain measure of popularity.
But restricting the analysis only on those aggregate measures ignores the potential that analyzing the written user comments brings.
However, manually going through all the comments one by one and extracting relevant information is infeasible.
What would be more useful is automatically detecting what features of the apps users talk about and what their opinion about them is.
If developers can see that a lot of users have negative feelings towards a certain feature, they get an indication that that feature contains bugs or needs improvement.
Therefore, there were two main goals of this thesis.
The first goal was the development and evaluation of an algorithm for the extraction of features from user feedback.
The second main goal was the conception and development of a tool for the visualization of found features, their evolution over time and the relationship between features among each other and between features and other external factors, like changes in the software, price or rating.
The work presented in this thesis shows an attempt to develop an automatic algorithm to extract features from user feedback.
It involved the collection of reviews and issues for three popular open source apps from the Google Play app store and the Github issue tracking system.
To validate the algorithm, a truth set of features that are considered to be contained in the reviews and issues was created.
For this purpose, a application was developed that presents the user a set of reviews and issues and allows the users to mark the features contained in those reviews and issues.
The algorithm developed in this work is based on the one proposed by Qiu et al. that extracts features based on syntactic relations with the accompanying words in the the same sentence.
The algorithm was implemented and validated with the same truth set that Qiu et al. used in their evaluation.
However, the results reported by Qiu et al. could not be replicated in this work.
Due to time constraints, it was infeasible to further try and improve the algorithm or try to implement a different one.
Similarly, a visualization of the features, their possible evolution over time and their interrelations was not done and should be considered for a future work, where a reliable algorithm is used. |
|
Eya Ben Charrada, Stefan Mussato, Exploratory Study on Managing and Searching for Documents in Software Engineering Environments, In: ACM Symposium on Document Engineering, s.n., 2016-09-13. (Conference or Workshop Paper published in Proceedings)
|
|
Emitza Guzman Ortega, Rana Alkadhi, Norbert Seyff, A Needle in a Haystack: What Do Twitter Users Say about Software?, In: 24th IEEE International Requirements Engineering Conference, IEEE, Los Alamitos, Ca., 2016-09-12. (Conference or Workshop Paper published in Proceedings)
Users of the Twitter microblogging platform share a vast amount of information about various topics through short messages on a daily basis. Some of these so called tweets include information that is relevant for software companies and could, for example, help requirements engineers to identify user needs. Therefore, tweets have the potential to aid in the continuous evolution of software applications. Despite the existence of such relevant tweets, little is known about their number and content. In this paper we report on the results of an exploratory study in which we analyzed the usage characteristics, content and automatic classification potential of tweets about software applications by using descriptive statistics, content analysis and machine learning techniques. Although the manual search of relevant information within the vast stream of tweets can be compared to looking for a needle in a haystack, our analysis shows that tweets provide a valuable input for software companies. Furthermore, our results demonstrate that machine learning techniques have the capacity to identify and harvest relevant information automatically. |
|
Parisa Ghazi, Martin Glinz, An exploratory study on user interaction challenges when handling interconnected requirements artifacts of various sizes, In: Proceedings of the 24th IEEE International Requirements Engineering Conference, IEEE, 2016-09-12. (Conference or Workshop Paper published in Proceedings)
Requirements documentation is essential for developing software systems of non-trivial size. The cost of creating and maintaining documentation artifacts in terms of time and effort is significantly influenced by the tools with which engineers view, navigate and edit documentation artifacts. However, there is not much evidence about how well documentation tools actually support engineers, particularly when dealing with artifacts that are larger than the available display screen and with multiple artifacts at the same time. Therefore, we conducted an exploratory study based on 29 interviews with software practitioners to understand the current practice of presenting and manipulating artifacts in documentation tools, and how practitioners deal with the challenges encountered. Our study shows that a significant number of artifacts cannot be viewed entirely, even on large screens. Moreover, more than half of the participants use four or more artifacts concurrently. Nevertheless, current tools only provide primitive capabilities for handling concurrent and large artifacts, thus forcing engineers to create, for example, mental images of the currently used artifacts or use workarounds such as hanging printouts to the wall. Our results may trigger new research and help improve requirements engineering tools. |
|
Eya Ben Charrada, Which One To Read? Factors Influencing the Usefulness of Online Reviews for RE, In: International Workshop on Artificial Intelligence for Requirements Engineering, s.n., 2016-09-12. (Conference or Workshop Paper published in Proceedings)
|
|
Sofija Hotomski, Eya Ben Charrada, Martin Glinz, An Exploratory Study on Handling Requirements and Acceptance Test Documentation in Industry, In: 24th IEEE International Requirements Engineering Conference, 2016-09-12. (Conference or Workshop Paper published in Proceedings)
With the emergence and spread of agile processes, the practices of writing and maintaining documentation have drastically changed in the last decade. In this work, we performed a qualitative study to explore the current practices for managing two related types of software documentation: requirements and acceptance tests. We interviewed twenty practitioners from seventeen business units in fifteen companies to investigate the companies’ practices for writing, maintaining and linking requirements and acceptance test documentation. The study yields interesting and partially unexpected results. For example, we had expected that tests would be more extensively documented than requirements, while we found a strong linear correlation between the number of requirements and tests in our sample. We also found that technical people are usually not involved in the requirements engineering activities, which often results in misunderstood or underestimated requirements. Acceptance tests are written, in many cases, based on requirements that are not necessarily detailed enough. Also, acceptance tests are not regularly maintained, which occasionally results in confusing features and bugs. |
|
David Gallati, Engaging Stakeholders Towards the Contribution of Sustainability Requirements on a Game-Based Elicitation Platform, University of Zurich, Faculty of Business, Economics and Informatics, 2016. (Master's Thesis)
Requirements engineering (RE) is a crucial activity in the software development life cycle. It determines the requirements for the software under development according to the needs of the stakeholders. The active participation of stakeholders in requirements elicitation is crucial for the project success, but identifying all relevant stakeholders remains a big challenge for practitioners. Especially, the stakeholders outside organizational reach.
Recently, sustainable development has gained increased attention in the field of RE. People are constantly influenced by software systems due to its ubiquity in the industrial society. The influence on the behavior of the users of these systems, can lead to positive and negative environmental effects. Addressing both possible effects in RE has been acknowledged to be of great importance to support the transition towards sustainable development. However, researchers in the field of RE especially focused on requirements reducing negative effects. Few research has been conducted to investigate requirements related to positive effects. Further research has to be conducted to be able to elicit requirements related to positive effects efficiently. This is one of the reasons, why the identification and classification of such requirements remains challenging for practitioners.
To approach the mentioned challenges, we extend an existing blog-like requirements elicitation platform to enable the identification and classification of such requirements. We use persuasive technology and game mechanics to motivate stakeholders outside organizational reach to contribute such requirements in the elicitation process. The extended platform has been evaluated according to its fairness for stakeholders on the platform.
|
|
Dustin Wüest, Norbert Seyff, Martin Glinz, Kollaboratives, leichtgewichtiges Erzeugen von Modellskizzen und zugehörigen Notationen im Rahmen von RE Workshops, Softwaretechnik-Trends, Vol. 36 (3), 2016. (Journal Article)
|
|
Martin Glinz, How much requirements engineering do we need?, Softwaretechnik-Trends, Vol. 36 (3), 2016. (Journal Article)
As unambiguous and complete requirements specifications are not feasible in most cases, we investigate the question how much Requirements Engineering (RE) we actually need for the development of successful systems and products.
Based on the notion of value of requirements, we discuss risk, shared understanding and customer-supplier relationship as major influencing factors. |
|
Ruzanna Chitchyan, Christoph Becker, Stefanie Betz, Leticia Duboc, Birgit Penzenstadler, Norbert Seyff, Colin C Venters, Sustainability Design in Requirements Engineering: State of Practice, In: International Conference on Software Engineering (ICSE’16), IEEE, New York, New York, USA, 2016-05-14. (Conference or Workshop Paper published in Proceedings)
Sustainability is now a major concern in society, but there is little understanding of how it is perceived by software engineering professionals and how sustainability design can become an embedded part of software engineering process. This paper presents the results of a qualitative study exploring requirements engineering practitioners’ perceptions and attitudes towards sustainability. It identifies obstacles and mitigation strategies regarding the application of sustainability design principles in daily work life. The results of this study reveal several factors that can prevent sustainability design from becoming a first class citizen in software engineering: software practitioners tend to have a narrow understanding of the concept of sustainability; organizations show limited awareness of its potential opportunities and benefits; and the norms in the discipline are not conducive to sustainable outcomes. These findings suggest the need for focused efforts in sustainability education, but also a need to rethink professional norms and practices. |
|
David Aggeler, Engaging Stakeholders outside organizational Reach in Requirements Elicitation: Creating a Fair, Game-Based Reward System, University of Zurich, Faculty of Economics, Business Administration and Information Technology, 2016. (Master's Thesis)
Requirements elicitation is one of the first steps of requirements engineering. It is an important step in order to carry out software projects successfully. A major success factor in requirements elicitation is the identification and the participation of the stakeholders of a software product. However, identifying and motivating stakeholders to participate in requirements elicitation is a main challenge when looking at stakeholders outside organizational reach. First, there is no standardized method on how to identify stakeholders outside organizational. Second, stakeholders outside organizational reach are not obligated to contribute to requirements elicitation of a project. New approaches are needed in order to successfully carry out requirements elicitation with such stakeholders. First, they need to be identified. Second, they need to be motivated to participate in and contribute to requirements elicitation.
This thesis contribution is threefold. First, we propose a solution for identifying stakeholders outside organizational reach. Second, we design and develop a fair, game-based reward system to motivate stakeholders outside organizational reach to contribute to requirements elicitation. Third, we evaluate the designed and implemented reward system towards its fairness. |
|
Lukas Klopfer, Ein faires Spiel-basiertes Punktesystem zur Beteiligung von "Interesseneigener ausserhalb organisatorischer Reichweite", University of Zurich, Faculty of Economics, Business Administration and Information Technology, 2016. (Bachelor's Thesis)
Requirements elicitation is a vital part of requirements engineering. Therefore, it is indispensable for the development of a successful software system. The requirements are applicable using survey techniques of stakeholders outside the organizational reach. Due to digitization and globalization the range of products of a company and the number of stakeholders has increased. Because of the increase of stakeholders it is harder for the company to address all Stakeholders. Stakeholders which can’t be addressed through the requirement elicitation are referred to stakeholders outside organizational reach. A fair game-based points system was created in this bachelor thesis to motivate stakeholders outside organizational reach to communicate their requirements. The motivation will be increased through the game-mechanics related to gamification.
|
|
Simon Hodel, Clustering Software Issue Reports: An Evaluation of Clustering Algorithms, University of Zurich, Faculty of Economics, Business Administration and Information Technology, 2016. (Bachelor's Thesis)
Requirements engineers of big software projects have to manage a large collection of reported software issues. Although common issue tracking systems require a classification of issues when they are reported, the amount of equally classified reports usually still is too big in order to get an overview quickly, so these reports have to be inspected and sorted manually, which is a time-consuming task. This thesis aims to check if clustering techniques may alleviate these tasks of a requirements engineer in terms of bringing a first structure into an unstructured collection of issue reports, which ideally allows for more efficient work. Three clustering algorithms are applied to several datasets and evaluated with specific metrics in order to find out if clustering software issue reports may be useful for a requirements engineer when analysing, sorting, classifying and prioritizing issue reports. |
|
Eya Ben Charrada, Anne Koziolek, Martin Glinz, Supporting requirements update during software evolution, In: Software Engineering, 2016-02-23. (Conference or Workshop Paper published in Proceedings)
|
|
Dustin Wüest, FlexiSketch: Combining Free-Form Sketching with Lightweight Metamodeling, University of Zurich, Faculty of Economics, Business Administration and Information Technology, 2016. (Dissertation)
Most software modeling tools only support predefined modeling languages. They are not flexible enough for creative requirements elicitation and early design sessions because their restricted vocabularies cannot cope with the diversity of emerging ideas. Therefore, software and requirements engineers frequently use physical media such as whiteboards and paper to sketch models and communicate ideas. The resulting model sketches, or photographs thereof, are not amenable for processing by software modeling tools because they are represented as image files. As such, they come without explicitly defined model syntax and semantics. Instead, modelers either ignore the sketches or extract important information from them later in the software engineering process, using this information to manually build semi-formal models from scratch. This manual re-creation can be time-consuming and error-prone, because sketches are often ambiguous. It is difficult to disambiguate them since contextual data is usually not stored within the sketches, and the original intentions behind them might no longer be known.
In this thesis, we propose a new, flexible modeling approach that enables a more seamless, semi-automatic transition from sketches to models. Our tool-supported approach combines sketching with lightweight metamodeling in a single modeling environment. We support free-form sketching similar to whiteboards and paper. In addition, sketched elements are recognized as individual constructs. A simple modeling language can be defined by annotating the constructs with types and constraints. The software automatically infers a metamodel by analyzing the whole sketch and the user's annotations. Thus, our approach supports several levels of formality. It enables the transformation of sketches into models, and paves the way for exporting them to other modeling or metamodeling tools. This thesis presents the conceptual solution of our approach, the FlexiSketch tool as a proof of concept and embodiment of this approach, and an evaluation of the approach in the form of initial studies with students and practitioners. The study participants deemed our approach to be valuable and pointed out that the simplicity and flexibility of our tool make it much more suited for creative work than other software modeling tools. Overall, the studies show that our approach is a successful example of blending advantages of whiteboards and software modeling tools, in order to obtain a flexible modeling tool that enables a powerful integration of sketches into the software engineering process. Furthermore, the studies confirm an industry need for such flexible tools. |
|
Irina Todoran, StakeCloud: Stakeholder Requirements Communication in the Cloud, University of Zurich, Faculty of Economics, Business Administration and Information Technology, 2016. (Dissertation)
Effective requirements communication between consumers and providers represents the foundation of any successful service or product. Therefore, numerous methods have been developed and used throughout the recent decades to support provider companies in knowing their consumers and understanding their needs.
However, the existing requirements communication techniques are seriously challenged by the cloud paradigm. Cloud computing has emerged as a successful service delivery model that allows reducing capital costs, while improving service accessibility, exibility and scalability. As a result, researchers and practitioners focused on enhancing the technological capabilities of cloud services, but the topic of gathering consumers' real needs has largely been ignored. Challenges posed by the cloud model such as wide, heterogeneous and geographically distributed audiences, frequent change requests and short times to market can only marginally be supported by conventional requirements communication methods.
In this thesis, we first describe the current state of practice with regard to requirements communication in cloud settings. The results of an exploratory study we conducted with 19 cloud service providers show that most companies use ad-hoc methods for gathering consumer requirements, since the existing techniques do not fit the cloud characteristics. Furthermore, we identified what key features a cloud requirements communication method should have to meet providers' needs.
Secondly, we present StakeCloud, a novel dedicated cloud requirements communication approach. StakeCloud is the main contribution of the thesis and has three components: a conceptual solution, its practical implementation, and a final evaluation. The conceptual solution has its roots in Galois theory and consists of building fuzzy Galois lattices based on (potential) consumers' advanced search queries collected online on marketplaces. The Galois lattices can be used by cloud providers to analyze market needs and trends, as well as optimum solutions for satisfying the largest populations possible with a minimum set of implemented requirements. Moreover, as proof of concept, we implemented a practical tool that can be used directly by cloud provider representatives, e.g., product managers. Finally, we evaluated to what extent our approach satisfies the main needs identified in the exploratory study. The StakeCloud approach complements the existing plethora of requirements communication techniques in that it is a dedicated method for cloud settings, operates with data that already exist, and enables large-scale consumers' involvement in an unobtrusive fashion. |
|
Christoph Becker, Stefanie Betz, Ruzanna Chitchyan, Leticia Duboc, Steve M Easterbrook, Birgit Penzenstadler, Norbert Seyff, Colin C Venters, Requirements: The Key to Sustainability, IEEE Software, Vol. 33 (1), 2016. (Journal Article)
Software's critical role in society demands a paradigm shift in the software engineering mind-set. This shift's focus begins in requirements engineering. This article is part of a special issue on the Future of Software Engineering. |
|
Tim Sterchi, FlexiNav: A Concept for Navigating Software Models at Different Levels of Abstraction, University of Zurich, Faculty of Economics, Business Administration and Information Technology, 2015. (Master's Thesis)
In this thesis we present a concept for enhancing the FlexiSketch application with functionality to create, organize and navigate relations between models, together with an evaluation of this concept by industry professionals.
After an analysis of sketching behavior and model navigation and existing approaches to combine these topics, we have found that there are no solutions that combine flexible sketching and metamodeling features comparable to those of FlexiSketch with features to navigate models at different levels of abstraction. We performed a requirements elicitation and subsequently elaborated a concept to enhance FlexiSketch so that it fulfills these requirements. After implementing
the concept in a prototype, we evaluated it with industry professionals working in the field of requirements engineering.
We found that our concept is deemed an appropriate solution for being used for its intended use cases, but that practitioners have high expectations for novel solutions and that the implementation quality must be comparable to professional-grade software in order to use a tool for daily work. |
|