Sunday, July 01, 2012

Task lists, notes and tickets

Since jumping into the world of back-end IT support for office and financial systems, I've found it interesting that in the IT world that issues/incidents/requests are tracked using a ticketing system. When something needs to get done, a ticket is generated and passed around the appropriate groups/departments and then a person is then assigned to complete the task.

In theory, it looks like a queued system of tasks and a pool of processors (people) working away to keep the queue empty-- a programming esque way of dealing with tasks. Unfortunately, theory and reality diverge in this case.

The particular IT department I work in has the server guys and application/data guys in different teams (and this is still a gross simplification). There are divisions with business analysts and programmers as well... long story short, with many different departments (even located in different regions) things "naturally" take a long time to complete.

When something simple takes 4~6 days to complete:

Since starting the new job, one of the biggest pain in the rear is keeping track of open issues. The longer it takes for an open issue to get done, the more open issues that one needs to keep track of. The process of getting folder access permission between 2 groups and then automatically sending data to folders would generally be as simple task as all you would need to do is setup a share and then allow people with certain class access to the folder.

The problem in this case, a formal e-mail needs to be sent out to get permission to  grant access, then the request needs to be forwarded to the network team where they'll setup the access and then another group needs to be contacted to setup the daily file transfer process. Since each step is dependent on each other, it can take easily 3~4 days if everything goes well. If there are problems along the way or if the request is a little exotic, things can end up taking longer.

Suppose next that requests come in at 4 per day and the turn around time for a single request is 4 days. At any one point, you'll have 16 open requests to deal with on a given day since it takes time to have each case resolved.

When I was working as a researcher, each person might only have 3~4 projects on the go at the most over a 2~3 month period. The number of open projects/tasks that one needs to keep in mind is very different.

I've since started keeping daily logs of what I've been doing to keep up with everything I've been doing and even that has it's limitations.

The perfect todo list is a holy grail:

 Traditional task lists are very primitive devices, but it has been the backbone of semi-structured human being since forever. Either you keep a list of things that needs to be done or you don't and do whatever you feel like. As much as I value unstructured time, keeping a list of things that needs to be done, or even things that I want to get done and executing on them is equally important.

If you've heard that taking notes or jotting down ideas down in a notebook is good for you, the most important thing about keeping track of ideas is that you're hashing out a list of things that you've thought about and want to do.

I value the paraphrased words of Richard Hamming when he said that "you'll travel much further if your steps are planned rather than taking a random walk." The difference in distance travelled is quadratic (and this assumes that you get to the furthest point of your random walk and *stay* there).

Humans are bad at context switching:

The human mind works in a similar way to computers when it comes to context switching (a fancy word for changing tasks). In generally, when a context switch occurs, what was loaded in the CPU get swapped out and the state of the new task gets loaded in and the processed. This is great when the state and knowledge of the task in progress can be accurately stored. For the case of computers, this works fairly decently, for humans, unfortunately, this isn't the case.

The easiest way of mitigating performance hits for context switching in humans is quite simple: reduce the amount of data that needs to be swapped out so that the "loading" and "unloading" of information into the mind is reduced. People serving specialized functions is the obvious reason why many people are given "jobs."

I believe that there are 2 ways of improve one's ability to context switch. The first is to work on a set of inter-related tasks (ie a project) such that you're not need to remember and forget information when you do a new task. The second is to create a "remembering" infrastructure that allows you to store information about a task the last time that you left it.

Assistants:

Powerful people had assistants, whether they were secretaries or otherwise. The point of having assistants is to create an infrastructure where information was automatically catalogued, packaged and available on demand. We are starting to see some great work going in that direction with platforms such as Evernote. As a note taking platform, it is fairly useful, but there needs to be a better link between the gathering of information and correlating that into actionable tasks and the management of those tasks.

I've been reading on and off on productivity and task management, it is an interesting field.

No comments: