Elena FOlk for NICE
Shift Planner for a Call Center
UX Design Exercise
I'm guiding you through the process, which might be quite informative
Stage 1
Discovery Interviews
I performed 2 discovery interviews with call center agents with different backgrounds, and had some additional insights
1
There are various requirements for each shift
There should be particular number of agents speaking particular languages, like: two with French, one with Russian, five with Hebrew. Agents can have specialisation (but I won't add it to prototype). Number of workplaces is limited.
2
Requirements also depend on call center statistics
And calendar is important too to make prognosis. Some call centres have more load on weekends, some have less.
3
Not all agents can swap shifts
Eg, Hebrew speaker can't swap with French speaker
4
Besides 5/2 and 2/2, the schedule can be custom each week
In that case, agent define two days: one day when they definitely want to work, and one when they can't. They give this information to their manager in the beginning of the week and receive the schedule in the end of the week. This also will be out of the scope for the exercise.
5
Specializations
They exist. Agents have different sets of skills. But I'll ignore everything but native language and suppose that everyone does the same job.
If it was a real world, I would also...
Ask business analyst about different types of companies
Recruit more agents
Define various samples based on a simple questionnaire
Have interview guidelines, specified for different samples
Throw less features out of the scope :) Actually, I won't be the person who defines the scope. Product manager will be.

Stage 2
JTBD model
Manager
1
Collect schedule preferences from agents
2
Set schedule
Agent
1
Provide schedule preferences
2
Switch shifts

Stage 3
Information Architecure
System Entities
Shift template
- Start time
- End time
Shift
- Related shift template (can be none)
- Assigned agent
- Confirmation status
User
- Name
- Role
- Hourly rate (from role, can be overrided)
- Default working hours (set of time intervals; can be none)
- There must be more attributes, but not in this exercise
User roles
- Role type
- - Manager. Plans and controls schedule of the shifts.
- - - Hourly rate
- - Agent. Confirms or rejects shifts.
- - - Agent type
- - - - Flexible schedule
- - - - 5/2
- - - - 2/2
- - - Agent schedule. Set of shifts, related to the agent
- - - Hourly rate
- - - Default working hours. (I don't define data format here. A bit too complicated).
Agent week preferences
For each week:
- No-go days. Time period (stored for 1 week after the defined period is over).
- Fixed days. Time period (stored for 1 month after the defined period is over).
Schedule template
- Name
- Related shift templates
Week
Total set of shifts and agents
- Confirmation status
If it was a real world, I would...
Expect the system analysts to do this. At least I would verify it with them.
Ask them questions like: aren't we going to do some integration with external systems?

And describe errors!

Stage 4
Market Research
Patterns that are already used
If it was a real world, I would ...
Ask marketing managers and product managers to provide me more information about the niche where we are targeting

Make more accent on functionality and features

Stage 5
Outcome
I didn't draw final pixel perfect UI, staying closer to wireframes than to actual interface.
I also chose not to work on Agent's tool and focus on Manager's tool.
The manager has only to review the schedule and add some edits if needed.
It's almost impossible for a person to compose good schedule for 200 people.

My major presupposition was: The Machine can do better schedule, if it has definition of what's god. And it can be defined by law and business needs.

We also could make use of call center load stats. I don't describe it, but definetely the expected load can be associated with corresponding number of agents.
Layout details
If there aren't enough agents, the bar in the chart is red. The UI suggests to draw people from another shift in case this particular time is very important.

After the edits, the shift is fixed and agents can't be drawn for the next edits. Lock can be switched off.
On hover:
- Fixed day, when the agent wants to work;
- Day, when the agent cannot work;
- Total number of hours.
If it was a real world, I would also...
Do more
Create and use real libraries
Make it nicer, if needed

Have definition of done
Thank you
Made on
Tilda