top of page

Waste Dynamics

Simplifying Availability Management

Outcome: Paved the way for automation

mako-current-availability.png

Project Overview

Objective

The objective of this project was to create a systematic feature to better manage the inventory and capacity of the hundreds of dumpster hauling companies in our broker network. The goal was to give sales reps real-time visibility into which dumpsters were available, when, and where, so they could quickly and efficiently rent them out to customers. This feature was designed to streamline operations, reduce scheduling errors, and ensure we were maximizing our inventory across various locations.

My Role

With a small team who was stretched thin, I filled the role of both product manager and designer. I worked closely with a team of two engineers to design and build the feature.

Team

  • Myself as PM/PD

  • 2 Engineers

  • 2 Stakeholders

North Star

  • Happy path orders

whiteboard with complex logic written on it and a hand making updates.jpg

My Process

1

Discover

User, business, and system needs analysis.

2

Define

System mapping, term definition, and API design.

3

Design

UI designs and logic statements.

4

Develop

Lifecycle management, QA testing, and release.

Discover

Business Needs Analysis

I conducted a business needs analysis to streamline our dumpster rental process. As a broker, we needed to determine if we have a hauler in the customer’s location, what sizes they offer, and when it can be delivered. To provide this information, we first need to understand our haulers' service areas, their inventory, and their capacity for delivery and pickup within their schedules. The result of this analysis was the concept of "availability," which combines inventory and capacity into a single, clear metric that simplifies the process for our sales reps and ensures they can quickly provide accurate information to customers.

User Needs Analysis

I led a user needs analysis for this project, which was pretty complex since we had four different user segments, each with their own unique—and sometimes conflicting—needs. We had to really dive deep into understanding all of them to build a solution that struck the right balance and worked well for everyone.

Sales Reps

I spent time observing sales reps on calls to get a clear sense of the specific information they need to quickly and efficiently rent a dumpster to a customer.

Customer Service

I also worked closely with the customer service team to understand what data they need readily available to help customers and resolve issues efficiently.

Vendor Relations Team

I interviewed our haulers to get a better understanding of how they manage their inventory and how they communicate that information to us.

Haulers

I spent time observing sales reps on calls to get a clear sense of the specific information they need to quickly and efficiently rent a dumpster to a customer.

System Needs Analysis

We knew that the new availability data needed to be integrated into our internal quoting tool, MAKO, where we manage service areas, products, and pricing. To make this happen, I had to grasp how the hauler, availability, and products fit together within the system. This meant figuring out what data points we needed and how they would move through the system’s hierarchy. So, I teamed up with our lead developer and did a deep dive into the database and the current search API to map everything out.

Untitled - System Needs Analysis.jpg

Define

Term Definition

After completing all the discovery work, the first thing we did was create a shared glossary of terms. Since this was a pretty complex upgrade to an existing concept, it was really important to make sure we all agreed on what each term meant. Having a common language helped us communicate more clearly and stay productive as we moved forward with the project.

Journey Mapping

I created a detailed journey map that traced the entire process of managing availability. I tracked how haulers let the vendor relations team know what’s available, how that info gets entered into our system, and how it's matched with the right products. Finally, I looked at how this information gets displayed to our sales reps so they can easily share it with customers. This journey map helped us see each step clearly and ensure that availability information was accurate from start to finish.

Untitled - Availability Journey Map.jpg

System Mapping

I teamed up with our lead engineer to do a deep dive into system mapping. Our goal was to define the ideal relationships and feedback loops for integrating the new availability data. This mapping was crucial for showing the broader team how we envisioned the new data fitting into our system. By clarifying these connections, we made it easier for everyone to understand how the availability information would flow and be used across different parts of the system.

Untitled - System Mapping.jpg
API Design.jpg

API Design

Then I collaborated with our lead engineer to design the API for Availability. We worked together to outline how the API would interact with the search API as well as external systems that either needed to input data or consume data, ensuring it handled all the necessary exchanges seamlessly. This collaboration was crucial for making sure the API met all our requirements, integrated smoothly, and didn't lead to duplicated logic within systems.

Design

