2019 - 2022
Fungible Data Center
Flexible and efficient data centers through the composable cloud
My Roles
UX Director
I led the Fungible UX team that launched and evolved the Fungible Data Center solution through experience-first product development.
Product Strategist
I identified gaps, opportunities, and tradeoffs, guiding decision-makers through product definition and problem alignment.
User Researcher
I learned about our product domain and interviewed users to improve the product experience.
People Manager
I managed a remote UX team and coached recent graduates into T-shaped senior designers.
Project Manager
I managed UX projects and improved collaboration with engineering through a design-led design system launch.
Lead Designer
I built trust with new executives and helped secure an acquisition by simplifying concepts and workflows.
My Approaches
Wallace & Gromit: The Wrong Trousers (Train Chase Scene)
You learn something general by studying something specific.
— Stephen Kuffler "Father of Modern Neuroscience"
Outline
01
Situation
A new paradigm
Our goal
Our tasks
02
Challenges
03
Outcomes
Paradigm
Composable Cloud
Composable cloud is a software-defined infrastructure approach that enables dynamic allocation and reconfiguration of computing resources.
Why this approach
In traditional data centers, resources are siloed and require experts to manage. While virtualization brought flexibility, it came at the expense of performance. Using composable cloud technology invented by Fungible, the Fungible Data Center combines the flexibility of virtualization with bare metal performance, enabling truly efficient and cost-effective data centers.
Siloed resources require experts to manage.
Some workloads (e.g., AI/ML) require bare metal performance.
Inflexibility leads to underutilized resources and energy/cost inefficiencies.
Goal
Bring technology and workflows together
Fungible invented the DPU, a technology that enables bare metal hardware performance over the network.
Cloudistics developed a platform that connects servers, storage, and virtual networks, simplifying private cloud management workflows.
Tasks
Vision to Launch, UX-First
Executives handed off a 5-page vision document to the UX team.
Product Brief:
Turn product vision into a product launch
Deliver 4 working prototypes before Fungible acquires Cloudistics
Support bare metal workloads instead of virtualization workloads
Support the composition of physical and virtual resources instead of all virtual objects
Outline
01
Situation
A new paradigm
Our goal
Our tasks
02
Challenges
Launch a design system
Build consensus on problems and solutions
Make time for user research
03
Outcomes
Challenge 1:
Launch a design system
Design System
Bridging the design-code gap
I orchestrated the launch of our design system.
Components - Our design team updated our Sketch design library to adhere to Material Design Guidelines and adopted Angular Material Components.
Design Tokens - Our design team documented our design decisions through design tokens and brought the tokens into the front-end code.
Sticker Sheet - Our design team delivered to the front-end team a sticker sheet of styled Angular Material Component using our design tokens.
Design System
Change Management
I coordinated across departments, managed expectations, resolved conflicts, and ensured the quality of our work.
Our investment paid off with dividends. We improved our UI consistency and our efficiency working with the front-end team. This increased efficiency allowed us to complete additional projects that benefited design operations and our product roadmap.
Design System
Filling the Gaps
Due to a staffing shortage, I took over ownership of the networking feature of Fungible Data Center while the design system project was in progress.
I added extensive functionality and delivered the design specifications to the cross-functional engineering pod.
I filed tickets to fix breakdowns in communication and ensured that the intended design was implemented.
My hands-on work allowed us to launch version 1 of Fungible Data Center with a design system.
An overview of the flows delivered to the Networking pod. The flows highlighted in yellow existed when ownership of the project passed to me. I added the rest of the functionality. Other color-coding provided an overview of the state of a build under review.
The underlay network list before I owned the networking feature.
In this iteration, I added the concept of VRFs and CIDR blocks after discussions with our networking engineer.
In this iteration, I added network suspend and resume functionality. The network suspension feature was moved to the backlog.
In this released iteration, I added actions needed to manage the VRF and CIDR block concepts.
The virtual network properties before I owned the networking feature.
The underlay network properties before I owned the networking feature.
I added the network assignment flow.
I standardized the network properties page layout.
The network creation form before I own the networking feature.
I switched the network creation form from a modal to a page.
Challenge 2:
Building consensus on the problems and solutions
Problem & Solution Alignment
Modeling Journeys
I create alignment diagrams to provide a comprehensive view of the user experience in the problem space and the solution space.
A customer journey map for Fungible Data Center
A workflow diagram encompassing Fungible's B2B and B2B2B relationships
A process flow diagram for dashboard widgets
A simple diagram comparing the physical experience before the Fungible Data Center (FDC) and the flexible solutions the FDC provides with software-defined architecture
Modeling Architecture
I created diagrams to clarify how concepts, activities, and content are connected in Fungible Data Center (FDC).
FDC 4.0 Concept Map
FDC 4.0 Sitemap
A diagram mapping page layouts in FDC
A state diagram with states in swimlanes and FDC objects in rows
A diagram presenting FDC concepts with resource allocation examples
Problem Alignment
Building Consensus on the Problems
Human-centered design involves empathizing with people’s situations and guiding them through the least frustrating and most motivating path toward their goals.
Shipping human-centered products involves connecting empathy to business objectives. I build consensus by making these connections clear.
I currently use job stories to make this connection. They are simple, portable, and complete.
Solution Alignment
Reframing the Solution
Between internal releases 2 and 3, the executives challenged me to improve the clarity of our novel concepts. I accomplished this by changing our conceptual metaphor, simplifying the workflow without reducing functionality. We were fortunate to simplify these concepts early. Making such a change after the product launched would have been resource-intensive.
Challenge 3:
Making time for user research
Understanding Users
-
Domain Knowledge
I took IT support courses from IBM and Google to understand important objects and concepts in the IT administration domain.
-
User Interviews
I interviewed internal and external users to find and fix pain points in earlier product releases.
-
Research Findings
From user research, I generated recommendations to improve our events and notifications features.
-
Cognitive Diversity
I collected information on cognitive diversity—I believe we need to understand the diverse ways in which people perceive, think, and approach problem-solving.
Outline
01
Situation
A new paradigm
Our goal
Our tasks
02
Challenges
Launch a design system
Build consensus on problems and solutions
Make time for user research
03
Outcomes
Results
Lessons
Platform Evolution
Results
Simplified concepts and flows in Composable Cloud
Met acquisition requirements and deadlines
Turned product vision into product launch
Delivered a design system, improving efficiency
Completed additional projects not on the roadmap
Microsoft acquired Fungible in January 2023. 🎉
Lessons
Complete the cycle – Eventually, physical resources die, and users need to recover gracefully. The breakdown of dependencies across different layers of abstraction compounded this challenge. Working through these failure cases took considerable effort and highlighted the importance of thoroughly reviewing the complete user flow.
Check all perspectives – We needed to review the product from at least eight different perspectives. Studying the four stages corresponding to our UI sections—monitoring, allocation, composition, and templating— was straightforward. Still, we needed to surface the unique life cycle of each of the four resources. We generated many flows to reach the correct view angle for all resources and improved the user experience within these flows. This effort highlighted the importance of viewing the user’s journey from multiple dimensions.
Platform Evolution
Walkthrough
Fungible Data Center:
Workflows built on top of DPU-enabled hardware
Independent scaling of servers, storage, GPUs, and virtual networks
Allocation of resources to multiple tenants
Software-defined “composed servers” for different workload needs
Customizable templates for scaling workloads
Modular management portal to fit different customer needs
Data center administrators can monitor activities related to the resources in their system.
Storage capacities from physical devices are aggregated into a pool. Administrators can monitor these storage devices.
GPUs stored in separate chassis can be "composed" with physical servers.
Servers can be "composed" with storage, GPU, and networking resources.
Resources can be assigned to different tenants, each with its own management portal.
In a tenant, users can deploy preconfigured environments with one click.
Users can create a custom environment with different types of composed servers that are easily scaled.
Once a composed server "instance" is created, physical resources can be swapped out without destroying a workload-specific composition. This feature allows for resource oversubscription.
Tenant administrators can monitor resources and activities related to their environments and composed servers.
Users are guided through the decomposition process and error cases.
Administrators can create and manage virtual networks assigned to different tenants.
Next: