Case study / 01

Subscriptions UI

A development team was spending almost all its time on subscription requests. I designed the tool that made those requests unnecessary.

Summary

Ocado Smart Platform (OSP) is an end-to-end eCommerce, fulfillment and logistics platform. I worked in the e-commerce area designing experiences for Ocado and grocery retailers. As the main UX Designer of the project, my duty was to facilitate a Design Sprint and later design and prototype different versions of a CRM, whose aim was to make our partners' subscription models handled by them, unblocking one of our Devs Team.

Role
Main UX Designer
Timeline
4 months
Company
Ocado Technology
Platform
Desktop

01

The Problem

At Ocado Technology, we worked with a wide range of markets and features. Some of our clients integrated subscription models into their e-commerce platforms, usually related to order shipping. Due to the high volume of requests from these clients, both to adjust existing models and to launch new campaigns, one of our developer teams became overwhelmed, dedicating almost all of their time to handling these demands.

So we handed our clients the keys, and got a whole dev team back

This led to the idea of creating a CRM that would allow clients to manage these tasks on their own, in a simple and immediate way, without relying on our development team.

02

The Design Sprint

The Design Sprint was organised over four days to allow sufficient time for each of the key phases that take a team through a focused problem-solving process. These phases being:

Understand

Define

Sketch

Decide

Prototype

Validate

Duration

4 Days

Team

11 participants

PM · UX Designer · Dev team

Tools

Miro

Figma

The four-day Design Sprint agenda, mapping each phase across the week
While also having enough breaks to not die…

01 / 06

Understand

For the Understand phase, we made use of ideation techniques.

Abstraction Laddering exercise brief: reconsidering a problem statement by broadening or narrowing its focus
The team's completed abstraction ladder, moving up to ask Why and down to ask How from the central problem statement

Why?

This tool allowed us to understand what we needed to solve and why.

02 / 06

Define

For the Define phase, the goal was to establish focus, define outcomes and choose our metrics, for this we used a set of exercises with the whole team.

Design Sprint exercise brief: the HEART method, its five categories, and the step-by-step instructions given to participants
The team's completed HEART framework board, mapping Goals, Signals and Metrics across Happiness, Engagement, Adoption, Retention and Task Success
Screenshots taken from the Sprint's Miro board

Why?

With this exercise, we defined the metrics that would ensure we were delivering the right solution to our partners.

03 / 06

Sketch

The Sketch phase is all about generating visual ideas and the first tangible solutions. Essentially, I just put everyone to draw.

Round Robin exercise brief: a group ideation activity where a folded worksheet is passed and improved person to person

Why?

I personally like this tool because in such workshops, there are always people that are more shy. This tool encourages them to show and share their ideas without speaking. Thanks to it, we got the first visuals of the tool that everyone considered was the best to build.

04 / 06

Decide

The Decide phase objective is… well, to decide. We set the direction and find consensus.

(Given the complexity of the project, and the many great ideas everyone had, we had to filter further the results obtained at the Do Now section)

Decision Matrix exercise brief: evaluating ideas by impact and effort against the Sprint's goals
The team's Decision Matrix, plotting ideas by technical difficulty against user value
The completed Decision Matrix with the highest-value ideas selected, plus the team's dot-vote on which to prioritise

Why?

Deciding together kept the whole team bought into the direction, rather than one person picking the winning idea on their own.

05 / 06

Prototype

In this phase, we built together the prototype for the user flow and, with the help of a UX Researcher, we decided on what we needed to learn from the testings we would be performing on the last day. We collectively decided to do it digital, that's why I prepared beforehand this really low fidelity "component library".

Once the flows were built and agreed, we decided on the Testing tasks and questions that we may still need answers for, as shown in this board here:

Why?

Prototyping and testing with real users helps ensure the solution meets actual needs, reduces assumptions, and drives informed UX decisions.

06 / 06

Validate

With the prototype of our version 1, everything was set for some internal testing we would be dedicating the last day to!

5 teams

2 members each · Moderator + Notetaker

I divided the team into 5 teams of 2 people each, having a Moderator and a Notetaker. They would need to test the prototypes with users following a set script.

The results were encouraging

5 people

2 Tasks

Create plan · Edit plan

Success

They confirmed we were delivering the right thing, but also gave us valuable feedback:

Please don't mind the typos in the post-its, notetakers were in a rush!

Feedback

Originally we included a Help button in the Plan Edition flow. Some users didn't even notice the Help button at the Edit plan screen. Wasn't really needed so we could get rid of it.

Feedback

At Plan List page, we divided the sections between Anytime/Midweek Passes. Some struggled to find the section in the scroll. We would need to find a better way of displaying both.

Feedback

We added a confirmation dialog with the highlighted changes when editing before the user submits. This wasn't noticed at all. We needed to find a better way of displaying these changes.

03

The Next Steps

Agreement on the next actions after the Design Sprint is finished:

  • Iteration based on Feedback
  • Ideate the features that weren't included in v1
  • Testing with the real target users

Extra: some pics from the Design Sprint!

