Archive for the ‘Time Management’ category

Planning

December 21, 2009

I have a few difficulties with the way our team currently decides to plan what to work on for the next quarter or two. I’m not sure how to resolve this yet, but I thought I might just lay it out and see if anything interesting pops up.

Currently the managers decide what our priorities are for the next quarter by looking at all of the open bugs in Bugzilla. They take this list and present it to each of the major customers. Each customer looks at the bugs (really just the titles) and picks which ones they think are important to them and rate them as a priority. This information is collated by the managers and a list from most important to least important is generated. The top items that can be accomplished in the quarter are what we’re supposed to work on.

I have a few problems with this setup however. First of all, it requires that all possible future work be written down as a bug in Bugzilla and that the title of that bug not really reflect the technical nature of the problem, but be written in a way that’s marketed towards the users so that they might rate it higher. It also leaves all of the decisions up to the customers who can be very feature focused and does not allow us to perform important refactoring or rewrites of sections of the code. Building new features on an already unstable base can be dangerous if  you don’t have the time to fix the foundation first. I do think that the customers should have a very large say in what the development team spends their time on, however the development team is never involved in this process which is unfortunate and bound for failure.

It is also difficult in that all ideas that you might want to work on or have discussed with coworkers have to be entered into Bugzilla to be considered. This isn’t too big of a problem, just an adjustment in work flow, however often managers don’t like bugs to be opened if they can’t be fixed in the shorter term. We’d have to open up very long-term bugs to have some of them worked on at all due to the selection process.

We also have no real way of addressing some of our larger issue scalability problems. Many of the problems are due to our underlying data model, however fixing the data model could break current user automations. No customer is going to vote on a bug that might make their work more difficult in the short term, even if it improves it in the long term. What most likely will result is we will scale using our current model until it breaks and can’t scale any more, then our users will be in a very uncomfortable situation having to convert to a new data model that we’ll have to create quickly and under pressure. This new data model probably won’t be as robust as something we developed out of crunch mode. The conversion process for customers will also be more painful as there will have been more time for them to create automations and other processes based on the old data model.

I don’t have a solution to this, but perhaps rereading this post after a holiday break will provide new enlightenment to me. For everyone who’s about to start their vacations (if you get one), Happy Holiday’s. For those who still have to work for a few more I’ll be making my last post of the year on Wednesday.

A Month of the Pomodoro Technique

December 16, 2009

