Skip to content
#DevEx

[3/4] What Improves Developer Productivity at Google? Code Quality. (Filed under DevEx)

#DevEx #Management #Leadership #Software #SoftwareDevelopment #Architecture #SoftwareArchitecture #Metrics #Devops #Processes

[3/4] What Improves Developer Productivity at Google? Code Quality. (Rubric #DevEx)

Continue reading about developer productivity (1 and 2) Discussion of independent variables, as well as the construction of the model.

Independent variables The authors took as a hypothesis 42 Independent variables that they believe could affect productivity. These are 42 variables collapsed to 39 After checking for multicollinearity. These data were available from logs and survey results. All of these variables were broken down into 6 category

  1. Code quality & technical debt These factors are related to code quality and technical debt, which are further understood in detail. By the way, the authors wrote some interesting articles.
  • "Developer productivity for Humans, Part 7: Software Quality" - an article about quality that I already have handler Defining, Measuring and Managing Technical Debt handler Dima Gaevsky on the podcast Research Insights Made Simple, and handler separately
  1. Infrastructure tools & support Here is a story about the choice of tools, as well as the operation of infrastructure. Some of these factors were discussed separately. “Build Latency, Predictability, and Developer Productivity” is an article about the importance of not just building time, but its predictability and how it affects productivity. told
  2. Team communication - here the authors talk about communication, distance from managers, code review. Some of this was discussed by the authors in further articles.
  • "Developer Productivity for Humans, Part 2Hybrid Productivity is an article about how remote work and remote communication during COVID affected productivity. told before
  • "Developer Productivity for Humans, Part 5Onboarding and Ramp-Up is an article about how the onboarding process works and how COVID has influenced it. I told before
  1. Goals & priorities It’s about clarity of purpose and changing priorities.
  2. Interruptions Here the authors measure the impact of meetings.
  3. Organizational & process factors Problems due to processes, reorganization and movement of people

Next, the authors used a quasi-experimental method of using panel data to build a relationship between perceived productivity and independent variables: yit = αi +λt +β * Dit + εit Where y is the self-assessment of productivity for the engineer i at t α are time-independent unobservable parameters of the engineer, such as education or skill level λ are engineer-independent effects over time, such as company-wide policy changes or seasonal effects (Like the January holidays in Russia) Dit is measured productivity factors for engineer i at time t β is the causal effects of productivity factors Dit at time t

  • εit is an error during t

Next, the authors take the derivative and get the formula Δyit = Δλt + β * ΔDit + Δεit, where

  • Δλt = γ0 + γ1 * T and Δ means the difference between adjacent time intervals T is a category variable, meaning the difference between periods. After differentiation, αi disappears from the level, and Δλ can be clearly controlled, which indicates that αi and λt do not distort the results.

Feasible Generalized Least Squares (FGLS) They build correlations between dependent and independent variables and estimate absolute effect and statistical significance. The results and limitations of the study will be last.

#Management #Leadership #Software #SoftwareDevelopment #Architecture #SoftwareArchitecture #Metrics #Devops #Processes