/images/devex.jpeg

Why You Need to Care about Developer Experience and Productivity

Modern engineering teams are driving their systems through the entire software lifecycle, but they could do it more efficient

by Mihai Ratiu, Feb 15, 2024

Recently, many technology companies discovered that developer productivity is an important factor for product teams to be able to focus to continue delivering their core business values.

More and more companies discovered than an autonomous model (“you-build-it-you-own-it”) for their Agile teams, that is map to a specific business domain works for them, and the teams are taking full ownership from product feature discovery, to being on-call for any incidents might happen in production. With that in mind, different organisational patterns emerged, like platform engineering teams, that are centralising common aspects and practices that are repeatable between different product teams, and usually taking responsibilities throughout the enitre software development lifecycle, from build, deployment, and then through testing, security and fast-forward to production practices like release procedure, observability, incident management or on call.

Some words about Developer Productivity (DevProd)

Developer Productivity is the practice of efectiveness of developers in creating, maintaining and improving their software systems, by analysing and giving practical advice for the entire software development lifecycle. Here are some key factors that were identified and that can be applied to impact developer productivity:

  • Tooling: Providing developers with the right tools for coding, debugging, version control, testing, deployment and observability can significantly enhance their productivity. This includes integrated development environments (IDEs), code editors, collaboration platforms, deployment platforms or observability tools.

  • Automation: Automating repetitive tasks such as building, testing, and deployment streamlines the development process and frees up developers to focus on more creative and high-value tasks.

  • Code Quality and Standards: Enforcing coding standards, best practices, and code reviews help maintain code quality, readability, and consistency, reducing the time spent on debugging and maintenance.

  • Standardisation and Governance: Effective standardisation, naming conventions, configuration, architecture decision records, security standards and governance like registries for applications or teams, smooth onboarding and offboarding processes, self service mechanisms

Beyond those practical aspects, some of these organisational aspects are identified to help improving the productivity:

  • Collaboration and Communication: Foster a culture of collaboration and effective communication within development teams, enabling knowledge sharing, problem-solving, and faster decision-making.

  • Continuous Learning and Skill Development: Encourage developers to continuously improve their skills and stay updated with the latest technologies and methodologies through training, workshops, and mentorship programs.

  • Clear Goals and Priorities: Providing clear project goals, priorities, and expectations helps developers focus their efforts on the most important tasks and deliverables.

  • Monitoring and Metrics: Utilizing metrics and key performance indicators (KPIs) to track developer productivity, such as code churn, time to resolve issues, and sprint velocity, can help identify areas for improvement and measure the effectiveness of process changes.

Some words about Developer Experience (DevEx)

Developer Experience is the study that blends both practical and pshychological aspects of developers as human beings, that allows them have a great experience while performing their knowledge work. The ultimate goal of Developer Experience field is to try to analyse how the developers can be incentivised and helped to achieved the maximal flow state while minimising the cognitive load that can surface along the duration of one working day.

DevEx major components Source: <a href="https://queue.acm.org/detail.cfm?id=3595878">DevEx: What Actually Drives Productivity</a>

DevEx recently gained attention to business leaders with the fact that intuitively, increasing the developer experience, enables better software delivery and also improved developer satisfaction. While this assumption is still emerging, a different number of studies are ran at major tech companies to prove that the correlation is real, how else, than with data, and applying the beauty of scientific method by proving hypothesis.

Measuring developer productivity

Measuring developer productivity is not straightforward, but different major tech companies already went a long way deciding what measures to use to gain enough insights to see if their actions were effective. There are 2 types of measurements, both with a level of subjectiveness embedded, that are used. One is taken directly from systems, and is a “cold” measurement, for things like ie code review time, deployment time, CI time and the other is a “warm” measurement and is taken directly via surveys from individual contributors via continuous surveys and questions, that are usually perceptions. Both measurements are then used to create a metric framework that is then interpreted as data for productivity.

SPACE or DORA metric frameworks are more and more commonly used to determine productivity of the engineers at various companies.

Developer Productivity Example Metrics Source: <a href="https://queue.acm.org/detail.cfm?id=3595878">DevEx: What Actually Drives Productivity</a>

How this can help your business

Companies like Microsoft (Github), Google, eBay, or Netflix are already using Developer Productivity practices embedded inside their core business. Companies using and measuring Developer Productivity

As you could see, creating the framework to measure Developer Productivity and Experience requires some initial setup for your business, and the ability to collect the measurements required to create the right productivity metrics.

References

  1. DevEx in Action
  2. DevEx: What Actually Drives Productivity
  3. The SPACE of Developer Productivity
  4. Measuring Developer Productivity: Real-World Examples
  5. DX Website