By Cary Feuer, Director of Product Management, ADP Small Business Services
When the Coronavirus Aid, Relief, and Economic Security Act, or CARES Act, became law on March 27, 2020, teams across ADP had already been hard at work for weeks preparing for the flood of new policies tied to this legislation. In Retirement Services, we’d started with the simplest—and highest-impact—changes, such as initiating loans and withdrawals for users affected by COVID-19. By mid-March, we had successfully worked through those immediate projects and then turned our attention to a provision we knew would be much trickier: payment suspensions for 401(k) loans.
Since long before the pandemic, the IRS had allowed 401(k) owners to borrow money from their accounts for what it deems “immediate and heavy financial need,” such as a medical expense or a looming foreclosure. Now, under the CARES Act, borrowers affected by COVID-19 could choose to pause payments on those 401(k) loans until 2021. We knew up to 175,000 ADP users might qualify, and their average monthly payment was $800—a significant amount of money for many families. And we also knew that if even 10% of that group decided to suspend their payments and had to call us to do so, it would likely put a significant strain on our team. More importantly, it would be a headache for users during an already-difficult time. We wanted to give them an easy, self-service option, instead of making them wait on hold.
It was clear we needed a technical solution. But speed was critical—and because suspending payments is a multistep process (including self-certification of COVID-19-related hardship)—it wouldn’t be as simple as checking a box. On the backend, we needed to update money-movement databases and multiple payroll products, reamortize the loans, and create an audit trail, all of which we knew we could do relatively quickly. On the frontend, though, we would normally take our time on development and testing, ironing out every wrinkle to ensure the best user experience. A UI build of this scale might take several sprints to ship across mobile, web, and legacy web platforms. In this case, we didn’t have that long.
Instead, we turned to a new piece of third-party technology, which ADP had recently integrated to allow for faster deployment of simple features like pop-up guides and mini-surveys. Designed for product managers and others to use without the help of an engineer, this technology offers templatized, customizable design patterns—and it had already been vetted by ADP’s Technical, Security, and Legal teams. It was our best, and perhaps only, option to get the frontend of payment suspensions up and running on an accelerated timeline. However, because of all the backend changes each payment suspension would trigger, we’d need to learn how to work with the product in an entirely new way, pulling information out of its API and into our own infrastructure.
Our lead developer joined with our lead development team for a quick feasibility study, and within a couple of days they’d determined our plan could work. So, with added help from one of ADP’s resident experts on the 3rd party software, we all got to work building. Our colleagues in Service Ops helped us develop the content, a UX teammate gave the frontend flow their blessing, and in less than two weeks we were almost ready to ship.
But then we ran into a snag. In order for the third-party product to know which users should see a payment suspension option, it needed to refer to a list of qualified users’ anonymized IDs—and with so many people facing financial hardship and taking out new 401(k) loans, that list was changing every day. Because of the time crunch, we’d decided to upload up-to-date CSVs of user IDs to the product each morning by hand. But this seemingly simple fix was a use case that the product—a relatively new technology still in its startup phase—wasn’t built for. Each day’s upload was taking hours to complete.
Rather than delay the release, we decided to ship our new feature and keep handling the CSVs manually. Contemporaneously, we started work on a mini-app that could automatically break up and upload the CSVs. After a few days of testing, we finally had a feature that was not only fully self-serve for our users, but fully automated for us. Thousands of people have now paused their loans without needing to call in, saving them time and potential frustration—and saving ADP the equivalent of adding two full-time employees. Over the course of the program, our uploading solution will save hundreds of additional hours.
Meet Cary’s four-legged office mate
Even better, our team is more familiar with a brand-new technology that we can now leverage in other creative ways. The next time we’re responding to a fast-developing situation, such as a hurricane, we’ll have this 3rd party technology in our toolbox. We’re currently validating it for other use cases, where time to market is less of a concern. With just a few weeks of work, we were able to expand our team’s development toolset, better serve our users when they needed it most, and make an investment in the future of ADP.
This is just one way that our tech teams have added new tools into our tech stack. This feature is now available for all ADP Retirement Services clients that offer CARES Act provisions to their employees.
Cary Feuer is a Director, Product Management for Small Business Services at ADP and is based in New Jersey.