Designing the Availability Management Experience

When designing the UI for the availability management screens, we had to address two distinct sets of availability data. The first was the default availability, which was agreed upon when the hauler joined our network. The second was the current availability, which could change daily or even hourly as haulers took on more jobs. We needed a system that could manage both and tie them together seamlessly. The key focus for the current availability management UI was to make it quick and easy for haulers to update their availability across all dumpster sizes and service types, ensuring accurate and up-to-date information at all times.

After testing the design with both haulers and our vendor relations team, we refined the UI based on their feedback. We discovered a key use case where haulers needed the option to set availability for a specific date or a rolling number of days. This helped us enhance the system, allowing for more flexible, real-time availability management that better aligned with the haulers' workflows.

contract availability.png
current availability.png

Designing the Logic Rules

To ensure a smooth relationship between the default, or contract, availability and the current availability, I wrote logic rules for our engineer to implement. We wanted haulers to easily update their current availability, but when it made sense, the system should default back to the contract availability the next day. These logic statements made sure the transition was seamless, allowing haulers to manage their availability dynamically without manual updates every day unless necessary.

Next, to reduce instances of user error and prevent incorrect availability information from being entered, I wrote a set of logic rules for the UI. These rules helped ensure that updates to availability were consistent and error-free by automatically validating the data as users entered it. For example, the system wouldn't allow the next Saturday to be available if the user set the next available date two weeks out. This minimized the risk of incorrect data affecting our service delivery, keeping the information accurate and reliable.

Portfolio - logic statements.jpg

Designing the Product Availability Interface

When designing the interface for the sales and customer service teams to view product availability, we aimed to eliminate the need for reps to do mental calculations while on calls with customers. Instead of manually figuring out if a hauler could deliver in three days but couldn’t work on Saturdays, we built an engine to handle it. The engine calculated the next available delivery date based on the hauler's inputs in the availability manager, along with business rules. This allowed sales reps to simply see a "Next Available Delivery Date" on their screen, making it easy to confidently communicate accurate information to customers.

Develop & Deliver

Manage Product Development Lifecycle

Managing the product development lifecycle for the availability feature was quite a dynamic process. I kicked things off by drafting the Product Requirements Document (PRD), which laid out what we needed and why. From there, I prioritized dependencies to figure out what needed to come first. As we went along, we continually refined the requirements based on what we learned and the feedback we received. I worked closely with the engineers to set and hit key milestones, but it was all about staying flexible and adapting as we went. This approach helped us keep everything on track and ensure we delivered a feature that truly met our goals.

Detailed QA Testing

With the complex logic and data relationships involved, we knew detailed QA testing was a must. I took the lead in crafting thorough test scenarios to cover all the bases and possible edge cases. As we fine-tuned the code, I kept a close eye on the test results and made sure any issues were quickly resolved. This careful attention to detail ensured that the availability feature was solid and ready to go.

QA testing.png

The Launch

Ah, the launch saga of the availability feature—what a ride! Despite our best efforts and thorough testing, the first launch didn't go as planned and we had to roll it back. The second attempt was a bit better, but still not quite there. By the time the third launch rolled around, we were burning the midnight oil, testing furiously to make sure everything was perfect before the sales team logged in the next morning. And you know what they say—third time's the charm! That final attempt finally hit the mark, and we could all breathe a sigh of relief.

The Outcome

The availability feature was a game-changer! Sales reps unanimously agreed it made their lives much easier, cutting down on mental math so they could focus more on their customers’ needs. Beyond that, the new feature paved the way for automation. With accurate availability data now at our fingertips, customers could automatically schedule pickups, and e-commerce became a much more realistic possibility. It was a win-win all around!

What Came Next?

Once the availability feature was out in the world and running smoothly, we kept an eye on it and made some tweaks here and there to refine its performance. But soon, we identified our next big focus: managing exceptions that the availability data couldn’t handle. To address this, we developed an exceptions feature that helps us handle those tricky cases and ensure everything runs seamlessly, even when things don’t fit the mold.

© 2024 by Abigail Birmingham

  • LinkedIn
bottom of page