Data-Driven Software Development with User-Interaction Data
Suonsyrjä, Sampo (2019)
Suonsyrjä, Sampo
Tampereen yliopisto
2019
Tieto- ja sähkötekniikan tohtoriohjelma - Doctoral Programme of Computing and Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Väitöspäivä
2019-06-26
Julkaisun pysyvä osoite on
https://urn.fi/URN:ISBN:978-952-03-1145-2
https://urn.fi/URN:ISBN:978-952-03-1145-2
Tiivistelmä
Gathering feedback has always played an important role in product design. For software development, user-centered design of systems has been a trend already since the 1980’s. Similarly, making decisions based on quantitative data is on the rise. Software-intensive companies, such as Facebook and Google, already collect and analyze loads of data about their users – especially for marketing purposes.
However, using user-related data in data-driven software development is still in its infancy. Given the increasing speed of software development and the need for ever-tightening user engagement, new solutions for faster feedback mechanisms are clearly needed. Thus, the research problem of this thesis was to produce an actionable set of tools and methods for using user-interaction (U-I) data in software development.
To solve this, we used Design Science and Action Design Research strategies. A set of tools and methods for using U-I data were designed and evaluated. For these, we conducted exploratory, explanatory, and improvement case studies with three software teams from different organizations. Additionally, we surveyed a larger set of software practitioners.
The results are threefold. Firstly, our tools assist practitioners in the collecting of U-I data technically. We identified five U-I data collecting techniques, designed a framework for their selection, developed an open source collecting tool, and designed a demonstrative tool stack to cover analytics end-to-end. Secondly, the thesis presents results for how to use U-I data in software development. Four analysis and four use objectives for U-I data were found. In addition, the designed U-I data utilization method presents a three step guide for how to start the use of U-I data. Thirdly, the synthesis of the U-I data objectives with the objectives of iterative software development cycles highlights several opportunities of using U-I data on a methodological level. To understand the practical level, the results also describe a set of challenges of using U-I data.
The thesis research contributes in developing the fast feedback mechanism of gathering quantitative data from how users use software systems. The high velocity of collecting feedback is essential for software-intensive organizations enabling the data-driven software development. On a practical level, many of the tools designed during this thesis have been integrated into the software systems of practitioners. Moreover, the use of U-I data is now easier for software teams because the results of this thesis explain its opportunities and challenges. As a whole, the thesis provides software teams with an actionable set of tools and methods that assists them in responding to their users’ needs faster than before.
However, using user-related data in data-driven software development is still in its infancy. Given the increasing speed of software development and the need for ever-tightening user engagement, new solutions for faster feedback mechanisms are clearly needed. Thus, the research problem of this thesis was to produce an actionable set of tools and methods for using user-interaction (U-I) data in software development.
To solve this, we used Design Science and Action Design Research strategies. A set of tools and methods for using U-I data were designed and evaluated. For these, we conducted exploratory, explanatory, and improvement case studies with three software teams from different organizations. Additionally, we surveyed a larger set of software practitioners.
The results are threefold. Firstly, our tools assist practitioners in the collecting of U-I data technically. We identified five U-I data collecting techniques, designed a framework for their selection, developed an open source collecting tool, and designed a demonstrative tool stack to cover analytics end-to-end. Secondly, the thesis presents results for how to use U-I data in software development. Four analysis and four use objectives for U-I data were found. In addition, the designed U-I data utilization method presents a three step guide for how to start the use of U-I data. Thirdly, the synthesis of the U-I data objectives with the objectives of iterative software development cycles highlights several opportunities of using U-I data on a methodological level. To understand the practical level, the results also describe a set of challenges of using U-I data.
The thesis research contributes in developing the fast feedback mechanism of gathering quantitative data from how users use software systems. The high velocity of collecting feedback is essential for software-intensive organizations enabling the data-driven software development. On a practical level, many of the tools designed during this thesis have been integrated into the software systems of practitioners. Moreover, the use of U-I data is now easier for software teams because the results of this thesis explain its opportunities and challenges. As a whole, the thesis provides software teams with an actionable set of tools and methods that assists them in responding to their users’ needs faster than before.
Kokoelmat
- Väitöskirjat [4905]