Implementing a DX Roadmap

To implement a DX roadmap, you would first need to map your product. Everyone in the DX organization should have the same mental map of the product or service offered to create the "complete" developer experience.

Once they have a general idea of the product map, they can start designing the DX for the specific journeys developers can take.

A journey map is a tool that helps you understand these journeys better.

Developer Journey Mapping

Journey Map is a standard tool used in UX design to visualize the user's journey - "A journey map is a visualization of the process that a person goes through in order to accomplish a goal." Journey maps help to deliver a vivid narrative of a customer's interactions, overall needs, and pain points as they use a product. A corresponding tool that is useful in DX is the Developer Journey Map.

A developer journey is the sequence of steps that developers follow to achieve something using our products and their interactions along the way. At a high level, a journey is a combination of

Journey mapping is a practical and valuable tool that helps visualize the end-to-end experience from the developers' perspective. The following illustration depicts the stages involved in a typical developer journey. Note that many different journeys may be defined for every goal, role, and context combination.

The level of developer-product interaction increases from left to right. The journey involves several internal and external touchpoints where developers might interact with one or more aspects of the product. The success or failure of these interactions in terms of how the developer feels about them creates the overall developer experience. The map helps identify points of friction that can be optimized to create a better overall experience.

The following table defines each stage in the developer journey map.

Stage Definition
Discover Developers come across one of the products when looking for solutions or otherwise.
Evaluate Developers analyze if the product fulfills specific use cases relevant to them.
Learn Developers sign up and try the product by creating a basic app or following a tutorial.
Build Developers use the product for a real-world use case.
Scale Developers grow with the product and become part of the community.

Journey maps help identify accessibility issues at each stage and ensure that all target users can access the product in their respective roles.

Critical developer journeys

Critical developer journeys are the ones that are either frequent or very important to developers—the ones we have to get right if we, and our developers, are to be successful.

Any non-trivial product or set of related products will have a very large number of possible journeys, which means it can be challenging to identify which journeys should the DX team focus on the most.

The team can start identifying critical journeys by reviewing existing metrics, such as task completion or abandonment rates and customer or support channel feedback. This would help identify areas in the product that cause friction.

When identifying critical journeys - note that.

  1. Findability is a crucial characteristic of DX. Discovery and comprehension are just as important as product functionality. Thus, the journey involved in finding information about a product is also critical.
  2. Consider both Toothbrush and Pivotal journeys. Pivotal journeys include those which may only apply to a subset of the developer base. For example, developers will only go through some journeys once, such as discovery and registration or installation.

Plugging cognitive leaks

As discussed earlier, bad DX can lead to slower iterations and distractions that derail the development process and cause cognitive drain.

Identifying such potential derailers in the developer journey early should be a part of DX design. Kathy Sierra has talked extensively about the effects of cognitive drain and discussed methods to ensure users remain engaged and focused.

The first step towards preventing cognitive drain is acknowledging everything that could go wrong or lead to confusion when someone uses your product. Reducing choice through defaults, automating tasks, and making it easier to focus can help to increase developer engagement.