IBM Cloud Schematics - Agents
(UX Design)
Overview
Role
UX Designer
Project Lead
Challenge
IBM Cloud users need a way to provision resources using Terraform on their own infrastructure.
Tools
Figma
Webex
Slack
Boxnote
Process
Understand the technology and technical constraints
When I was onboarded onto this product, I wanted to make sure I could hit the ground running. In order to do this, I needed to understand the technology and the outcomes we were trying to deliver. To achieve this, I sat in on meeting with Subject Matter Experts (SMEs), asked questions to our development team, and read up on the documentation that was being drafted. This team in particular also had a feature document that made it easy to understand what functionalities needed to be integrated.
Collaborated with cross functional team to understand the business opportunities
With a foundational understanding in place, I was able to have a clearer grasp on what we were aiming to achieve with this project. I also wanted to understand what the business outcomes were for this project. I, along side other designers on this project and our product managers, put together impact statements as to why this product was necessary. By understanding the current challenges that developers where facing when provisioning resources, we were better suited to help them achieve their outcomes much faster.
Designed the first iteration
Now that we had alignment we were in a much better place to start designing. We used the feature documentation that our design team had developed to guide us on creating some design iterations on how the screens might reflect the objectives the user was trying to achieve. I focused on creating screens that took the user through the Create, Read, Update, Destroy (C.R.U.D.) since that was the process someone in the developer role might focus on.
Played-back first iteration to the team
On our first call I focused on walking through the designs I had been working on to the team and directing the conversation to parts of the experience that I thought could be simplified. For example, we knew that when a user wanted finished the create process, their focus was less on validating the resources and more on creating them. Our development team had suggested we have the users validate the resources first to ensure that they would be successful during the create step. However, keeping the user in mind, I advocated for combining those two steps (validate and create) so that the user could achieve their desired outcome without having to wait for the validate to be completed first, then go and have to click “create” and wait for that to be completed.
Refined designs to reflect feedback recieved
While the combination of the validate and create steps were something that the backend team were able to do, there were other parts of the experience that we were not feasible. One example of this was the trouble shoot feature I believed we could improve. To troubleshoot, a user would need to download the logs in order to submit them with a help ticket. My proposed solution included a way for the user to allow the user to download the logs for a specific time frame through the UI without having to manually parse through the logs to find the errors.
Continuous collaboration with team through implementation
During this project, I was challenged to create the user interface for a new feature that met the business needs as well as technical constraints of the back end. I leveraged my understanding of the jobs to be done by the users and reconciled designs with the constraints to ensure we built a product that gave users an effective and efficient user interface. While we were able to uncover as a team potential designs that can be considered in the future, our efforts were focused on the minimum viable product (MVP). While the backend was building the designs, the uncovered certain capabilities that would not be supported by the backend. This gave us the opportunity to collaborate with the development team and pivot the designs