Many software developers struggle to understand code written by others, leading to increased
maintenance costs. Research on program comprehension to date has primarily focused on individual
developers attempting to understand code. However, software developers also work together to share
and transfer understanding of their codebases. This is common during the onboarding process, when
a new developer has joined a project or a company. The work reported here uses a Grounded Theory
approach to explore the different types of information passed from experts to newcomers during
onboarding, and the perceived value of these types. The theory is grounded in field-study data
collected during twelve in-situ onboarding sessions, across eight organizations, with a design based
on two pilot studies that were carried out in advance. The field-study data was supplemented and
validated with interviews and questionnaires. It provides a description of four views through which
the experts represent their code to the newcomers, revealing several interesting aspects of expert-led
program comprehension. In particular, it provides evidence that extends current thinking on the
temporal aspect of code: where experts discuss changes that have been made to the code-base,
changes that are currently being made to the code-base (including temporary fixes) and changes
intended for the code-base in the future. In addition, a rationale-based view of the code-base is
emphasized in the findings, making explicit the system’s functional/non-functional requirements, and
their impact on the system’s design. This information was perceived as highly valued by the
newcomers. Additionally, Structural and Algorithmic views, which have already been firmly
established in program comprehension literature, were also noted in these onboarding sessions.
History
Publication
Empirical Software Engineering;25, pp. 940-955
Publisher
Springer
Note
peer-reviewed
Please see second file for correction to this item