[ Lund University / Faculty of Engineering / Department of Computer Science ]

Seamless, Tailored Code Review


Period: Jan 2023 - Dec 2027
Funding: WASP
PI: Emma Söderberg, Lund University
co-PI: Christofer Rydenfält, Lund University
co-PI: Luke Church, Lund University | University of Cambridge
PhD Student: Johan Heander, Lund University


Description

Code review (illustrated in Figure 1) is a significant activity within modern professional software development (Davila & Nunes, 2021), where it has been widely accepted as an essential part of professional practice and is one of the key collaborative activities that occur within teams of developers.


However, despite this key role in software development and organisational practice, it is a relatively under characterised activity, especially with regard to the developer experience and to what extent tools are supporting the code review process. In our past work in this area, we have seen mismatches in the tasks the developers are doing and the information they have available (Söderberg et al., 2022a), leading to unnecessary social tensions in teams (Söderberg et al., 2022b). We see issues embedded in the code review tooling, with the most fundamental one being a repeat of the superlativist assumption (Green et al., 1991) that there is one workflow and tool that is best independent of context. The current tooling design gives privilege to certain kinds of development (e.g., application development over UI or data exploration) and certain kinds of review tasks (e.g., lexical diff based review over effect of API change), leaving other kinds of development and tasks under supported. We hypothesise that this one size fits all assumption lies at the heart of many of the problems.

In this project, we seek to expand on this preliminary empirical data and the experimental platform we have built to ask the question: “how can code reviews be made fit for purpose?” That is, how can each stakeholder in the review process receive a tailored experience that fits their informational, social and task activity needs and curates these tailored experiences for others? We hypothesise that such a system would improve productivity and efficiency of code review, but it would also improve the quality of the social experiences that developers have at work. We propose to address this using a mixed-method approach to design, applying our expertise in user-centred design methods for development with embedded sensors and probes (Church & Söderberg, 2019) to gather contextualised feedback and behavioural data. Figure 2 conceptualises the transition from the ‘one size fits all’ model to a ‘fit for purpose’ model where each developer has an experience tailored to their role. This model of adaptive code review tooling doesn’t only reflect a model of how software can be written, but is indicative of a general need of review within distributed teams, in what we today refer to as the ‘new normal’, which incorporates a virtual or distributed work practice (e.g. engineering, legal) (Morrison-Smith & Ruiz, 2020).