USENIX supports diversity, equity, and inclusion and condemns hate and discrimination.
Time Management for System Administrators
Ever since I interviewed Tom Limoncelli before LISA '10, I've wanted to take his time management training. Ironically, I never seemed to find the time, until this year. I was pleased to see that the local attendees already had sufficient time management skills to be in the room on time. We have no way of knowing if the remote attendees were similarly prepared, so I'll give them the benefit of the doubt.
Time management is hard, Tom tells us. Nature has not equipped the human mind to be good at memorizing or time management. Those who are good at time management aren't good at time management -- they're good at coping.
System administrators have an even more difficult time than the average human. Our work is based on two conflicting goals: the boss likes for us to get work done, and the users like us to be available. The interrupt-driven nature of system administration makes both of these challenging. Fortunately, system administrators can be very adept at dealing with challenges.
A good time management system is based on the principles of using one system, conserving brain power, and using routines. In order for the system to be effective, policies must be in place to support it. The three key policy points are defining the official ways for users to get help, the scope of the work supported, and what constitutes an emergency.
The system administrator has two basic tools for managing time: to-do lists and calendars. There is no particular form or medium that this must take. Electronic services can be handy, but paper has some compelling features itself. Whatever the method of keeping the list and calendar, organization is the key. All appointments, due dates, and the like must be recorded in the calendar. All tasks must be recorded on the to-do list.
The key to an organized to-do list is Tom's "cycle" method. This involves not one to-do list, but 365. Each task is listed for a day. Tasks that remain unfinished are moved to the following day, unless they absolutely must be done that day. Any task that takes less than two minutes to do is not worth delaying. It's important to remember that it's okay to defer tasks that don't get completed. As Tom said, "If you're going to feel bad leaving work when there's still work to be done, you're going to feel bad for the rest of your career. You can feel good about managing tasks, though."
Each day should start with five minutes to review the day's tasks and calendar entries in order to plan the day's work. Prioritizing tasks can be difficult, but it is an important skill. The simplest way to prioritize is using a first-in, first-out model. This isn't always the most effective, but it's very easy, and far better than spending your whole day agonizing over how to prioritize the tasks. Another option for prioritizing is to use the customer's perception of how long a task should take. Quick tasks, such as resetting a password or assigning an IP address, should be done first. Tasks of a similar nature (or from the same user) should be batched in order to reduce context switching.
Routines are also helpful to manage time. Buying gas on the same day of the week can be a helpful routine. Routines should be developed for repeated events that aren't scheduled, tasks often-forgotten, maintenance tasks, and relationship development (such as walking among the users). Key meetings can be scheduled for the same time each week, to avoid wasting time trying to figure out a good time for everyone.
Meetings are a time management challenge all by themselves. In order to keep meetings quick and on-topic, they should begin when scheduled, even if no one has shown up yet. Any audio/visual equipment or other resources that are needed in the meeting should be set up before the meeting starts. Meeting participants must resist the urge to check email, conduct back-channel chats, or make distracting (if funny) remarks. Meetings are often unproductive, but especially bad ones have no agenda, are periodic, and have large or ambiguous invitation lists. These should be skipped when possible.
In addition to being good meeting participants, coworkers can help each other manage time in other ways. Colleagues can use each other as mutual interruption shields, splitting the day so that someone is always available to handle interrupts while the other works on project tasks. When interrupts do arrive, they should be recorded on the to-do list, delegated to someone else, or acted upon.
Even though I picked up some of the basics of Tom's time management methods from his "The Guru Is In" session at LISA '11, I now have a much better grasp on the concepts. I'm already thinking of ways to incorporate better time management into my day. With any luck, I'll manage to find time for the "Advanced Time Management" tutorial at LISA '13.