*Quick disclaimer: the prototypes made here were approaches. I had to prototype myself later in Figma using the components from our Design System, making "more real" what we agreed on in the previous exercise.

04

First Iteration

With a solid base to work from, I started to iterate the tool with the help of the people who participated in the sprint, in successive catch-ups and stand-ups. Let's go through the changes and why's of the two main screens:

Problem

Anytime/Midweek are the type of Subscription models. We needed more differentiation and dedicated space given the amount of plans and info that would go in there.

Solution

We separated both types of plans (called Benefits) into Tabs, so each screen could comfortably display the information. This also ensured both types of plans were at the same level.

Problem

The information was too condensed. There was barely any visual separation between the states of the plans.

Solution

We added visual layers to the sections. This cleared the screen and allowed more plans to be displayed. The addition of a header let us include search, filters, and the Create Plan button visible at all times.

Problem

When editing a plan, the changes were not highlighted enough to be noticed. And the consequences of these changes were too heavy to be overlooked.

Solution

We remade the whole confirmation dialog, using components from our library to better display the changes. We also made the information look cleaner thanks to the new information architecture.

Plan Transition

Among the user flows that users could perform in our solution, there were mainly the Plan Creation and Plan Editing user flows. But there was one that we could not contemplate in our Design Sprint, which was Plan Transition.

But what is a Plan Transition all about?

Imagine you created a subscription that lasts 8 months with a price of 5.99 pounds, and you have some users subscribed to it and enjoying its benefits. Then you realise this plan is not ideal and want to delete it or change some information like the price.

If you either delete or edit the plan, what will happen is that those users will be lost once their original plan expires and the edited one takes its place. Losing clients: not good.

So this was the result:

  • We added the Transition option in the Plan cards
  • We added a Wizard popup flow, to explain the process, as it might not be necessarily obvious for everyone
  • Added a confirmation screen with the changes in the plan
  • Included an "On Transition" section at the Plans page

05

Testing Time

For the testing of this iteration we followed this criteria:

11 people

Potential users

3 Tasks

Create plan · Edit plan · Plan transition

There were still some things we needed to know from the Creation and Edition flows.

  • Creation flow: Do they understand what's happening on Preview? Are the fields clear in the Confirmation dialog? Do they get where the new Plan went? Do they understand the different sections in the page?
  • Edition flow: Do they understand what they need to do in edition to set it as future release? Do they notice the changes in the Confirmation dialog? Do they understand what Autorenewal implies? Are they confused with the Edit possibilities in the main screen?

Results were really good overall.

Sadly I don't have access to the amount of Success/Failure data anymore. But I have nice insights and comments that were gathered during this testing round.

06

The Final Version

As the development team worked on the implementation of the solution, a number of previously overlooked requirements emerged, as well as new ones from the retailers.

Context

Stores with the Subscription plans can be in different regions. And different regions can have different languages (like the case of Spain, for example).

Requirement

Clients need to be able to edit the language for all these plans separately, without influencing the information in other languages within the same Region and Subscription plan.

Context

Users that subscribe to a Plan can have a set ending date for their subscription, if they paid for a 1 month subscription for example.

Requirement

Customers need a way to schedule a message reminding users that their subscription is about to expire, at plan Creation/Edition.

Context

The amount of Subscription tiers and plans could be really huge.

Requirement

We would need to think of a way of displaying them and allowing comfortable selection.

07

Acting On Feedback

A lot of the feedback received was positive, but we had some things to fix:

  • The first level Tabs were confusing. People didn't understand the concepts
  • Users were confused why the Start/End date of the plan didn't correlate with Plan Duration
  • Users didn't understand why they couldn't edit the price of a Plan while editing

How we fixed these

Taking into account the latest feedback received and requirements shown above, here are some of the resulting final screens:

And an eagle (pre)view of the complete flow, a rough overview of how the actual final flow, ready for handover, looked like!

08

A Wild Ride

Thank you for reading until here! You deserve a promotion! But let's leave it here with the last bits:

Learnings


  • Learned about Design Sprints: their tools and how to moderate them
  • Improved my collaboration with Devs, we had to take the lead at some point even!
  • How to prioritise what can be done in the given time, even more with the piling requirements
  • I learned about Design Systems out of my comfort zone, even the namings can vary a lot!

Skills demonstrated

OrganisationModerationPrototypingAligningAutonomyInitiativeDesign domainUX Best practices

The Challenge


This project was really intense, given many things:

  • I built, moderated and participated in a Design Sprint
  • For the solution, I had to use a Design System I was not familiar with
  • The requirements we got over the course of the project made us rethink and rebuild the information and structure of the solution many, many times

Halfway through the project, we lost our Product Manager, so the Dev team and myself had to take the initiative, organise ourselves, and do everything within our reach to deliver the best product we could.

Impact

Shipped · Ocado, later Sweden

Changing a subscription plan used to take the development team and a release. Now the retailer does it themselves.

Unblocking an entire Development team whose capacity, until then, had been overflowed satisfying their requests.

Until the next project