Reinventing HR

Improving the way millions of hourly workers get paid


rethinking HR time feature

In 2015, ADP had a line of HR products geared towards specialists that was difficult to use for employees. To address this, ADP opened an Innovations Lab to reinvent HR.

I was part of an ambitious project to create an intuitive, unified Time experience, helping millions of hourly workers get paid properly.

I have omitted confidential information in this case study. All information in this case study is either public knowledge or a re-imagination of my own and does not necessarily reflect the views of ADP.

My Role

For 2018, I was responsible for leading the design of new features and enhancements for the Time experience across Desktop, Mobile, Tablet, and Kiosk.

DISCOVERY & CONCEPT I worked with product managers, developers, and UX researchers across multiple scrum teams to generate insights and create concepts to address customer needs.

EXPERIENCE STRATEGY & VISION I focused on goals and outcomes of design by sharing prototypes, presentations, and frameworks to help drive decision making.

DESIGN EXECUTION & ITERATION I delivered wireframes, flows, and prototypes to execute features and supported scrum teams through production. I also worked with data to test, iterate, and refine designs.

LEADERSHIP I frequently presented case studies and processes to senior stakeholders, other teams, or at ADP wide forums. I conducted UX Seminars for designers across ADP.

HR time mobile


Convert Time into Money

For an hourly worker, time literally is money. The amount they bring home every pay period is directly related to the number of hours worked. For many workers, recording their hours is an inefficient or manual task. For many companies, getting an accurate record of an employee's hours worked is a cumbersome process as well.

Our goal was to facilitate the accurate and efficient entry of time, so that workers could get paid properly.


Consumerize HR Upfront

Our new employee and manager self service (ESS & MSS) was built on a new front end stack, driven by APIs from various legacy back-end time systems. This strategy enabled us to go to market much faster, but also had a tremendous impact on the quality of the experience we could deliver.

backend extensibility graphic

user facing UI graphic

The strategy was to “consumerize HR” with employee and manager self service in mind, creating new mental models where needed, and optimizing for the mass market rather than a niche group of practitioners.

The goal was to break down product silos, create new universal mental models, and hide the system complexity of various back-end flows. This meant often facing pushback from practitioners, and leaning into our user research to test our hypotheses.

Our team had a hybrid of decentralized vs. centralized organization. Each designer was embedded on a product team with a triad, and also frequently met with the entire design team for standups, design reviews, and discussions to ensure a unified experience.

I worked closely with the Time product owner and engineers to execute features in the current and upcoming sprint, while concurrently working with other designers and stakeholders to plan future work and ensure system consistency.


User Insights

Together with a UX researcher, we conducted regular discovery, concept, and usability studies of 5-8 participants, as well as client site visits. Here are some key insights that drove design philosophy:

There are two major segments of hourly workers: those who clock in and out, and those who enter their hours on a timecard.

The primary manager segments are those who lean into making sure every single detail is correct, and those who don't really have time to do administrative managerial tasks.

An on-call nurse records time differently than a fitness instructor, expecting mother, or software engineer.

Despite time entry being a high stakes activity, both employees and managers try to minimize time spent in HR systems.

Inaccurate time entries such as missed punches cause employees to be paid incorrectly and give managers more work to fix.

Users are frustrated when completing a time task requires switching between legacy and new systems.

Research done in collaboration with Aaron Miller

Do More than Clock & View Pay

In its current state, our product was essentially a clock in/out button and (successful) pay stub visualizer. Over 80% of our usage was for the Pay feature.

ADP Mobile App with Pay and basic Time

The reality was that employees and managers often had to manage a seperate legacy login to do more complex time workflows, such as requesting a leave of absence or approving a batch of timecards.

Requesting Leave via eTime, another ADP Time system

Even though these users wanted to switch to the new experience, they were forced to continue working in the older systems to complete their tasks.

Naturally, the question became: How might we enable employees and managers to complete their tasks?

The user adoption problem: our new experience was a "golden pier with broken ships"

