[2/4] What Improves Developer Productivity at Google? Code Quality. (Filed under DevEx)
[2/4] What Improves Developer Productivity at Google? Code Quality. (Rubric #DevEx)
Continue. consideration Developer productivity articles discuss survey problems, which are often used to answer questions about productivity.
Let’s present a survey about the relationship between the self-assessment of engineers’ productivity and the perceived level of code quality. Even with survey results, we have effects that prevent us from finding a causal relationship between code quality and productivity. 1) Time-invariant effects These effects have the same effect at different points in time, e.g., respondents’ education level 2) Respondent-independent time effects These are effects that affect respondents in the same way, such as seasonal effects or major company-wide initiatives. 3) Non-differentiated response effects Respondents tend to give the same answer to all questions. One respondent may have the average answer to all questions, while the other has the highest. But in a panel study, it is possible to eliminate these effects by analyzing data over different periods of time, and there is also an opportunity to try to establish not only correlations, but also causal relationships. Further, the authors describe related research papers and show how time-series data were commonly used and that they can be used to answer some of the questions originally posed in the study. However, these methods have not been used before to analyze developer productivity, and they are not suitable for the type of data used by the authors of this study.
Next, the authors move on to the story about the methods of panel research, where data sources are used.
- Data from the use logs of internal tools, Like data on file editing, builds, codee review and so on. Importantly, these data contain a well-granulated history of the work of engineers that accurately measure the behavior of engineers and characterize the work practices they use and the tasks they perform in doing so.
- **Longitudinal data (polling)**which are carried out through EngSat (engineering satisfaction survery). These are long-term surveys that are collected every quarter from a third of engineers. This is a whitepaper called Measuring Developer Experience with a Longitudinal Survey. told.
The following describes the dependent and independent variables that are used in the study model and explains how we build the model so that it can be answered to the original research questions. The dependent variables are self-assessments of engineers’ productivity, which are taken from surveys. On the one hand, it was this variable that was investigated in other studies and revealed some correlation between subjective and objective studies. The following three categories of metrics were taken as objective metrics. 1) The amount of output (per quater) - It was here. 2 Total number of changelists and total lines of code 2) The amount of time per item (changelist) - It was here. 2 Median active coding time, median well-clock coding 3) The amount of time for non-productive activities - It was here. 2 Median wall-clock review time and median wall-clock merge time
For analysis, the authors collected data 6 consecutive quarters from 2018Q1 to 2019Q2. For analysis, the researchers accumulated about 2 k points and then they built a model that randomly selected 10% of data for validation received 83% precision and 99% recall. And the main predictive factor was Median Active Coding TIme, which seems logical.
This is the end of this post, and next time I will tell Independent variables and the whole model.
#Management #Leadership #Software #SoftwareDevelopment #Architecture #SoftwareArchitecture #Metrics #Devops #Processes