What is it about?

Counting lines or changes ignores the fact that each task has different value and difficulty and junior developers do work that is very different from project veterans. It turns out that we can gauge the difficulty and importance (centrality) of a task by computing eigenvalues of change and call graph where nodes are authors, changes, and files and links represent authorship, call, and include relationships. Incidentally, eigenvalues corresponding to each node of the graph are also called "centrality"

Featured Image

Why is it important?

Measuring value of developer output is one of three key software engineering challenges. Existing approaches that count lines of code or changes are not only easy to subvert, but also ignore systematic differences between tasks undertaken by junior and veteran developers.

Perspectives

This work replicates a decade-old industry study and finds similar patterns: the centrality of developers increases with project tenure, but productivity plateaus after six to 24 months.

Audris Mockus
University of Tennessee Knoxville

Read the Original

This page is a summary of: Modeling the Centrality of Developer Output with Software Supply Chains, November 2023, ACM (Association for Computing Machinery),
DOI: 10.1145/3611643.3613873.
You can read the full text:

Read

Contributors

The following have contributed to this page