[2/2] Measuring Engineering Productivity (from Software Engineering at Google) (Category Productivity)
Continue. firstThe study readability process, in which the authors formulated a goal for developer productivity, decomposing it into five separate components with a sonorous acronym. QUANTS:
- Quality of the code - the quality of the code, test cases, architecture, etc.
- ATtention from engineers – how often engineers reach a flow state, how many context switches they have.
- InTellectual complexity – how much cognitive load occurs when performing a task. What is the balance between inherent and introduced complexity (conditionally, there is an internal complexity of the problem, and there is an additional one, which is introduced by our processes, tools, etc.)
- Tempo and velocity - speed of problem solving, bandwidth (number of tasks per unit time)rate of supply of changes
- Satisfaction – how satisfied engineers are with their tools, how satisfied they are with their work and the products they create, how much they feel burnout
Next, the authors of the study about readability laid out their goals for this 5 criteria:
- QuEthics of the code: Engineers write better code as a result of the readability review process.
- Attention from engineers - the authors did not set any goal on this point.
- Intellectual complexity – engineers learn Google’s codebase and best practices as a result of the process, and receive mentoring from experienced employees
- TEmpo and Velocity – Engineers perform work tasks faster and more efficiently as a result of the process
- Satisfaction – engineers see the benefits of the readability process and feel positive about participating in it
Next, the authors recorded the expected signals and metrics and conducted a study. Interestingly, almost all topics were covered by metrics from surveys. (Quarterly survey and separate readability survey) and only part of the tempo/velocity pro is partly based on metrics from logs: by median time review Changelist (ala).
In general, the results of the study showed that the readability process is beneficial even in the most instrumentalized languages. (C++, Java). Therefore, the process itself remained in place. (at least at the time of writing the book 2020 year).
#Engineering #Software #Bigtech #Productivity #Management #Leadership #Processes