Many fingers pointed to “feature parity” with legacy systems as a major need, and our PO had pressure to ship features ASAP. Chasing feature parity however wouldn't help us solve user problems any better than today's solution. I reframed the features my PO had planned as benefits for the user, and to think in terms of achieving outcomes. To quote Theodore Levitt, “People don’t want to buy a quarter-inch drill. They want a quarter-inch hole.”

FeatureJob to be Done
Team Timecards (Manager)Manager wants to efficiently approve all their employee's timecards
Schedule & Shift Swap (Employee)Shift employee wants to view and modify their work hours
Total Absence Management Integration (Employee)Employee needs to take time off for family, illness, or child birth

Finally, we needed to identify the information architecture of how all these different time features would fit together.

ADP time mind map


Plan, Enter, Review

To achieve our overarching goal of accurate and efficient time entry, I identified three main phases of the time entry process:

  1. Plan - When am I supposed to work?
  2. Enter - Record the time I worked
  3. Review - Check and approve the time I entered

As they say in economics, all models are wrong, but some are useful. This framework allowed us to organize features in the context of the user journey.


View and Modify Work Schedule

I designed a new Employee Schedule and Shift Swap based on a calendar to take advantage of the desktop form factor, that allowed employees to quickly see the hours they are scheduled, any transfers they might have, time off requests pending, and shift swap requests. The mobile experience would default to a week list view.


Take Leave of Absence

To eliminate the seam of having to request Leaves from another system, I worked closely with the PO and lead developer of the Leave team to design and coordinate a unified time off experience. Again we aimed to simplify the experience for a non-specialized user or practitioner, so we worked to eliminate system jargon and optimized flows for user journeys.

Leave of absence

Industry JargonUser Centered Language
Continuous DurationAll at once
Intermittent DurationBreak it up
Precertified Intermittent DurationBreak it up, with estimated dates
Supplemental Frequency & Duration Deviation CushionEstimated absences
2 episodes per interval, 4 hours per episode2 times / week, 4 hours each
User-centered language in collaboration with Aaron Miller & Chris Lammer

Efficient Time Entry

When it came to improving the clock tile, we had two major approaches -- focusing on the users next action or giving information about their current status. In both approaches, the previously prominent "current time" has been given less attention, due to the presence of clocks on computers and phones.

option Aoption B

Tile designs in collaboration with Serafin Vazquez & Shayne Bowman

After a round of user testing, design A performed slightly better in terms of user comprehension. However, to truly get buy in on this new design, I had to figure out how to include all the necessary workflow actions into this tile:

Timestamp tile actions


Team Timecard Approval

The final step typically before an employee gets paid is for a manager to approve their employee's timecards to send to payroll. I designed a view for managers to quickly skim the hours, status, and breakdowns of their employees for a pay period, as well as performing bulk approvals for efficiency. For the more scrutinizng manager, they can also view the details of each timecard.

Whiteboarding in freehandBrainstorming and whiteboarding

Critique in person print outsDesign review and critique

Prototyping in KeynoteVision video in Keynote

Prototyping in principlePrototyping in Principle

I often paired designed / programmed with an engineer throughout the development cycle. Thinking through code helped keep my designs grounded in systems thinking, and had a major influence on how I componentized different elements. It also made me think through the lens of cost benefit of building a certain interaction, such as the calendar popover positioning.

Calendar interactiond design animation

For detailed animations / interactions, I would sometimes provide small code snippets for the developer as a reference.

For complicated flows like Requesting Time Off, I created high-fidelity prototypes with Sketch + InVision to show both the happy path and the various branched flows.

Leave flow

Finally, I created vision videos and prototypes to help imagine what could be. This was the case when the UX team wanted to explore what could be possible with voice and chatbot technology.

Key Outcomes

Achieved 20 million registered users

Top 5 Business App in iOS App Store

Increased Existing Client Adoption by 5%

Reduced time on task for timecard approval by 30%

Several new clients implemented for net new revenue