Case Study: NetApp

Case Study: NetApp Kubernetes Service

Designing a web-based application management tool for software engineers.

dashboardgif.gif

Company: NetApp
Role: UX/UI Designer and UX Researcher
Timeline: 10 months
Deliverables: UI design, UX research insights, user personas, wireframes, prototypes
Tools: Adobe XD, Sketch, InVision, Optimal Workshop
Challenge: Our goal was to build an app that could be used by ANY engineer or developer, regardless of their experience.

Project Details

 

NetApp is a data storage company that builds cloud and on-premises software and hardware for companies worldwide. We designed a Kubernetes application to help software engineers modernize their infrastructure and applications.

The Setup

 

Running Kubernetes is challenging. It’s a complex technology and many software development teams that have tried to run their own private Kubernetes clusters, both on-premise and in the cloud, have struggled with it. Many companies hire specifically trained Kubernetes engineers to handle it. Then why bother with Kubernetes? Kubernetes is today’s most widely-used platform for container and microservices orchestration and provides the scalability and flexibility required for deploying enterprise applications. Our goal was to build an app that could be used by ANY engineer or developer, regardless of their Kubernetes experience. We wanted to make NKS simple, transparent and provide a self-service user experience.

With NKS, we wanted to allow users to build applications, run them on Kubeneretes, and manage their clusters more effectively than running Kubernetes on their own. We did this by focusing on:

  • Simplicity of the service. We wanted to allow engineers to deploy their workloads and applications in a simple way that produces less time administering services and more time innovating for their business. The simplicity of NKS allows developers to quickly and with only a few steps, build and deploy their apps by managing concerns that in prior days would cause delays in getting to production.

  • Building a self-service application. We needed clear and actionable logs and notifications so that user could troubleshoot any issues that popped up in their day-to-day.

The Challenge

 

Our UX Design and Research team set out to understand the complex landscape and learn what it takes for engineering teams to build and maintain software applications. Our mission was to redesign and launch a new version of a DevOps tool, a managed Kubernetes solution and build it with the users needs in mind.

STAKEholder research and user personas

This team did not have a UX Research program in place, so it was up to the UX team to set it up. Our product leaders were enthusiastic about our research and placed full trust in us to set it up and run with it.

Our stakeholder and user research helped us determine the user personas that we would need to design for. These user segments helped us understand who we were building NKS for, why they need a solution like NKS and the problems we could solve for them. We began interviewing Subject Matter Experts and stakeholders on our team to gain knowledge and insight.We interviewed key stakeholders to understand the landscape and the product in its current state. Here are the types of questions we focused on:

  • Who are our users or ideal customers? What are their roles? How they will utilize NKS?

  • What should the users be able to accomplish with NKS? What will their day-to-day interactions with NKS be?

  • What do the different types of users want to achieve long term and short term with this technology, and why? How are they currently trying to achieve them (with and without NKS)?

  • What stands in the way of their goals and frustrates them? How can NKS help?

This initial research resulted in four user personas: Executives: Decision Makers, Operators: Power Users Developers: Individual Contributors, Channel Partners: NetApp Partners and Users. View the personas below.

The Research

 

USER RESEARCH

We utilized a discovery research method to help illuminate what we didn’t know about the Kubernetes landscape and to better understand our users needed from a container platform. We spoke with users across the globe who had provided in-app feedback while we transitioned from the Alpha version of our app to the updated Beta version of NKS. Feedback modal As we were transitioning from V1 to V2, we set up a modal that prompted the user to give us feedback on their experience. It was through this method that we learned very specific pain points for users and identified larger features that needed to be added or adjusted.


User Research Goals

We set out to understand the day-to-day operations of our users, how they think about Kubernetes and to further understand who we were building NKS for. We wanted to fully understand why they needed a solution like NKS and the problems NKS could solve. Understand their organizational models around K8s organization and application management.

User Research Results

  • We utilized a card sort to confirm our information architecture. Which led us to alter a few navigational terms in our application.

  • We determined the proper metrics to display to various sets of users.

  • We reconfirmed that we needed actionable alerts and messages in our system to allow the users to understand issues that arise and how they could troubleshoot them.

 