[The new location for this blog post is here. This blog has been moved to http://www.colintmiller.com/]

It has been one month as of today that I started using the Pomodoro Technique at work in an attempt to increase my productivity. I think that after a month of use I can provide an evaluation of the technique; what I find good about it along with some of the negative sides. While I think that using pomodoros has increased my productivity overall, there are still some gaps that I have yet to discover ways of filling.

There were several reasons why I started to use the pomodoro technique. I was first drawn in to the concept by an article in the free PragPub magazine. This made me interested enough to read the Pomodoro Technique Illustrated book. I decided to give the technique a try to see if it could allow me to focus more on my work. I had been bouncing a bit too much from task to task as new tasks get added on by management, and older tasks would get forgotten about until they were asked about again. The technique was my own decision to improve myself as far as time management and work efficiency.

A quick intro for those who don’t know: The pomodoro technique is a time management system for minimizing multi-tasking along with prioritizing activities. Work is divided into 25 minute chunks called pomodoros that are separated by 5 minute breaks. The main idea is that for those 25 minutes you should be focusing 100% to the task at hand and avoiding internal and external distractions as much as possible.

My Process

There are many aspects of the pomodoro technique that I really like and that have helped me over the last month. I think the first and most important one is the artifacts that the technique produces. By artifacts I mean the Activity Inventory, the daily Todo sheets, the memory maps, and the Record sheet. These items add a lot of organization to my workflow along with preventing me from forgetting tasks I may have been working on.

For the activity inventory, I use a fairly basic legal notepad. I write down entries of things to do, one per line. The sheet often extends to multiple pages. At the end of the day I cross of anything that was completed on my Todo sheet for that day so that I can just look at the uncrossed entries when deciding what to do at the start of my day. I sometimes put my estimated number of pomodoros next to each item, but not always. I also try to write down everything I can think of, even if it isn’t work related but I want to get it done at some point. Some non-work related items I can get done during the day, but others are just good notes to myself that I can read each day and give myself reminders like making dinner plans for the week or calling the dentist.

My Todo sheet is done on a large spiral notebook of grid-paper. Grid paper is my favorite type of paper for notes, and it works very well for the Todo sheet. I leave 4 boxes empty to the left of each entry in case I need to add a U (unplanned) or small note to a task. I try to leave at least 7 boxes free on the right hand side so I can draw in the pomodoro boxes. I write down each task I want to do that day in pen and then I draw empty boxes in pencil to the right of it, each box indicating a pomodoro I think it will take. There’s usually enough space between those boxes and the item that I use that for marking interruptions. At the end of the day, I use the back of the page to draw up my memory map for the day.

The record sheet I keep in a spreadsheet (I use Numbers from iWork). I have 3 sheets on my record sheet spreadsheet. The first is an overview record sheet. Each row contains one day, with the columns indicating the date, completed pomodoros, internal interruptions, external interruptions, underestimated pomodoros, overestimated pomodoros, completed tasks, incomplete tasks, unplanned activities added to the todo, and unplanned activities added to the inventory. At the bottom of this sheet there is a line that gives averages for each of these columns. More on this a bit later.

The second sheet is an extended log. Here I make basically a copy of my todo sheet for the day. It contains the name of the activity, the number of pomodoros spent on it, two columns for guess errors in case I guessed the wrong number of pomodoros to complete the activity, the number of internal interruptions, external interruptions, if the activity was completed (I just put in an x if it was), and any comments. There are total lines for each day.

The final sheet is a chart sheet. Currently I only have one chart, but I’ll probably expand this when the task makes it to my todo list. The chart shows completed pomodoros for each day. I just use the data of the second column (completed pomodoros) from the first sheet to create this chart. The chart gives me a good indication of how well I was able to perform on each day and shows me some trends. I don’t show the record sheet to anyone else so it’s just for my own purposes. This whole system isn’t something I would bring up to managers during a review or anything, that would bring too much stress into the project and would lead to the temptation to lie.

Positive Aspects

One aspect of the technique that I like is the recording of pomodoros spent each day. When starting a day, you can set a goal for yourself to beat your average number of pomodoros done in a day, which is recorded at the bottom of the first sheet of the record sheet. That average is also a good indicator of how much you’ll likely be able to accomplish in a day, so you can add tasks to the todo sheet until the number of pomodoro boxes is equal to or maybe one greater than your average. If you end up completing every task, you can spend 5 minutes to add some more on and congratulate yourself for being so productive.

I also enjoy the focus a pomodoro can give to me. I try to be tangentially aware that while I’m doing a pomodoro I should ignore all IMs and emails and try to be bothered by other people around me as little as possible. Those distractions can really get in the way and derail you. If something is really on my mind and I don’t want to forget it I’ll write it down on my activity inventory or todo sheet and mark an interruption, but at least then it’s out of my head and tabled for later. It’s also really nice to be able to mark that X at the end of a pomodoro. There have been many times where I would think about getting up for some water or a snack or something but I have 12 minutes left in my pomodoro. I know that doing something like getting a snack can sometimes drive you completely off course of what you’re doing, and honestly I can wait 12 minutes. The pomodoro gives me the incentive to put off doing those things that end up being procrastinations. Basically letting you procrastinate from procrastinating, which I feel is good.

I’m also finding that having things like the extended log in the record sheet and tracking how long each task takes me that it is easier to estimate new tasks that I get. I tend to have to break down tasks several times, but by doing that and adding all of them together you can get a rough idea of how long a task will take. Also since you know how many pomodoros you can complete in a day (it will be lower than you think), you can estimate how many days longer tasks will take. Very useful since managers are all about the time estimates and wanting to know when something is going to be done.

Being able to make up a todo list daily and work on those items is also the main reason that I am able to write this blog. Often when I start a blog I make a few posts every so often but then I forget to post and it just ends up dying. By promising myself that I will post every MWF and adding an entry at the top of my todo list each of those days provokes me to not be as lax about writing entries. This has worked out fairly well so far as I’ve only missed a few days and I feel more accomplished about my blogging abilities.

Not As Positive Aspects

Ok, this technique is not perfect. I didn’t really think it would be, and I don’t think that there exists a ‘perfect’ technique. Here are some of the faults I find in the technique that impede my productivity. I haven’t figured out a solution to all of them yet.

Pomodoros are an all or nothing affair. Either you work for 25 minutes straight to mark your X or you don’t complete a pomodoro. Since marking that X is the measurable sign of progress, you start to shy away from engaging in an activity if it won’t result in an X. For instance, managers love meetings. I think it is some sort of ambrosia to them to have people sit in a room together bored out of their mind as they rant about things that they think are important. Meetings get in the way of pomodoros. Say I have a meeting set for 4:30pm. It is currently 4:10pm, meaning I only have 20 minutes between now and the meeting. If I start a pomodoro, I won’t be able to finish it because I only have 20 minutes. Managers will come by your desk and poke you to go to the meeting at the exact time the meeting is supposed to start, so I can’t just show up 5 minutes late. In these instances I tend to not start a pomodoro because I won’t have enough time to complete it anyway. I try to fill up the time with administration tasks like catching up on email or organizing, but sometimes I honestly just end up reading blogs.

This can be a real problem, especially if you have lots of scheduled meetings every day or even daily meetings. I had a morning standup for a while that took all of 10 minutes, however it took place about 45 minutes after I got into work. I could spend the first few minutes putting together my Todo list and having my computer turn on. After my todo list was created, I wouldn’t have enough time to do a full pomodoro before the meeting started. This meant that I couldn’t start any real work until that meeting was over, which is about an hour after I’ve come in. So the first hour in my day is wasted because of a meeting and the techniques inabilities to deal with time slots less than your designated pomodoro time (defaults to 25 minutes).

Long meetings, like presentations or informative meetings, are also a small difficulty for pomodoros in that you often don’t get those 5 minute breaks every half hour. This makes me cautious on counting meetings in my Todo sheet as something I can mark off as having spent a pomodoro or two on. Sometimes I feel I can do that, other times I’m not as sure.

I think overall my main problem might not even be with the technique at all, just meetings. It’s an area to consider.

Overall

In the end, I like using the pomodoro technique. It’s fairly simple and it keeps me organized. I found a very nice simple application for the mac for measuring pomodoros so I don’t need a real kitchen timer. I like this because it’s easy to see on my computer, doesn’t get in the way, can provide the ticking sound, proper notifications, and has easy keyboard shortcuts. It’s also good that if I keep the volume at the correct level on my computer, it doesn’t irritate my coworkers like a kitchen timer would.

I’m going to continue my current path of using the technique, but I might tweak some things. There are additions I would like to make to my record sheet and I still need to work out a good way to deal with smaller units of time in a useful manner. Maybe a separate series of mini-pomodoros that are tracked differently.

Pomodoro: Day 1 (and 2)

November 17, 2009

After having read a book on Pomodoro along with viewing some of the information on the technique’s website I have started to put the idea to practice. What is actually humorous is that while using a new (to me) technique for time management, I wasn’t able to fit in time to write this entry yesterday. I’m a day behind, but I put writing this up higher on my list and set aside two pomodoros for it.

I won’t really describe the concept too fully here. You can find a more thorough description at the official website or by reading the Pragmagic Programmer book that is released this week. Instead, I’ll describe my experiences in the very small amount of time that I’ve been practicing it, namely yesterday and today, along with my analysis of the value I think it provides.

So yesterday I created my first “ToDo Today” list with 7 items on it totaling an estimated 11 pomodoros. A pomodoro is basically a unit of time measuring 25 minutes plus a 5 minute break for a grand total of 30 minutes. After I started the day I ended up creating 6 more items that I added to my ToDo list for a total of 13. I completed 11 of these items, however several of them were so small and minor that they were done outside of any pomodoro (making dinner reservations for Friday, telling my fiancé about some carpooling, answering a question… etc). I completed a total of 7 pomodoros in the day, which totals to about 3 hours worth of focused work time plus a half hour or so on small, spread out breaks.

One interesting thing I noted, and was expecting from having read up on the technique, is how little of my time was spent being productive. 3 hours of solid productivity in an 8 hour work day. I discovered that there are a few reasons for this. One is that the beginning of my day has a 15 minute meeting at 10:30 that prevents me from doing many, if any, pomodoros before it. I normally arrive to work between 9:45 and 10:00. Since the first thing I need to do is add to my activity inventory and compile a ToDo list for the day, I generally don’t have a solid 25 minutes to focus on a pomodoro. by the time the meeting is over and I’m settled again it’s around 11, giving me an hour to work before lunch.

The afternoon hours are when the real work gets done and where I have the most solid stretch of uninterrupted time. Unfortunately one of the problems that comes up when trying to complete pomodoros is interruptions. I actually tried to write this blog yesterday, however I was interrupted so often by IMs that I had to void the pomodoro to address them. In retrospect I know that I could have possibly ignored some of them until the pomodoro was done, but it became difficult to do so when my fiancé was asking me about plans for the week and a friend of mine was pinging me constantly. It is also very distracting to have my email client constantly making noise when new mail arrives; which is around every 10 seconds due to the mailing lists I’m required to be on at work. I’ve since taken care of both distractions by creating a pomodoro away message for my IM client along with disabling all of the notifications from my email and IM clients.

Even though I only completed 7 pomodoros, I still felt more productive yesterday than I have in weeks. I know that I was able to really focus on something to the exclusion of everything else at least 7 times. I was able to hack out a database design that I had been banging my head against the wall for a week now, mainly by forcing myself to focus on it and avoid procrastination by not making it an option. It’s a difficult thing to experience if you’re used to doing dozens of things at once, working alongside your train of thought.

I also feel that I’m being more complete in my work. I often will go to a meeting or someone will tell me something over IM that I’m supposed to act on or do at some later time but then I forget. By forcing my work schedule and all of my work activities to be pulled from an activity inventory and today list I end up not having to worry about forgetting to do something because I write everything I need to get done down on a list. If I don’t get to it today, at least it will still be waiting in my inventory for tomorrow.

I’ve never been good at time management. I’ve often scoffed at several of the self-help books and I’ll probably continue to do so in all honesty. For me, forcing myself to timebox is something that allows me to gather up my scattered thoughts and see my own accomplishments as items are removed from a list and little Xs are marked in boxes. If I can keep this up for a few months, I think I’ll be in a better place than I am today.

(Oh, I finished in one pomodoro instead of two. I guess I can mark this task as being overestimated).

Focusing

November 14, 2009

I’ve been having trouble focusing a lot recently. When faced with a difficult problem that I can not find an obvious solution to, I tend to procrastinate or shy away from the problem. Other things become important suddenly; like checking email, talking on IM, reading slashdot. All these things do not lead to a productive day.

If I’m not productive, my energy level in general goes down. I notice that when I finish a day of work where I felt like I accomplished something, my evenings are so much better. There is less stress, and I feel proud of my work and what I’ve done. Even if I didn’t finish what I set out to do, as long as I’ve made some notable progress I get this effect. But I’ve been failing to do that with a particular problem I’ve been working on recently.

I’m a regular reader of Pragmatic Programmers. I believe that the original The Pragmatic Programmer is probably the best book for programmers around. There’s a new one that is still in “beta” called Pomodoro Technique Illustrated: The Easy Way To Do More In Less Time. It’s a fairly basic technique about time boxing and learning to focus on focusing. The basic technique is to pick a task you want to complete, set a kitchen timer for 25 minutes, then do that task and only that task until the timer dings. This means avoiding any distraction, from checking email to going to the bathroom or answering the phone. Now since things come up that you can’t ignore (the phone sometimes, or a colleague), there’s a system for dealing with interruptions. If you complete the full 25 minutes without being interrupted, both internal and external interruptions, then you mark an X next to your task as having completed one pomodoro. The sense of accomplishment you get at the end of the day is how many X’s you’ve built up.

There’s a free PragPub magazine on the Pragmatic Programmer’s website that has an article in the November issue that talks about the basic technique. You can try it out with just the knowledge in there. I ended up buying the book as a way to really force myself to focus, but I’m sure the basic idea is enough to get many people started.