Summary of Time Management for System Administrators

This post summarises and reviews the book "Time Management for System Administrators" (companion site: Everything Sysadmin) by Thomas A. Limoncelli.   My role increasingly includes systems to administer, which means more interruptions taking away from development projects, so hopefully this will be useful.

Core Principles
I enjoyed the principles he presented with computer analogies, which I've paraphrased:

Conserve RAM: Working memory is like CPU cache, short-term memory is like RAM, long-term memory is like a hard disk - and a digital task-management system is like an SSD.  Page out all future tasks and appointments to your task manager, freeing your short-term memory for the project at hand.

Conserve CPU: Cultivate routines, habits and precomputed decisions -  "Think once, reuse the result many times" - so you can allocate more of your thought-cycles to projects.

Lock critical sections: Shield yourself from distractions and interruptions during Project Time.

Minimise context switches: Deal efficiently with interruptions to reduce context switching costs.

Prioritise like QoS: Too many packets arriving? Drop low-priority packets from the middle of the queue.

Then there were some major themes: deflecting interruptions, developing routines, and managing workflow.  Below I've paraphrased summaries of key ideas under those headings.

Deflecting Interruptions
Interrupts costs a context switch, time to deal with it, another context switch back, and any time to fix mistakes you made due to broken concentration.
  • If someone has to be on-call for interruptions, take it in shifts with a buddy to be the "Interruption Shield" (or "Interrupt Handler" :)
  • Interruptors only need to feel acknowledged, most of the time the task can be done later.
  • Perform one of 3 actions while the interruptor is present, then say "thank you" and the interaction is over:
    1. Delegate the task to a specific person.
    2. Record the task in your ticket system for later.
    3. Do the task there and then, while they watch you.
  • Worst outcome to avoid: for the interruptor to leave you there busy with their task.
Setting aside Project Time
Advice on working on large projects, as opposed to independent tasks.
  • Use your hour(s) of "Peak Brain Power" for Tough Project time.   Often the first hours, before the office is full and people are interrupting (or late at night, if you lack a social life).
  • First hour is totally wasted if you use it to catch up on mail or news.
  • Remove distractions by turning off IM, email, feeds, notifications.
  • Deflect interruptions using the "Delegate, Record or Do" rule.
  • DO NOT check mail first thing.  (1) no-one's there to read your replies anyway, (2) anything really important should be SMSd to you, or at least blink on your monitoring dashboard, (3) you know you would be compelled to read ALL the mail.
Developing Routines
Routines save both "RAM" because they are easier to remember, and "CPU" because you can compute the routine once and then use it over and over.

Some good routines and pre-computed choices:
  • First thing in the morning, make your daily list based on calendar, task list, request tracker.
  • One hour per day assigned to flush queued-up "interrupt" tasks.
  • Weekly meeting with your line manager.
  • Weekly customer walk-around to check for unreported issues.
  • Weekly hour devoted to catching up on news.
  • Weekly hour for clearing accumulated emails (delete, or to the wiki or ticket system)
  • Whenever using a door, check for your keys or access card.
  • Whenever editing an unversioned file, make a dated backup, whether it's important or not.
  • Call vendors early in the morning, gives them the whole day to work the bureaucracy.

Managing Workflow  (the Cycle System)

Limoncelli first identifies some examples of bad systems: Pile of Post-it Notes, and the Giant Ever-Growing Todo List of Doom.  Much of the book is about his agile-like "Cycle" system, where you create a separate list for each day of the year and can feel good about completing the just the day's tasks.  It combines task list and calendar. His system also combines office life and the rest of his life, because sysadmins blur the two anyway. His one daily list contains both employer entries at the top, and personal entries torwards the bottom.

He stresses the importance of using just one system to handle everything.  Unfortunately I have Calendar(s), JIRA GreenHopper board at work, Remember The Milk for personal tasks, and Trello to track personal projects.  That's 5 systems, each with distinct advantages for different tasks.  The problem is there's no one place where I can go to see what I'm doing today.  To combine them I'm going to do the Daily List in the first 10 minutes of the morning, just a Dropbox text file, with short-hand titles of each task and appointment for the day, A/B/C priority and time limit, and maybe a link back to its source.

Some options for handling overflow, where there's too much for one day:
  • Punt low priorities to the next day.
  • Split large tasks 
  • Cut the scope of large tasks
  • Ask boss for help prioritising
  • Delegate tasks
Advice on prioritising, since there's no end to the tasks.
  • Drop low-priority tasks like QoS if you're flooded with new tasks.
  • Give higher priority to projects based on impact: Think of Return on Investment (ROI).
  • Reorder tasks by customer perception of how long it takes: what the customer thinks of as a "quick task" should go first.  
  • "Hurry up and wait" tasks (like ordering new hardware) should also go first.
  •  Special priority for requests from your boss.
  • Manage your boss: (1) share your career goals, (2) only delegate upwards if it requires boss's authority, (3) understand boss's goals and help accomplish them.
  • Fix conflicting priorities by getting the sources to communicate with each other.
General Advice
Collected a few unrelated bits and pieces:
  • Procrastination can arise from fear (of change) and doubt (of succeeding). 
  • Self-esteem is like poker chips you need to make "bets" on life, chips that can be increased by kind acts - and you can be kind to yourself.
  • Fall asleep like a PC: dump contents of RAM to disk, then hibernate.  RAM needs to be powered on and continually refreshed.  Meaning: empty all the issues taking up your attention (RAM) onto paper (disk) so that your brain can hibernate without fear of forgetting.
  • Don't trust your brain.  If someone asks you for something verbally and you cannot record it immediately, ask them to send you mail or open a ticket - as opposed to just saying "yes, I'll do it".
  • Don't work late. Most people have 4 or 5 productive hours in them each day, and the rest is spinning your wheels.
  • Vacations: single days and long weekends are not enough! Takes a few days to really unwind, and you don't want a backlog of chores.  Take long vacations, with no computer.
  • Pick from a limited set of email actions: Filter, Delete Unread, Read and Delete, Read and File, Read and Reply Then Delete, Read And Delegate Then Delete, Do Now And Delete.  Record any important information elsewhere (e.g. wiki), because email sucks at everything.
  • Make a shell alias or function any time it takes you a few minutes to construct a command line.
  • Time waster is anything with low ratio of reward to time spent.  Tempting time wasters are irresistible and pull you in: you need a rule to set a timer to avoid wasting hours.
Scattered about the book were a few sayings that he to hand:
  • Sooner is better than later.
  • Yes I can.
  • Don't trust your brain.
  • Think once, do many.
My evaluation: "Time Management for System Administrator" is a book worth reading at least once (the first half more so than the second half) if you experience a lot of interruptions because sysadmin makes up at least part of your job.

Popular posts from this blog

A comparison of file synchronisation software

Growing large crystals of Copper (II) Sulphate