How do you measure and maximize developer productivity?

2.6k viewscircle icon2 Upvotescircle icon6 Comments
Sort by:
VP of Engineering in Banking2 years ago

There is a recent paper published in ACM that talks about how to understand developer productivity, "DevEx: What Actually Drives Productivity" (https://queue.acm.org/detail.cfm?id=3595878).

The paper outlines 3 core dimensions of developer experience & productivity to consider:
• Feedback loops
• Cognitive load
• Flow state

If you are a podcast listener, you can also check out my podcast episodes discussing this topic with the authors:
• #134 - A Developer-Centric Approach to Measuring and Improving Productivity - https://techleadjournal.dev/episodes/134/
• #112 - Developer Productivity and Experience - https://techleadjournal.dev/episodes/112/

Senior Director Of Technology in Software2 years ago

Set clear goals and expectations: Clearly define project goals, deliverables, and expectations for developers. This provides them with a clear direction and purpose, which can increase productivity.

Provide the right tools and resources: Ensure that developers have access to the necessary tools, software, hardware, and resources they need to perform their tasks efficiently. This includes providing powerful development environments, version control systems, documentation, and relevant libraries or frameworks.

Encourage collaboration and communication: Foster a collaborative and open culture where developers can easily communicate, share knowledge, and seek help when needed. This can be achieved through regular team meetings, code reviews, pair programming, and the use of collaboration tools.

Prioritize and manage tasks effectively: Help developers prioritize their tasks by providing a clear understanding of project priorities and deadlines. Utilize project management methodologies like Agile or Kanban to break down work into manageable tasks, set realistic timelines, and ensure efficient task allocation.

Support ongoing learning and skill development: Encourage developers to continuously enhance their skills through training, workshops, conferences, or online resources. Allocate time for learning and experimentation to stay up-to-date with new technologies and best practices.
Set clear goals and expectations: Clearly define project goals, deliverables, and expectations for developers. This provides them with a clear direction and purpose, which can increase productivity.

Provide the right tools and resources: Ensure that developers have access to the necessary tools, software, hardware, and resources they need to perform their tasks efficiently. This includes providing powerful development environments, version control systems, documentation, and relevant libraries or frameworks.

Encourage collaboration and communication: Foster a collaborative and open culture where developers can easily communicate, share knowledge, and seek help when needed. This can be achieved through regular team meetings, code reviews, pair programming, and the use of collaboration tools.

Prioritize and manage tasks effectively: Help developers prioritize their tasks by providing a clear understanding of project priorities and deadlines. Utilize project management methodologies like Agile or Kanban to break down work into manageable tasks, set realistic timelines, and ensure efficient task allocation.

Support ongoing learning and skill development: Encourage developers to continuously enhance their skills through training, workshops, conferences, or online resources. Allocate time for learning and experimentation to stay up-to-date with new technologies and best practices.

Lightbulb on3
Director of Engineering in Finance (non-banking)2 years ago

Developer productivity is a function of various parameters such as Individual skills and competencies, team collaboration & environment, culture of continuous learning and improvement, and right tools and resources etc.

Building software is a team game. Everybody on the team has to keep performing to meet the standards and ensure delivering on the targets. So, developer productivity is directly proportional to the overall team’s objectives and goals and can be measured accordingly. It could be lead time and cycle time, quality of the code, unit test coverage etc.

Maximizing the productivity would involve enhancements across all the parameters mentioned above. 

Lightbulb on1
CIO in Education2 years ago

Most of my productivity measurements are based on outcomes.

Lightbulb on2 circle icon1 Reply
no title2 years ago

Would love to see some examples. 

Chief Technology Officer in Services (non-Government)2 years ago

The answer depends a bit on the meaning of the word productivity ie outcomes vs output.

Focus on driving client outcomes is recommended and DORA metrics
1. Time to market
2. Frequency of releases
3. Change failure rate
4. Mean time to recover

are quite useful in measuring state of the development system.

One might then also calibrate an individual’s alignment to these metrics and perhaps look at it from the lens of productivity.

Lightbulb on3

Content you might like

Yes76%

No17%

We are in the process of selecting an EA tool8%

View Results

Approvals take too long30%

Too many interviews required38%

Too many stakeholders involved38%

Hiring processes are unclear33%

Market salaries are too high30%

Lack of skilled candidates28%

Other (please list in the comments)

View Results