Developer Experience

What is developer experience

Developer experience (DevX, DevEx) describes the environment, processes, and culture within which software development takes place, affecting developers’ ability to transform concepts into functional applications. It covers the emotional aspect of developers’ interactions within an organization, influenced by managerial principles and organizational norms and all aspects of the technology stack, including tools, libraries, SDKs, platforms, APIs, services, and code.

It evaluates how they contribute to developer productivity, satisfaction, and operational effectiveness. DevEx places developers at the forefront, prioritizing their feelings and thoughts about their work.

Why is DevEx important?

The landscape of available technologies, libraries, languages and services has become increasingly unmanageable. Each day, new technologies and tools emerge. While the variety is good, it has resulted in developers being constantly in a learning mode, striving to understand how all these components work. This means that the whole development process is becoming more complex.

This scenario highlights a poor Developer Experience and shows why it matters. In short, DevEx enables developers to work in an environment which supports them to do their work and make it as easy and as frictionless as possible. DevEx leads to increased developer productivity and can reduce time to market which impacts revenue growth.

Developer Experience and Developer Productivity

At the moment, there is no industry standard to measure DevX. But according to DevOps Research & Assessment (DORA) these KPIs could be a starting point:

  • Deployment frequency (DF): how frequently an organization releases new software
  • Lead time for changes (LT): the time taken from when a change is requested or initiated to when it is deployed
  • Mean time to recovery (MTTR): the average time it takes to recover from a failure
  • Change failure rate (CFR): the percentage of changes that result in a failure

More tailored to DevX is the approach from Abi Noda, Dr. Nicole Forsgren, Dr. Margaret-Anne Storey, and Dr. Michaela Greiler The framework describes three core dimensions for DevX: feedback loops, cognitive load, and flow state. Based on these three dimensions they introduce a KPI framework.

DevX Metrics (Source: DevEx: What Actually Drives Productivity)

 

What are ways to improve developer experience?

Here are a few suggestions:

  • Schedule a quarterly meeting with your developers and speak about their pain points. Make an action plan on how to tackle these pain points.
  • Create a survey and ask about their pain points in the current dev workflow (anonymised). Make an action plan on how to tackle these pain points.
  • Automate tedious manual tasks.
  • Make sure devs have enough uninterrupted time for their coding tasks.
  • Tackle issues with local development – In a survey of Gitlab users, 61% of the developers surveyed report spending time troubleshooting their local development environment at least once a month – 31% even at least once a week.