As enterprises have invested in new developer-oriented technologies, tools, products and solutions, the development process itself has become more difficult to navigate. Advanced security measures, for example, have resulted in increasing process controls, counteracting the overall trend toward fast, agile and iterative engineering.
Meanwhile, the imperative to be agile and iterative has itself created new challenges for developers. Developers today do not just code. They have to Shift Left and adopt modern engineering practices, and also understand what the client wants, which means building a UX skillset to match the software engineering skillset. They need to not only test the code they write, but also release it and subsequently monitor its performance.
Developers end up spending more time navigating complex systems and processes, and less time doing the actual engineering that ultimately adds value. They face an engineering ecosystem requiring significant environment setup time, a pronounced lack of standardization, manual workflows, long test cycles and feedback loops, and high wait times.
These factors result in poor developer experience that leads to lower engineering efficiency, increased re-work, reduced innovation and ultimately higher employee churn and lower customer satisfaction. Developer sentiment, in other words, is intimately connected to core business outcomes.
Developer Experience: The Key to Developer Happiness
Amid all of these emerging challenges, a focus on developer experience is becoming a business imperative. A developer experience strategy examines how each developer touchpoint in the value delivery lifecycle can be made more smooth, effortless and seamless. It aims to ensure that a developer has a positive experience while interacting with the organization, its tools and its systems.
Developer experience is rooted in several factors, including:
Today’s most talented developers are seeking the freedom to focus on building great features, products and applications. They want a seamless, frictionless enterprise ecosystem of tools and systems that provides continuous data-driven feedback. They also want to be part of a vibrant engineering community that shares deep knowledge about best practices, approved solutions and re-useable code snippets to accelerate productivity. Most importantly, they seek an environment defined by a “safe to fail” mindset that encourages rather than disincentivizes experimentation and bold innovation. A robust investment in developer experience can turn those aspirations into a day-to-day reality.
Mapping the Developer Journey
To understand an organization’s current developer experience status, the starting point is to meticulously map out a typical day in the life of a developer. Immediately, numerous moments of non-value-additive work will begin to reveal themselves. Developers find themselves asking for more context in the face of unclear requirements. They wait for an engineering environment to be created so that they can begin actual development work. Before they can hand the code over to the release team, they wait again for code validation to complete.
Based on the findings of the Developer Journey mapping exercise (as seen in Figure 1), engineering leaders can begin to institute solutions. They can deploy requirement analysis bots, automate engineering environment setup, and improve validation with faster code analysis technologies.
While cultural shifts and management practices have a large role to play in improving developer experience, many experience improvement interventions are technology interventions (see Figure 2)—low hanging fruit and can be harvested with a platform.
A Platform-Centric Approach to Improving Developer Experience
While a developer journey mapping exercise can identify gaps and define opportunities for improvement, a Developer Experience Platform (DXP) allows organizations to permanently reshape the entire developer experience. A well-designed DXP can reduce non-value-additive developer work time by 25 to 30%.
Organizations that decide to adopt a DXP often struggle with whether to build a solution or buy one off the shelf. Often, the most efficient and adaptable answer is to acquire a base platform and then build organization-specific customizations on top of it, in consultation with internal SMEs and/or external specialists.
To build or customize a DXP to deliver maximum business value, a design thinking approach can lay out a comprehensive path for real-world improvements in developer experience. A design thinking approach (see Figure 3) assesses and solves for the gaps identified during developer journey mapping and builds the solutions into a unified DXP system. Through a collaborative diverge-converge-diverge-converge approach, a design thinking model takes into account all developer roles and personas and ensures that an organization not only incorporates the right things in the platform but designs the various features with end users in mind.
Building the Developer Experience Platform
Once gaps and opportunities have been identified through the mapping journey and design thinking, the resulting DXP should be built to operate on four distinct levels (Figure 4).
While this layered approach might seem complicated, the objective is to create a radically simple (yet comprehensive) experience layer. The experience layer provides developers with everything they need in their day-to-day work: one-click solutions, intuitive navigation and search functions that allow them to easily locate relevant best practice documentation and essential tools and systems, and quick access to re-useable code.
Colloquially speaking, with a DXP, developers get to drive the car without having to worry about the engine under the hood.
Once established, Development Experience Platforms are often supported by a centralized platform team. However, to maintain a focus on continuous improvement, DXP management should be democratized as much as possible, creating opportunities for the user community to drive further platform development.
According to a recent McKinsey report, a positive developer experience significantly impacts developer velocity, and developer velocity has a profound effect on business outcomes. Organizations with exceptionally strong Developer Velocity Index scores drive revenue growth at a pace that is more than 4 times faster than companies with lower DVI scores. A well-designed DXP system will inevitably translate continuous improvement on the engineering side into measurable business impacts. Projects will be completed on time and within budget, customer satisfaction will increase, and a stronger and better aligned engineering team will drive a stronger and better aligned business.
Vice President, Global Head of Agile and DevSecOps
Wipro FullStride Cloud Services
An experienced and dedicated “agilist,” Ritu drives new ways of working that catalyze digital transformation. She enables teams to respond to paradigm shifts by calibrating their existing systems, processes and tools to adapt to a changing world. Prior to her current role, Ritu headed the continuous improvement initiatives in Wipro, including Lean, Six Sigma and Agile transformation initiatives. She is a certified Black Belt in DMAIC and trained in Lean, CMM®, CMMI®, ITIL® and Agile.