Summary
- Scheduling is difficult because it is often thought of as handling only "appointments"
- In reality, there are things other than "appointments." For example:
- Working hours
- Modes (how you spend your time)
- Personal tasks (personal tasks you'd rather not show to others)
- Solution:
- Handle each domain separately with one sheet each, like appointment schedules, working hour schedules, etc.
- This allows for independence and clarity for each domain and enables advanced integration
- However, since there is no existing software solution, creating your own is necessary
Background
The Reality of Scheduling ≒ Handling Appointments
Take a look at your calendar, whether it's Google Calendar, Outlook, or any other. Alternatively, check the schedules of your team members.
Calendars are convenient but also difficult to view and use. Ideally, you'd prefer to avoid them, but that's not an option. Not just managers, but even on-the-ground engineers, likely including yourself, are constantly maintaining your calendar and struggling to coordinate with others'.
Why are calendars so troublesome?
The simple answer is that we recognize the concept of a schedule as handling only appointments. However, there are indeed other aspects than just appointments.
Beyond Appointments
What are these aspects other than appointments?
For example, "working hours." In group schedulers, you can set this in the configuration screen. When set to 9:00-17:30, it indicates these are working hours, and times outside this range are grayed out, marking them as non-working hours.
If this "working hours" concept wasn't distinguished from "appointments," then likely you'd create recurring appointments to indicate working hours, or maybe separate appointments to show non-working hours. This would be cumbersome for maintenance and annoying in display.
By extracting matters like this outside of "appointments" and handling them differently, such problems can be avoided.
Schedule as a Class, Appointments and Working Hours as Instances
On a more abstract level, there are multiple ways to implement the concept of a schedule. We've already mentioned "appointments" and "working hours," but there are others too.
In object-oriented terms, the schedule is like a class, while appointments and working hours are like instances.
This article discusses, based on this viewpoint, the existence of appointments and working hours, and how they should be uniformly handled.
Scheduled Domain
Define the Terms
Firstly, Schedule refers to a data structure that defines what fills which parts of the 24-hour day frame.
Next, Scheduled Domain or simply Domain refers to the type of data written into the schedule.
This allows for detailed schedule operation.
Examples of Domains
Let's look at examples of domains.
- 1: Appointments
- 2: Working hours
- 3: Modes
- 4: Tasks
Appointments and working hours have already been explained.
Modes refer to ways to spend your time. Typically, there are the following five:
- Free mode: Available. Can switch to other modes as needed
- Meeting mode: Mainly in meetings. Adjustable even with scheduled appointments
- Constrained mode: Engaged in events, etc. No room for adjustment
- Work mode: Primarily doing personal tasks. Not accepting meetings, but will check chats
- Focus mode: Engaged in personal tasks. No meetings, no chat, and notifications are off
Tasks refer to personal tasks. These are not tasks agreed upon within the team, but how you personally interpret them. Or simply personal errands. The characteristic is that they can't be shown to others. Here are some examples:
- Prepare a presentation to explain to the obtuse manager why a document-oriented DB is better than RDB. Schedule preparation and material creation
- Reconsider the collaboration method between A and B, who don't get along
- Write a resume to look for a new job, for which you'll sift through and organize information on past work
Handle Schedule as One Domain Per Sheet
Now for the main topic.
To effectively handle schedules, use a one domain per sheet approach.
So, taking the above four domains as examples, handle them with four sheets as follows:
- A schedule that handles only appointments: Appointment Schedule
- A schedule that handles only working hours: Work Schedule
- A schedule that handles only modes: Mode Schedule
- A schedule that handles only personal tasks: Personal Task Schedule
With this method, we gain the following benefits:
- Schedules are separated by domain and functionally simple, making them easy to maintain and read
- Overlaying schedules allows for advanced integration
- It becomes easier to define automation
- For instance, "Automatically decline schedule adjustments during focus mode"
if a schedule adjustment comes during focus mode, then reject that request
Operate Scheduled Domains
Unfortunately, there is currently no calendar or group scheduler adopting the concept of scheduled domains. This could be because this concept is newly developed by me.
For personal use, with Google Calendar, handling "one domain per sheet" is somewhat feasible.
However, the essence of scheduled domains lies in the integration between schedules. A dedicated scheduling software will likely have to be developed on your own.
Top comments (0)