Why you should invest in good Developer Experience today

By Jacob Bo Tiedemann & Tanja Bach

In over 50% of organisations, software developers only spent 30–40% of their time on feature development ( State of DevOps 2018; 2019). While DevOps and Continuous Delivery solve specific problems to increase the time spent on value-adding activities, your organisational performance is determined by more than a gap between development and operations. Improving the overall developer experience is essential to increase the developer effectiveness. In this article, we will share with you reasons to invest and key approaches to set your developer and thus, your business up for success.

Developer Experience (DX) encompasses all aspects of the developer’s interaction with the organisation, its tools and systems.

How bad developer experience looks like

We observe the impact of bad developer experiences in different technological landscapes across industries. A root cause for bad developer experiences is not considering the developer as a customer. Without taking the perspective of the developer and conducting customer research, the viability of the provided product or service is unproven. Instead of solving real developer problems, the solutions are at risk of unnecessarily increasing the complexity for development teams. Eventually, the time-to-market for software increases when developers are bound to bad developer experiences, and while those are sometimes very domain and context specific, repeating patterns are:

You are losing money

Poor developer experiences lead to a low developer effectiveness and organisational performance. Let’s look at a few examples of why you should invest in a good developer experience:

Accelerating Software Delivery accelerates Time to Market

Constraints and problems in the developer journey are an opportunity to accelerate the software delivery. In one of our automotive projects, we learned that the unavailability of hardware and manual steps in the testing process led to a 2–3 week testing cycle for the developers. This included waiting on time slots with a hardware test bench and also physically moving to another building with all necessary equipment.

Because this task was performed several times a week and was core to the software quality, the leverage of solving this problem was high. By enabling remote updates and automated tests on the test benches, the test cycle time could be reduced from weeks to hours. The developers benefited from a compelling experience that also encouraged more testing. The accelerated software delivery enabled the business to bring software into the hands of the customer way earlier — and with higher quality.

Flexibility enables Experimentation enables Innovation

One reason why organizations move to a cloud infrastructure is the flexibility and ease of being able to scale computing power. But why is that so important? One trigger definitely is the potential of cost savings. Why rent new server capacity for a whole month if you only want to do a load test that can be done in less than a day?

However, there is another — probably even more important — factor that a cloud infrastructure provides and that is flexibility. Teams can not only autoscale by ‘pressing a button’ but also have a vast variety of services at their disposal. This flexibility of using out-of-the-box services and compelling APIs is a huge incentive to start experimentation and potentially innovating without taking big risks or making huge investments that might not pay off.

Attract and retain IT Talent

Are you motivated if you feel unproductive, blocked and waiting for most of the day? Probably not. What motivates most individuals also applies to developers. Motivation creates a flow that fosters creativity for the benefit of your organization.

With several innovative companies around, all competing for top tech talent, organizations cannot afford anymore to not invest in an environment that allows developers to do what they came for: ship awesome features that delight your customers.

How you can achieve a good developer experience

A good Developer experience requires more than reducing a gap between Dev and Ops and providing Continuous Delivery tools. If you seriously want to increase your developer effectiveness, and thus, accelerate your business goals, you should try some of the following approaches:

Get invested in your developers’ experience

A bad developer experience decreases your developers’ effectiveness. A good developer experience will get your features into production fast, reliable and safe. You should invest in the second. Taking the developers’ perspective will benefit your business.

Originally published at https://www.thoughtworks.com on May 10, 2021.

A community of passionate individuals whose purpose is to revolutionize software design, creation and delivery, while advocating for positive social change.

A community of passionate individuals whose purpose is to revolutionize software design, creation and delivery, while advocating for positive social change.