I remember this paper making the rounds a few years ago when it came out.
My issues with it as I recall:
- there's no objective definition of "productivity". Engineers were only asked how they feel about their productivity and that was used as the measure.
- the same thing with "quality". There was no objective measure. It was up to the respondents to answer how they felt about the quality of the codebase they were working on. This is clarified in the abstract:
> We find that increases in perceived code quality tend to be followed by increased perceived developer productivity, but not vice versa, providing the strongest evidence to date that code quality affects individual developer productivity.
(emphasis mine) IMO the title makes a misleading and stronger claim than what is actually found by the study.
- there were no metrics taking into account the length of time someone had worked on the codebase. My theory is that the longer someone works on a codebase, the more they'll understand the codebase. The more they understand the codebase, the more productive they'll be working with it. They will also perceive it as being higher code quality than when they started because they understand the code better and they've likely made improvements to the code over time as they've worked on it. As mentioned, unfortunately this metric was not captured during the study.
mattm•11m ago
My issues with it as I recall:
- there's no objective definition of "productivity". Engineers were only asked how they feel about their productivity and that was used as the measure.
- the same thing with "quality". There was no objective measure. It was up to the respondents to answer how they felt about the quality of the codebase they were working on. This is clarified in the abstract:
> We find that increases in perceived code quality tend to be followed by increased perceived developer productivity, but not vice versa, providing the strongest evidence to date that code quality affects individual developer productivity.
(emphasis mine) IMO the title makes a misleading and stronger claim than what is actually found by the study.
- there were no metrics taking into account the length of time someone had worked on the codebase. My theory is that the longer someone works on a codebase, the more they'll understand the codebase. The more they understand the codebase, the more productive they'll be working with it. They will also perceive it as being higher code quality than when they started because they understand the code better and they've likely made improvements to the code over time as they've worked on it. As mentioned, unfortunately this metric was not captured during the study.