Designing The Right Software: Continuous experimentation and design decision-making in modern software engineering
Thursday, 17 March at 10:15
via Zoom: request the link by email [email protected]
Note! the link will be sent by email to CS staff.
Abstract: Continuous Experimentation (CE) is a software engineering paradigm where field experiments with real users in their real context are used to inform the software product development process. CE has become an established practice especially among large internet-based companies with the ability to rapidly deploy new software versions and collect large amounts of usage data.
The idea of CE is to drive product development primarily through experiments. Its implied benefit is to allow observation of causal effects of design decisions on user behaviour and key outcomes, but the complexities of real-world software development means that achieving this is difficult. Because conditions for experimentation in most real-life organisations generally do not permit perfect experimental control, and introduce many complex constraints, design decision-making with experiments relies on significant human involvement. In addition, experimentation involving human users can have significant risks for the perception of the product as well as serious ethical concerns.
CE is fundamentally a way of informing decision-making in software product design. The complexity of such decisions points to examining them as naturalistic, i.e., a study of how decisions in CE are made in demanding, real-world situations, and to aim for results that are suitable for informing such real-world decisions. In my prior research, I have developed a reference model for CE and conducted field studies on the use of CE in industry. I have also investigated decision-making in software product design, with particular emphasis on intertemporal choice – where the outcomes of different choices are separated in time.
My vision is to bring these two directions together to investigate naturalistic decision-making in CE. Besides further understanding of how design decisions based on experiments are made in real software projects, I aim to develop models for constructing experiment objects and integrating CE in the overall tooling infrastructure of modern, continuous software engineering.
Bio: Fabian Fagerholm is a senior university lecturer at Aalto University, Finland, and an associate senior lecturer at Blekinge Institute of Technology, Sweden. His research in the area of software engineering focuses particularly on agile and continuous software product development and human factors. His current work centres on continuous experimentation and decision-making in software product design and implementation. His work on continuous experimentation and human factors in software engineering have been recognised in the field and awarded with best paper and most cited article awards (e.g., Journal of Systems and Software, 2018, 2020). After receiving his PhD in computer science from the University of Helsinki, Finland, he has held a postdoctoral researcher position at the same university, a guest lecturership at Blekinge Institute of Technology, Sweden, and a postdoctoral fellowship at the University of Toronto, Canada.