Developer Experience

End to End Developer Experience

Bare Metal, Kubernetes, and Runtimes, Oh My!

IBM has a robust development cloud platform, IBM Bluemix, but many developers don't know about it or have problems finding exactly what they need within it. How might we get people into Bluemix and sign up and how could we direct them to what they need more efficiently?  We needed to learn the developer's entire experience from searching for a cloud platform to scaling and DevOps.

 

Speaking Dev

First, I had to learn how to talk the talk. I come from a design background, and took one engineering class at school, but this was so out of my league. In a matter of 8 or so months, I've become an (almost) pro. I've learned as much as I did by asking "What does that mean?" over and over and having developers give me "Development for Dummies" lessons. I noticed that other designers on our team were having issues understanding the content so I created a Development Dictionary so they too could learn how to talk "dev." It has helped our design and development teams communicate immensely. 

 A portion of the initial Developer Dictionary I created for our design team.

A portion of the initial Developer Dictionary I created for our design team.

 I ended up creating a public-facing website to help our design team.

I ended up creating a public-facing website to help our design team.

Break It Down

As a research team, we broke up the entire development experience into five sections and tackled it one by one. We started where developers start, searching for a cloud platform when they have a new project and investigating what they look for in a great cloud platform. First, we did competitive research by talking to users of other platforms and what they loved and hated about their experience using it. 

 

We interviewed numerous people and based on patterns from their stories, we came up with the six qualities that should be shown in an entry point page. But in reality, it all came down to trust. Will users trust our product? Will they trust that it won't go down and their information is safe? Do they trust that the experience will be painless and they won't need to spend countless hours navigating the site?

 The six deciding factors when choosing a platform service.

The six deciding factors when choosing a platform service.

We conducted a design thinking session with the managers and leads on our team and ended up with two personas based on the research we had done so far. They covered all the common patterns of the two users of cloud platforms: the decision maker (the experienced developer) and the influencer (the newbie).

 

During this time, our team got merged with a couple other teams, expanding our research responsibilities. These teams included specific runtimes/languages, so we now had to focus on Swift, Node, and Java users and find out specifically what they need.

 

Since there are multiple entry points to get into Bluemix and it was confusing to the users, our team created a website to have an easy entrance point (and one entrance point) into Bluemix. We made sure to cover both of our personas and all three of our runtimes. The newbie wants to learn about the product and understand why they should be here. The experienced developer skips all of this and wants to jump right into the code.

We conducted a card sorting exercise with users to see what information they would want on that entry page and how it would be organized. We gave them cards with different aspects of marketing pages that we sourced from other marketing pages and from learning what users look for. We had them group the cards by what they wanted to see on this page and in which order. This helped us understand what information should be included and in what order on the page.  

 

We discovered through usability testing and user interviews that users go in wanting to view a new product language-first. Why waste their time looking at a product that doesn't even support the language(s) they already know? It's less likely that they will learn a new development language in order to use a product. They will either do it the long way or find another product that works for them. So towards the top of the page, we included the option to choose your language.

Sometimes just jumping into a product can be too broad, so a starter or sample app helps the developer get their feet wet and play around with the service. We made sure to include this on the front page so it was easy to find and both experienced and novice developers could immediately jump in.

 

Looking Back

This project made me realize that some things are just out of your hands and you need to work within your boundaries. What we really needed was better SEO since IBM Bluemix doesn't show up in any of the Google searches we tried or from which search terms developers actually use. But sometimes you gotta work with what you got and make the best solution possible.