Two Worlds Not So Far Apart — How UX and Engineering go hand-in-hand at Walmart Labs

By Aleisha Nelson, Home Vertical Software Engineer | April 2019

Aleisha Nelson
Walmart Global Tech Blog
7 min readApr 29, 2019

--

There’s no doubt that professional software engineering and user experience (UX) design roles require two very different skill sets and ways of thinking. Often, the two disciplines are quite separated in the workplace. On the Home Vertical team at Walmart Labs, however, we believe this shouldn’t be the case. Our team believes that involving engineers early on in the design process and asking for their input during design-thinking discussions are some of the most effective and efficient ways to create the best user experiences.

Since joining the Home Vertical team as a Software Engineer last year, I’ve realized that we work closely with the UX Design team in a unique way. As an artist and designer myself outside of work, I have always had an interest in how the things I end up implementing are actually designed. So when I saw a calendar invite to a UX Feature Brainstorming session, I was ecstatic. Not only because I love integrating my passion for technology with my passion for design, but because I, too, believe that the best way to create and design a product is to get input from both the Engineering and UX teams as early on as possible. By doing so, the UX team eliminates time wasted on designing features that aren’t feasible for engineers to build and engineers feel that their input is valued — therefore making them more excited to work on the features being discussed. Each team will also walk away with fresh and unique ideas to incorporate into the new features simply because of the involvement of different perspectives.

Home Vertical: Where Software Engineers and UX Designers brainstorm new feature ideas together. Photo by Kathryn Han, UX Team Member

Working on a vertical team at a company the size of Walmart Labs has already offered its team members so many exceptional experiences. We have the agility of a startup and the financial resources of a large company, which opens a lot of doors. Walmart Labs is a very forward-thinking organization and has been acquiring a lot of new companies lately too, which puts us in a position to compete with the best of the best. On top of that, we have a very enthusiastic and extremely motivated team of leaders who truly inspire the people around them to reach higher and try new things. Thanks to this unique office culture, we are actually encouraged to propose new ideas — whether it’s an idea of how we can improve a particular process, how to incorporate new techniques for design-thinking, or to involve engineers in the design process even before a feature idea starts it’s life cycle.

We have the agility of a startup and the financial resources of a large company, which opens a lot of doors.

Lately our UX team has been trying to adopt some of the same design-thinking methodologies that Google uses in their design sprints. For example, we’ve recently started using a design exercise called “Crazy 8's.” Three designers and four members of my engineering team gathered in a conference room, discussed the characteristics of consumers at different stages in their lives, and then we took eight minutes to each come up with eight on-the-spot ideas for website features that we’d like to have during those phases of life. We folded pieces of paper into eight sections, as illustrated in the image below, and we sketched out the first ideas that popped into our heads. Whether you are teenager leaving for college, a newly-wed couple moving in to your first home, or an expecting mother — everyone wants the ability to shop easily online. So what better way to come up with new features than to involve designers who understand the user-experience and the engineers who have an idea of what exactly can be built. Although the two disciplines require different skill sets, they both require creativity and a very good understanding of the product. Everyone had great ideas for new features and we’re already working on bringing some of them to fruition.

Crazy 8s Exercise Worksheet. Illustrated by Ashley Bonnard, UX Team Member

Another way that we involve engineers early in the design process is by inviting them to weekly meetings where the UX team presents new feature designs to our product managers (PMs), our VP, and my team of engineers. We all take an hour out of our workday once a week to go over new feature designs and critique them, giving my team an opportunity to give feedback from the engineering perspective. We can let the design and product teams know how difficult a particular feature will be to build, how long it will take to implement, if it’s not going to be a good use of time, or if it’s simply not feasible. As Walmart Lab engineers, we also spend a lot of time ensuring that our features are ADA compliant so these meetings also allow us to discuss whether or not a feature will be able to meet those requirements. I enjoy these meetings because every side of a project is involved — the PMs who really understand the product and the direction that it should be moving in, the designers who have a great understanding of what a user is used-to and looking for in an experience on our website, and ultimately the engineers who will be the ones implementing it. We’re all right there, in the same room, and able to give our two cents immediately following the design presentation. It’s an effective use of time and constructive to have an open floor like that where everyone feels they can contribute to the conversation.

Home Vertical’s Software Engineers and UX Designers during a “Crazy 8's” Design Sprint Exercise. Photo by Kathryn Han, UX Team Member

It’s not always a one-way street around here. Sure, we get invited to participate in a lot of design-thinking discussions, but we also invite the UX team to participate in some of our more code-heavy discussions, too. Lately, my team of software engineers and I have been inviting the UX designers to participate in meetings that we call “Bug Bashes.” These kinds of meetings happen when we are getting close to finishing the implementation of a new feature; when we have been staring at the code for so long and are in need of a second set of eyes. Both teams gather in a room and each individual is assigned a different device or browser to test the feature on. One person takes Chrome for Desktop, one takes Firefox for Android, and another takes Safari for iPad. We play around with the feature and try clicking different buttons, shrinking and expanding the browser window, and so on and then we write down our thoughts and some notes if we find any bugs. Not only does this help us to debug certain aspects of our feature that we may have overlooked, but it also offers the UX team members an opportunity to critique the look and feel of the feature before we submit it to the QA team for an official review and it gives them a way to understand what parts of their designs can (and cannot) come to life.

“What’s unique to Home Vertical is that we have the space to think ahead and not just get to parity — we have time to create a clear roadmap, but one that isn’t always set in stone. We have clarity on where we can push the boundaries.”

— Kathryn Han, UX Team Member

Aside from all of these meetings, we also hosted a HOME Hack-a-thon event recently where we formed groups comprised of members from each of the three core teams. A Product Manager to help lead the team and product idea, a designer to help us understand exactly what to build, and three engineers to code the feature. It was a one-day event where we all gathered in a big conference room to work on an idea pertaining to and eventually present it to a panel of judges. Leading up to the day of the event, we participated in meetings to discuss designs, functionality ideas, and to determine what would be feasible to implement in such a short amount of time. The feature that my group discussed, designed, and implemented together actually ended up placing second overall. We currently have engineers working on a more robust version that will eventually be used on Walmart.com in the near future, which is super exciting.

My team at Walmart Labs’ 2019 HOME Hack-a-thon event. Photo by Maylyne Mamonong.

By putting product managers, UX designers, and software engineers in the same room on a regular basis, we believe that we are able to come to a more cohesive understanding of the overall product we are designing for and of the new features we will be implementing. We involve engineers early and frequently in the design process so that we can avoid unforeseen technical roadblocks, as well as, implement new features with things like site speed performance and ADA compliancy in mind. By the time any engineer on my team begins the implementation phase, they’ve already contributed to conversations about the how, why, and what of a feature. Sometimes, they’re even the ones who came up with the idea for the feature in the first place. With the consideration of different perspectives, we are able to create better user experiences for all Walmart.com customers.

Aftermath of a design-thinking meeting with the Engineering and UX teams. Photo by Kathryn Han, UX Team Member

--

--

Aleisha Nelson
Walmart Global Tech Blog

Software Engineer on the HOME Vertical team at Walmart Labs