Developer Experience

Summary

Empowering teams of enterprise developers to get started more effectively on the IBM Cloud

UX Design
UI Design
User research
Web design

Developer Experience designs

The Problem

The experience for a developer trying to use the IBM Cloud Platform wasn’t great. Resources like documentation, tutorials, SDKs, and API docs were scattered all over the place. It wasn’t clear which services could be used together and how.

Additionally, the getting started experience was inconsistent from one service to another, requiring devs to learn a new process each time they provisioned something.

Dev Experience User Flow | Maria Burke UX Design

Project goals

Create a consistent experience for developers to get started and evaluate products on the IBM Cloud.

My Role

When I joined, the design team was stuck in a reactive cycle — issues kept coming up with proposed designs, or worse yet features would be slated for development without design input, causing the design team to have to work out designs in very little time.

We didn’t have adequate time to ask questions or work through problems, and we weren’t able to produce our best work. My priorities were to get design ahead of development, work on the communication with our development team, and to get design involved in the decision-making and strategy process.

Explorations for wedding party colors
Moodboard

Eventually I took on the role of leading the design direction & vision, working a sprint or two ahead of the rest of the design team, while constantly communicating with and getting feedback from the rest of the disciplines on our team.

This allowed the rest of the design team to work a sprint or so ahead of the dev team, and to be involved in the design direction while also addressing immediate needs as they (inevitably) arose.

Dev Experience Key Gaps | Maria Burke UX Design
Dev Experience User Flow | Maria Burke UX Design

Workshops

I ran several working sessions with the internal team to build trust and make sure everyone was aligned on our goals and direction. From these sessions we created a master list of prioritized user needs, which we either mapped to existing efforts or marked as needing work.

I took the needs we weren’t yet addressing and worked with our product manager and research team to validate them and develop a strategy to address them.

Dev Experience Getting Started Pages | Maria Burke UX Design

Solution

Over the course of a year, our team delivered valuable experiences for both our main users: developers and the product teams we were working with.

For developers using the IBM Cloud, we delivered consistent getting started experiences, which included a central location for resources (docs, tutorials, SDKs, etc.) and applications. Our team also created a framework for starter kits, which are pre-packaged groups of resources (services, SDK dependencies, unit testing and language frameworks, delivery pipeline, and core logic) that developers can use to start building an application or microservice on the IBM Cloud.

For our product teams, we delivered a branded area for them to showcase their products, and an easier way to create, customize, and update content using a common CMS.

developer portal

Outcomes

In the first two months of our public launch, the Developer Experience generated 10% of all new users to the IBM Cloud Platform and was responsible for 23% of all new paid users. Our total conversion to paid accounts was 3x better than than the overall platform.

In one quarter alone, our experience was responsible for bringing in 21,467 new trial users to the Cloud. 70% of those new trial users provisioned resources using our experience, and 3.5% of those users converted to paid accounts (which is a 230% increase over the platform’s standard rates). What’s more, these numbers were double our initial targets.

Our conversion rates have continued to improve as we continue to deliver updates. In the beginning of the next quarter, we accounted for 32% of all paid account conversions to IBM Cloud which was up 23% from the end of the previous quarter.