We are not the same - Managing Developer eXperience (DX)
Published on 27 October 2022 by Arjan Franzen
not the same
If you have any internal development tools, platforms or services in your organisation that you found super easy and pain-free to onboard, then you are lucky!
Put yourselves in your users' shoes
From our experience, it's still surprising when you immediately get access to all the necessary parts of an infra platform on the first attempt. Imagine a world where you have spent time and effort to build your infrastructure platform, and teams who onboard say “wow, that was easy!”. This should be your aim, no matter your reason for building an infrastructure platform! Things don't always go so well if you have to mandate the usage of your infra services, so you will have to make an effort to make people want to use your product.
When building an infrastructure platform, for some strange reason, we forget to design a great system from a user experience perspective. It's easy to forget, but it's just as crucial if you want people in your organisation to enjoy using your platform products. So make sure that someone in your team is driving the end-to-end service design of your infrastructure product, whether it is a developer, business analyst (BA) or user experience (UX) person.
What is Developer eXperience?
A great developer experience gets out of the way of engineers, leaving the developer in a flow state. Good Developer Experience (DX) allows developers to be more effective by making the good thing easy – in areas such as testing, security and observability; this is increasingly important. In addition, good DX allows a 'shift left' situation for productivity. 'Shift Left' is a practice that originates from the Build-Quality-In tenet from Lean/TPS. It states that you'd focus early rather than late on quality aspects of your production line, like software testing, security or, in this case, productivity through Developer Experience.
DX removes points of friction in setting up environments. DX is coding without yak-shaving. Good DX is an iPhone moment.
Do I really need to Manage our Developer eXperience?
In 2022 it's evident that the old-fashioned approach of no DX cannot stand. FAANG and startup companies are increasingly building DX teams to work with platform teams to improve overall organisational productivity and development velocity. Spotify's Backstage, the open-source platform for building developer platforms is gaining traction because organisations want developers to spend more time coding and less time thinking about and working on infrastructure. Enterprises, too, are acknowledging the need to improve toolchains and developer productivity by measuring and lowering the 'cognitive load' of feature teams and platform teams.
Effective or Efficient Software Development?
Development efficiency is obtained when your organisation becomes proficient in software development and delivery. Development efficiency means: you “spend less” and still get the same result: working software. The efficiency comes from a reduced need for learning the problem domain, basic services required for software delivery and forming of a code library and patterns for development.
After this phase, it is important to set a path to transform towards an effective development organisation. An effective development organisation builds software that has more impact and is outcome oriented rather than cost oriented. Conversely: if you continue to focus on Development Efficiency you will “race to the bottom”. Technical Debt will start to build up inside the code base, engagement of engineers will start to wane and, after some time, the development process will become slow, inefficient and unstable.
To aim for development effectiveness means we should be thinking about the needs of ‘the 99%’ of engineers. A good first step is to value-stream-map the process of software development and start to identify wait-states and defects in the development flow. Then task a DX team (or set up a DX Guild) to handle the impediments and improvements from the analysis to improve the flow of software delivery. Managing the Developer Experience (DX) is now part of the organisation and with the right tools you will see the engagement of engineers rise, technical debt lowered and the delivery flow improved!
Conclusion
With the number of distractions from coding becoming ever more prevalent, it's increasingly important that all toil is removed, the focus is measurable, and all quality aspects are 'built in' as much as possible. The main focus of a team should be 'sprint work' and not all the tasks that come with it, yak-shaving, compliance tasks and waiting. ZEN Software DevOps Accelerator provides the solution to solve challenges … It includes a Developer Portal, Single Sign On and Agile Analytics to enable a secure build environment, delivery pipelines and a hyper-scale production platform. As a result, ZEN DevOps Accelerator will improve your organisation's software development impact. So start optimising your software operation today using ZEN Software's DevOps accelerator.
Supercharge your Software Delivery!
Implement DevOps with Agile Analytics
Implement Site Reliability with Agile Analytics
Implement Service Level Objectives with Agile Analytics
Implement DORA Metrics with Agile Analytics