Cost Groups
enterprise | cloud | finance
An admin tool in Cost Optimizer, Cost Groups allows organizations to create custom cloud account based hierarchies to manage and track company-wide cloud spend.
Project Background
During the process of concept validation for Cost Optimizer, we realized the need for a company admin to track cloud spend across potentially thousands of cloud accounts within their organization. A particularly ambiguous problem — one that continued to get more complicated with consecutive releases to support improved flexibility. The lack of clear product direction added further complexity to the product initiative.
project scope
New Feature
End-to-end design of a new feature, including design strategy, interaction design, research and crafting final deliverables.
team
Cisco CloudCenter Suite
Engineering Leads
timeline
Jan 2018 – Jan 2019
Feature set evolved over 2 releases
Problem Space
Company admins track cloud spend across potentially thousands of cloud accounts within their organization.
While most companies would want to track cloud spend the same way they would track other expenses e.g.. by departments and sub-departments; other companies had different methods in place — such as by location, or project. There was also a need to track spend for impermanent initiatives, which often involved cross-team collaboration.
Given the variation in preference for organizing these cloud-based multi-tiered systems, it made sense to allow customers to create multiple custom hierarchies and associate cloud accounts to the different tiers.
It seemed like the ideal solution would be a tool that would allow admins to replicate their organizational hierarchies, while assigning cloud accounts to their respective owners and teams.
problem statement
Given the wide preferences and methods of setting up and monitoring of cloud accounts, customer organizations need to be able to create and manage multiple, separate hierarchies to track their spend across cloud accounts.
Terminology
billing units
Generic term for cloud accounts. Since cloud providers have different ways of referring to accounts, we had to coin a generic term that would refer to accounts across all providers.
cost groups
Any group within a company that accumulates cloud cost. e.g. department, team, project ID, etc.
Navigating the Ambiguity
Given the lack of clear product direction and the vague problem space, the team took a stab at evaluating how cloud providers (aka Cost Optimizer’s competitors) allowed companies to create custom hierarchies for their organizations. We found that often these were limited to just one structure and could only support that specific cloud provider.
The team was quick to realize the advantage of offering this functionality and started drafting requirements based on —
- Competitive analysis of existing products
-
Customer interviews with internal power users and existing CloudCenter customers
-
Iterative product and design feedback sessions aimed at getting from target users
it / company admin
Sets up basic skeleton for Cost Groups
department owner
Based on sub-group assigned, will further flesh out hierarchy
team manager
Assigns team’s billing units to sub-group(s)
finance person
Needs visibility into spending across departments
Early Explorations
Mapping out visibility challenges and permissions, with cascading nested cost groups
User Flow
Mapping out how target users would build new cost groups and share them based on their current organizational structure.
Impact on Cost Reporting
Any Cost Groups created would result in generation of a corresponding Cost Report. e.g. if a Cost Group called Departments was created, cost data would immediately be synced to generate a Cost by Department report.
Wireframes & Explorations
Quick wireframes to validate the concept with existing customers of Cloud Center Suite, and potential internal customers within Cisco.
Final Design
Cost Groups would be an admin-only feature. Org IT or admin users would set up a basic skeleton and start sharing appropriate cost groups with respective leaders.
Managing Permissions
Sub-group level leaders would only have visibility into their group and child sub-groups. Those with manage permissions can assign Billing Units to appropriate groups and sub-groups.
Since this feature supports drag-and-drop, the overall experience had to be thoroughly thought out and specified in detail, particularly for error handling.
Walkthrough
Prototype of how different target users, ranging from org admins down to team leaders would leverage Cost Groups to replicate their organization’s hierarchy.
Detailed Specs
We drafted an extensive kit for all the possible states for cost group cards and billing unit cards. This was accompanied by detailed UX flows for possible edge cases.
Cost Reports
All created cost groups types would show up in Cost Reports where spend would be tracked across all parent and child cost groups, depending on the users’ permissions for visibility.
Feedback & Insights
We had a handful of opportunities to collect user feedback — these included structured research sessions, impromptu conversations during customer workshops, and input gathered from customer success representatives.
general response & sentiment
We received overwhelming validation for the feature as well as design. Customers found this to be an extremely useful feature, particularly for importing and syncing existing company hierarchies.
Creating custom hierarchies from scratch was not the 80% use-case, but was still useful for small team admins to create flexible structures and monitor costs.
interaction and usability
Since this feature had complex interaction flows and states, we wanted to make sure that the interaction design was stellar.
Customers were pleased with the design, but had a couple of minor pain points –
- Bulk actions would be easier with enabling multi-select using the Shift key
- Slight lag in implementation caused occasional points of confusion. We considered adding a confirmation or save button as a solution to tackle potential performance issues.
Cost Groups 2.0
In the subsequent release of Cost Optimizer, there were additional features and improved functionality around Cost Groups.
Tag based
In addition to Cost Groups based on billing units, customers had requested the option to create similar custom hierarchies based on Tags, which are key:value pairs associated with cloud resources.
budgets
A need for creating budgets based on a company’s cloud cost was obvious, with the added functionality to track cloud spend.
alerts
There were also numerous requests to be able to create alerts when cloud costs hit (or fell very short of) thresholds.
Budgets
Based on Cost group hierarchies created, admins can define a budget for root cost groups and have it trickle down to lower-level cost groups.
Budget Reports
Based on budgets created at an admin level, users can track their budget against allotted funds throughout the fiscal year.
Budget by Cloud
Budgets can also be created by all users for their individual cloud spend.
Thanks for Reading!
I’d love to chat if you have any questions about this project or my work.