Scheduling Desktop Product
Active911 is a software company that coordinates with dispatchers to send notifications to emergency first responders. This is facilitated by their flagship mobile product, ActiveAlert.
I started working for the company as their first and only design hire in Mid-April 2020. My first task was to create the company's second product, a desktop scheduling software tailored to firefighters' irregularly rotating shift schedules.
The new product needed to accommodate the various rotations used by many firefighters, as well as custom rotations that any first responding personnel could ever want. It needed to incorporate filling positions with specific people and have the ability to make changes to individual shifts as needed.
Market Research, Customer Interviews, User Flows, Wireframes, Low Fidelity Prototyping, User Testing, High Fidelity User Interface and Interaction Design
Figma, Sketch, InVision, OneNote
Mid April - Early June 2020
I began by testing out different scheduling softwares and learning about firefighter rotations. Then I moved to conducting interviews with first responder chiefs of staff who were responsible for making the schedules for their departments. I asked 6 people to walk me through how they currently scheduled their personnel, what's working with that process, what's missing from that process, and what their ideal scenario would include.
State of the Art Key Findings:
Most products don't easily allow for irregular patterns of rotating shifts
Most products have too many options, making them complicated and unintuitive
Customer Interview Key Findings:
Current state: pen + paper and Excel
Reason: high price and lack of fire-specific accommodations from other softwares
Ideal state: Being able to specify a custom template then fill it in
Reason = Wide variety of scheduling patterns across departments, usually use same template every schedule
Two distinct scenarios:
1. Paid departments who have the same people on the same rotating shifts
2. Volunteer departments who receive availability calendars and create on-duty schedules based on those
DEFINE ACCEPTANCE CRITERIA
I shared my findings with my product manager and we worked together to define the acceptance criteria for both the MVP and the future state of the product, keeping in mind the business need and customer needs.
Allow creation of multiple schedules
Create custom rotating shifts within a schedule
Use common firefighter shift templates
Create positions and add them to shifts
Create users and add them to positions within shifts
Shift lengths are only 24h
Users can claim shifts
Users can request shifts
Positions are restricted based on qualifications
Send mass emails to get shifts filled
Fully customizable shift lengths
Once we defined what the product needed to do, we dove into the main problems that needed to be solved:
"How might we arrange all the components in a logical and intuitive way?"
"How might we provide a fully customizable shift rotation mechanism that is simple and intuitive?"
When I have a complex problem to solve, I like to sketch out everything I know about the problem: relevant definitions, user needs, take inventory of the requirements, and just brain dump so that I can wrap my head around the issue. For this particular problem, I first needed to visualize how schedules, shifts, positions, and users related to one another, so I used physical objects to help me understand each object's relationship to the others.
Scenarios To Consider
Overview Scenario 1:
Department in an urban area on a California schedule (24h on duty, 24h off duty, 24h on duty, 96h off duty) with 12 full time employees and 23 volunteers. Department relies on volunteers to fill the gaps when full timers are out.
Overview Scenario 2:
Department in a rural area on an ABC schedule (24h on duty, 48h off duty) with 3 full time officers and 18 volunteers. Department relied on volunteers every day to respond to calls.
Specific Scenario 1:
Each of the A, B, and C shifts require one duty officer, one driver, one medic, and at least three firefighters. Only qualified personnel can fill those roles.
Specific Scenario 2:
There is a weekday shift, a weeknight shift, a weekend day shift, and a weekend night shift. There are assigned duty officers for the night shift, but the rest of the positions rely on volunteers. The weekday shifts are occupied by full-time paid personnel and the weekend day shift relies on volunteers.
Brain Dump Example
Once I understood how everything worked together, I thought about how the user would actually go through and create the schedule. I went back to my initial interviews to get information about how admins created their schedules, then used that to create the schedule creation user flow.
DESIGN AND PROTOTYPE
During this stage I checked in with my product manager almost daily, presented to the developers and QA engineers twice a week, and checked in with users at all the major breakthrough points.
Once I discussed the user flow with my product manager, I began sketches and wireframes:
Wireframes Ready For Testing
After refining the flow and wireframes, it was time to check in with the users. I created low fidelity prototypes and interviewed 4 of the same chiefs of staff.
The terms and concepts resonated with people, and the overall flow made sense to everyone
It become apparent that the mechanism for creating the schedule was incomplete, not allowing for enough customization, and leaving time gaps with certain configurations
I needed to come up with a new mechanism for users to have even more freedom over how their shifts would fit together
I went back to the wireframes and experimented with different ways to create the rotating schedules with more flexibility. The breakthrough of having the dropdown lists reflect through interactive days came during a checking in session with the product manager and the head of engineering.
Schedule Creation Wireframe
The final mechanism was a combination of drop down list to select the:
number of shifts
length of the shift
number of days until the sequence rotated
Those options would reflect in the section below and users can drag and drop the shifts into the days to create their custom rotations.
People can also select from a template to pre-populate the drop down lists and interactive section.
After delivering the annotated designs in June 2020, the final product was deployed in September 2020 in a beta state for 100+ agencies who signed up.
Overall the concept was well-received. The adoption rate was lower than we expected. Upon doing more user interviews, we found out it was because of it's lack of features (such as users claiming and requesting shifts, mass email sending to get shifts filled, integration with payroll)and not having shift lengths other than 24h, but mostly due to a legacy issue of non-admin Active911 users not having accounts to access the website to even view the schedule.
Throughout the fall of 2021 I worked on creating more features so that:
Shift lengths are fully customizable
Admins can specify whether a position requires approval or not it order to occupy the position within a shift
Admins can approve and deny shift requests
Admins can send out mass emails to personnel to get specific positions filled
Users can claim shifts for which they qualify
Users can request shifts for which they qualify
As more features came out, more agencies started to adopt the scheduling platform. In January 2021, we decided to make an accompanying mobile app to boost usage.