no more rambling
Rather than just sitting down and writing whatever comes
into my head, I've started drawing my thoughts out on
paper.
I figure if I can't draw a picture of what I'm trying to say, I
probably don't understand it well enough to post to the internet.
If I can draw a picture, then I know what I'm going
to say, and I know when to stop.
Plus I think it'll make my blog look neat.
Inspiration: Dan
Roam's awesome book, The Back of the
Napkin. (Be sure to watch his talk at
Google.)
life in the queues
The time slicing experiment is going well.
Here's my latest version of the chart:
I think part of the reason that I couldn't get Getting Things Done working before was that I was trying to do too much.
If I've learned anything from Eli Goldratt, it's that if you have a queue problem, the answer is probably to cut the batch size. (The "agile" equivalent is to use short iterations.)
Time slicing is the small batch size / short iteration concept applied to time management.
Now that I'm on a schedule, GTD has magically started working. My 15 minutes of planning per loop has morphed into 15 minutes of maintaining and prioritizing my next actions list. The hour of "goal" time has morphed into just working off the list.
So, I think what's going to happen is change "goals" to "actions". Then if I drop the "errands" block (because errands are just actions) and trim an hour off my sleep time (since I keep waking up early), that gives me an extra loop and an extra 45 minutes of slack.
At least in theory. It's going to be a while before I get up to that speed. All this blogging today is coming out of the "fun" and "slack" times, as are meals and my walk this morning.
What I'm expecting is that I'll as the queues drain and I get better at this, I'll start to have more slack.
The reason I'll get more slack is that I won't usually need 15 minutes of planning or 15 minutes of support, and I'll be getting enough client hours in that I can drop them from the loop later in the day.
I'm going to try to keep a more detailed time log so I can graph my actual results vs the plan.
onward
Okay. So... Planning session. 15 minutes.
Support: I'm going to try and empty the entire queue as quickly as possible, even if I'm just sending out promises to do stuff that I can't do immediately.
Client work: I need to add something to this huge messy flash file. The guy that created it isn't around anymore, and understanding it has been a stumbling block. I'm just going to build my feature as a new flash file so the client can sign off, and then I'll figure out how to integrate it with (and possibly clean up) the other guy's mess.
Goal work: I'm just going to pick actions off my next actions list and get them done. There's a whole slew of very easy, very small stuff I can work on, and I'm just going go down the list and work through it.
Okay, that's it. That actually only took 5 minutes. I'll spend the rest of my ten working on GTD-style processing and clarification of my lists. (Perhaps that'll become my standard operating procedure.)
frustration in ten minutes
I'm completely frustrated right now. I've been up since 7:30. It's almost noon now and I haven't gotten a dang thing done.
No, okay, I went for a walk.
Yesterday was great at the start and then after the second loop things fell apart and I was off track the rest of the day. I went to bed frustrated and couldn't sleep.
Around 1 or 2 am, I got up, and I went to one of my zillion to-do lists, and I started cleaning it up using the principles from Getting things Done. It helped a lot and about half an hour later, I went to bed and was calm and collected and relaxed.
I woke up at 7:30 without an alarm clock. I've been eating better the past few days, and sleeping less.
I decided I should dedicate my "goal" chunks today to keep working through the GTD process.
I also decided I'd do my planning sessions on this blog. So I started my first loop and wound up getting into this long rant about what happened yesterday and the insights I learned from my experiences.
Then in the middle of writing, my Mom called. She's been on a trip the past week and I haven't talked to her much. She was telling me a lot of stuff about the family, and it was actually a really nice conversation, but the whole time I was feeling stressed because I'd been in the middle of writing. I would have enjoyed it so much more if I'd been able to finish writing before taking the call.
I guess that's why I'm frustrated. It's not really that big of a deal.
Anyway, I gave myself ten minutes to vent and I guess I do feel better now.
I saved the longer post as a draft and I'll get back to it some other time.
I think this blog is going to just be what it's always been - a tool to help me clarify my thinking through egocentric rambling. But I also have a lot more I want to write about in a more timeless way. Something that's not a blog. I'm going to start putting those ideas up as drafts on my other sites, and start refining them over time.
Okay, my ten minutes are up. I feel a lot better. Now I'll post it to the web so you can all laugh at my neurosis.
time slicing
I'm developing a new daily checklist, and as part of that, I'm setting a goal for how to allocate my time:
Lately I tend to swap between catching up on little things, then focusing for long periods on one thing, then scrambling to catch up again. I'd like to establish some balance.
So I'm going to start time-slicing.
time-slicing isn't always bad
Yeah, I know this kind of multi-tasking is bad for big projects. I've made the same argument numerous times.
Swapping within a project delays the flow of value by making projects take much longer to complete. (Joel on Software has a nice illustration.)
However, most of my work is not project-centric, but
stream-centric.
support stream
Support, for example, is a constant stream of
requests to answer. It doesn't take up a huge amount
of time, but the longer I wait to answer each request,
the more pain and suffering it causes for
both me and the customer.
client work stream
My hourly contract work is also a stream, even though
I spend the time working on a project.
That is, if I agree to work around 20 hours per week,
it doesn't matter where in the week I allocate that time.
I could pull two ten-hour days or I could work 3 hours a
day, 7 days a week. (I set my own hours, so it doesn't
have to be exactly 20.)
Similarly, I don't have to do those 3 hours all at
once. I can do three one-hour sessions, or four
forty-five-minute sessions, or six half-hour sessions.
I picked 4 by 45 because that's enough time for me to
accomplish something meaningful code-wise, but still small enough to seem doable "in the moment".
As long as my client measures deadlines in weeks
instead of hours, my task-swapping doesn't change
anything. (In fact, my actual delays have come from
not getting enough hours in per week - it's been too
hard to block out 3 solid hours to sit down and work.)
goal stream
I have lots of goals:
- get in shape
- build a good marketing system
- learn Spanish
- write about interesting things
- build cool software and websites
For me, these goals are the big rocks in the jar.
They're the things I want to spend most of my time on,
but in practice, I hardly work on them at all because of all
the "little stuff".
No more. Structuring my time this way guarantees that I'll
have at least 4 1-hour sessions to spend on my goals. One of
those hours will go to my goal of getting in shape, and the
others I can allocate any way I want.
the plan
My earlier attempts at setting a schedule fell
victim to constant interruptions and my erratic sleep schedule.
Even if I get my sleep back under control (another item on the
checklist), I'd still prefer a more flexible schedule.
So the plan is to do four quick "loops" a day.
Each loop is 2 hours, 15 minutes:
- 15 mins - plan all tasks for this loop in detail
- 45 mins - client work
- 15 mins - handle support
- 60 mins - work on one goal
Four loops will take up 9 hours. I'm also budgeting
2 hours for errands, 3 for fun, and 8 for sleep, leaving 2 hours of slack per day.
Any time I finish something early, the extra time goes into the slack buffer, and if I'm running late, I'll use up the slack.
Rather than being a workaholic, I want to optimize for fun. Once I've
accomplished all the loops and errands, any remaining slack gets converted
to fun time. If for some reason I exhaust the buffer, I'll try to postpone
errands before eating in to my "fun" time.
What's my idea of fun? That's a good question. I don't really know yet.
Some of my goals and projects ARE fun, so that's part of it. Having a
social life also falls under this category.
The loops and sleep time are meant to be atomic. They don't get chopped
up, and I'll do my best to avoid any kind of outside interruption. The
fun and errand times can be chopped up as needed.
So that's the plan.
I don't know for sure that any of this is going to work, but it seems
doable and (more importantly) something I maintain as a lifestyle.