Designing A SaaS platform

PDM Manager
Project Overview
PDM(Programmatic Direct Mail) is the leading digital-to-direct mail marketing channel invented by PebblePost, where consumers' purchase intent are captured online and reverent marketing is delivered to their homes. PDM Manager is a SAAS platform to enable marketers to run campaigns and learn actionable insights. As the business grows, PDM Manager has to evolve to meet customers' needs. I joined the company to lead the redesign of entire PDM Manager platform.
My Contributions
As a product designer, I worked with product managers and engineers to build the new PDM Manager from end to end. My work included but not limited to: conduct research to define problem space, translate research findings into design, wireframe to communicate and validate design ideas, prototype to test usability and eventually shipped the product.

During the process, I helped the team to adapt a design system to standardize UX patterns, establish a UI component library to accelerate design iteration and new product feature release.
The new UI of PDM Manager
Every solution starts with understanding the problems. The first a few things I did was to meet with business stakeholders, understand the business model and get a broader view of the market landscape. It also helped me to identify the unique value we are delivering to customers.

The next step was meeting with team leaders to discover the current limitation of the platform, empathize with users to understand their pain points. A Mental model map was created to understand user's jobs to be done and emotional state in using the product. I mapped out the user journey to find out where the gaps are, constructed service blueprint to understand the interplay of different system components and identify critical touchpoints. At sprint planning session, I used user story map to scope and prioritize sprint goals, and shared with the team to get everyone on the same page.
DEFINE
Stakeholder Interview
Competitive Analysis
User Research
Mental Model Map
Service Blueprint
User Story Mapping
Mental Model Mapping
PebblePost Service Blueprint
User story mapping
During the design stage, I facilitate card sorting activities with domain experts, power users and engineers co-design information architecture and user flow.  Host whiteboard sessions to sketch out UI ideas and brainstorm solutions for various use cases.

DESIGN
Information Architecture
Card Sorting
Whiteboarding
Campaign Manager Information Architecture
Card sorting for dashboard metrics
Whiteboarding user flow for creative upload
After the concepts are pretty converged, it's time to get ideas out of the head and into the world. I first translated the information architecture into wireframes so that business stakeholders and users can easily understand the potential solutions and provide meaningful feedback.

We are not doing BDUF(big design upfront), instead the design process is in parallel with the agile development sprint. I try to avoid one-time design hand-off and try to work with engineers in each sprint to deliver a specific user story. We highly integrate the design process with development. Engineers are invited to attend design discussion and make comments on prototypes early on. Prototypes become living documentation and specs to fuel development tickets. This process highly improved the design execution.

I developed prototypes in Javascript and share the same UI library with the development team. Speaking the same language with the development team enables me to communicate design ideas more effectively. Rapid code prototyping also enables me to quickly trial concepts and explore edge cases.
PROTOTYPE
Wireframing
Rapid Prototyping
Coded Prototyping
Design review is scheduled weekly with users to solicit timely feedback. Low-fidelity mockups, pixel-perfect prototypes and interactive prototypes are used during design reviews. Reviews are focus on problem-solution fit. The passed design will be feed into development sprint followed by usability testing at the end of the sprint.

Before every major version release, I worked with product managers to host user acceptance test to make sure the releasing product meets users' expectations. Test results would be collected and analyzed by affinity mapping. Action items were generated and prioritized for the next iteration.

TEST
Usability Test
User Acceptance Test
Affinity Mapping
Affinity map to synthesize test results
Action items generated from User Acceptance Test
As we keep releasing new features, we continued to repeat the DEFINE - DESIGN - PROTOTYPE - TEST cycle. More and more UI elements and Interaction pattern started to merge. In order to keep our design consistent and scalable, I helped the team to adapt Ant Design as our foundational design system and tailor it to meet our needs. Design system reduced our cost of maintaining existing UI components, it also accelerated the design process without sacrificing quality.

I established and maintained two component libraries for design components and code components. A design component is comprised of basic UI elements in a design system, such as buttons, labels, inputs, etc. Building reusable design components for frequently used widgets and pages, which enabled the team to quickly put together new designs to test new features. A code component is similar to a design component but backed by javascript. It enabled us to load the design with real data to explore real-world scenarios and discover edge cases earlier in the design stage. Design in context, design to scale!


BEYOND
Design System
Style Guideline
UI component library
Responsive style guideline
Reusable design components
Reusable code component
Conclude
We accomplished a lot for the past two years. PDM Manager had undergone 3 major evolution. This is a very high-level walkthrough of my design process. I adapted the Design Thinking process and tailored it for our team in PebblePost. It's impossible to cover all the details here. Let me know if you are interested in learning more and I'd happy to answer, thanks for reading!

Want to get in touch?
Drop me a line!

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.