VMware Workspace ONE
Project Length: 18 months
Tools: Pens, Post-Its, Whiteboard, Balsamiq, UXPin, Adobe Photoshop
Team: 1.5 UX Designers; 40 engineers; 8 PMs, 6 QA
My Role: Lead UX Designer
Goals: Create an easy-to-use SSO option for enterprise companies.
The project was named Horizon. It was VMWare's first foray into the business to the consumer market. The platform was a cloud-based and on-premise collection of products and services designed to help information technology administrators deliver desktops, applications, and secure data on a variety of endpoint devices. It provides end-users access to all of their virtual desktops, applications, and online services through a single digital workspace.
How did we design a consistent, coherent platform that was easy to understand for the end-user and powerful enough for it to be useful to an IT admin?
"Hey, the developers just gave us some screens to design. Can you do these 5 while I do the others?"
My First Challenges
Uhm, I thought I was hired as a UX Designer, not a UI Designer...
How to show my boss and the rest of the team that there was more to designing software than making screens pretty?
Was any User Research done to see if this platform was needed in the marketplace?
The Senior VP said we need to make a foray into the consumer market and of course everyone in an enterprise company needs this.
Do we have any users I can talk to?
What for? We know what our users want. Besides, the admins you are designing for are all over VMware, just talk to them.
I began my first couple of weeks talking to different people, trying to see what knowledge about the users already existed. At the same time, trying to wrap my brain around everything that this platform would entail. At this point in time, we were doing a cloud-based offering of the platform.
I wasn't assigned to a specific scrum team but did regular stand-ups with the core team. I was a part of the larger team then loaned out to specific scrum teams to work on specific screens. I know I needed to change how this worked.
I asked my boss if it was okay if I did some User Research and he said to do whatever I wanted as long as it didn't put me behind schedule.
After talking to some people I found a business analyst and a salesperson working on some kind of user research. I asked if we could form a little team to share knowledge. They said yes.
My daily stand-ups of yesterday and today consisted of "doing user research and creating personas."
My Final Personas (Summary). Printed out as a large poster and hung in the hallway where the team sat.
In order to keep the content relative and fresh, I kept wiki pages for each persona. At any time, someone could go to the wiki and see the latest information about that persona.
As I did evaluative testing, I also added in more information to the wiki persona pages.
I was dealing with a very complicated product. It delt with storage, remote applications, remote desktops, a myriad of permissions for various devices and roles. How do I communicate all that to someone who is not very technically savvy?
I did a lot of research on related products and how they messaged themselves. I had to look at both the end-user and the admin user for all of the platform options. When I started this project, the Product Managers said this was the first product of its kind. After doing thorough research, I had to burst their bubble and let them know that wasn't true.
Top Tasks Research
Over the course of the project, up until shipping, I probably created over 500 wireframes. There were so many states and views and modes that I had to show for different use cases.
For the wireframes, I started out using Balsamiq since that what the PMs used. However, I quickly switched to UXPin for ease of use and the ability to quickly prototype and test.
An online tool allowed me to always have an up to date link available on the wiki for anyone to view at any time.
At the time, I put all of the wireframes in one project. I learned the hard way that this was a mistake as the project became very unwieldy. I wanted just one link, but I should have broken the prototype in to sections.
Admin User - Adding an app to the platform. First iteration.
Admin User - Adding an app to the platform. Third iteration.
Admin User - Reports Screen. Second iteration.
Admin User - Add applications to end user catalog. Second iteration.
How was I going to fit Usability Testing into 2-week sprints?
Different scrum teams and 5 different features being worked on. How was I going to find the time?
Where was I going to get anyone to test with?
I don't know where to find end-users as there are no actual customers.
Does anyone even care?
Everyone thinks these are just going to be cosmetic fixes. How can I prioritize them in Jira to get fixed if there are usability issues?
I decided to not do formal usability testing, but just test what I could every other Thursday of a sprint. I had a lot of screens built up as I didn't start usability testing until a year into the project. I did 2 hours of usability testing every other Thursday.
I got potential users from inside the company. I reached out on our company messaging platform the morning of and said where I would be for 2 hours to test a new product VMware was creating. I also brought cookies. I usually got a consistent 3 or 4 people. Four was the max I could do in that time so it worked out well.
Once a quarter we did a BugJam. This is where everyone on the team (about 65 people now) got together for 4 hours to pound away on the product. I added scenarios that pointed towards usability issues I had found in my testing for the engineers and PMs to try during the BugJam. It helped get some of those fixes into the backlog in Jira.
Usability Testing Round 1 - End-User
Usability Testing Round 5 - End-User
Admin View. Iteration 1.
Screen Specifications for buttons.
The visual design obviously needed to be familiar as VMWare, but the team wanted a fresh and clean look instead of a corporate enterprise look. I upped the saturation and used some of the patterns in the logo to freshen up the branding.
Admin View. Configure Setup. Iteration 3.
Admin View. Configure Setup. Screen Specifications
01) Break wireframes and prototypes into chunks for faster load time and ease of finding screens.
02) Do more research upfront, such as competitive analysis, to understand the product better.
03) Do more workshops earlier in the process to get stakeholders on board with what needs to be made.