Our Process

Transitioning from Alpha to Beta

We inherited an initial design of the application that Stackpoint Cloud built before being acquired by NetApp. We wanted to simplify their UI, add additional features and reconfigure the information architecture to match user understanding of Kubernetes. We also identified the features to carry over and which ones to drop.

UX Advisory Forum

To improve communication across NetApp and garner feedback from various stakeholders, we set up bi-weekly NKS UX Design Advisory Forum. This session broadened the feedback on our NKS product design and gave us a platform to collaborate with our team to determine the optimal direction for our collective product experience. In this meeting we reviewed visual design, wireframes, prototypes, UX research, etc.

Collaboration with our Front-End Development Team

Our front-end development team was awesome and built things quickly. The design process needed to match their cadence as we worked to improve the product. We collaborated with our developers through Slack, InVision and Zoom to pull together the best solution for each feature.

 

The Design System

In creating an updated UI for NKS, we built a new design system and determined UX patterns that would be foundational to NKS. Our core design principles for NKS:

  • Clarity - the app we were building was data-rich and complex. Our UI components needed to provide the user with clarity around their work.

  • Flexibility - the app was constantly growing and new features were being added every week, we needed a design system that could build upon its foundation and grow as needed.

  • Simplicity - We were building a data-heavy enterprise web application. The data is the star, we just needed to design the app in a way that would highlight exactly the information our users were looking for at any given moment in their workday.

 

The App Design

Below are a few key features from our responsive web application. The feature designs and implementations were the result of an iterative and collaborative, user-focused design process.

Building Kubernetes infrastructure is notoriously complex, our process gives the users as little or as much control as they need. The users are able to create container clusters with just a few short steps or modify advanced settings to meet their n…

Building Kubernetes infrastructure is notoriously complex, our process gives the users as little or as much control as they need. The users are able to create container clusters with just a few short steps or modify advanced settings to meet their needs.

Updating our notification and alert system was another key element in redesigning our user experience. With each message we wanted to send to the user, we asked ourselves: 1. How much information does the user need? 2. What information does the user…

Updating our notification and alert system was another key element in redesigning our user experience. With each message we wanted to send to the user, we asked ourselves: 1. How much information does the user need? 2. What information does the user need in this circumstance? and 3. How do they need to interact with this information?

Our information architecture was built around creating Teams, Workspaces and Organizations to divide the user’s workloads and allow access control for projects. Creating Teams and adding Members is an important part of promoting collaboration within NKS.

The initial version of NKS did not have a dashboard for a landing page, but only a list of clusters created by the user. As we spoke with users, we tested our mockups to determine the most valuable experience for the app’s home page. Our users helped us identify important metrics, which data needed to be aggregated and displayed, and which activity alerts needed to be surfaced. We also added onboarding information to the dashboard for new users.

 

Moving Forward

Ultimately, NetApp made a business decision to go a different direction with their Kubernetes offerings. NetApp Kubernetes Service is going to be replaced with Project Astra, an application data lifecycle management service that simplifies operations for data-rich stateful applications. Although it was certainly frustrating to see our project retired, our UX team will now be focused on a new set of products, Spot by NetApp. We will be able to leverage the UX research data and design insights from NKS to enhance our new products in the cloud native world. Upward and onward!

 

What I Learned

Part of our NetApp team at KubeCon in San Diego! (that’s me on the right!)

Part of our NetApp team at KubeCon in San Diego! (that’s me on the right!)

Working on NKS provided new challenges and opportunities, which is one of the reasons I love working in UX so much. This was my first fully distributed team and project. I found remote work challenging at first, but it quickly evolved into an invigorating and freeing work experience. I learned how to effectively manage my time, find social outlets outside of my Zoom work meetings and how to best communicate with my teammates and project stakeholders.

I also learned so much about software development and cloud native technology and what it takes to truly build, maintain and upgrade enterprise software. I gained empathy and insight into the challenges that software engineers face and that I’ll take with me beyond NKS. Looking forward to our next project!