Tuesday, August 26, 2008

Creating and Using a Schedule



A lot of things can keep you from getting things done on time. A project with a 9 month schedule with tons of complications is almost impossible to predict. Its why I love Agile Development, and why I think its the best solution for projects of that complexity. However, there is an even more important schedule that must be created and followed if you hope to get anything done at all, and that's your Daily Schedule.

Lets take this blog, for example. I've been typing away at various different articles, and have never gotten any to a point to where I would feel comfortable posting them. Why? Because I didn't have a release schedule, one, but more importantly, I didn't have a set schedule for working on them planned in my week. As a producer, biz dev guy, and father working from home, I live an interrupt driven life. Any one of a hundred distractions can come up and derail me. "So what's the point of making a schedule?" some may ask? Simple, it gives you a framework in which to identify what is going right, what is going wrong, and reference on what might be done to improve it.

I have a sample schedule posted here. By the way, I've sold my soul to google. Their tools are awesome, and make me 3 times as effective as a remote producer. Seriously, I calculated a burn down rate based on pre-google tools and post google tools, and the ease of use coupled with the ability to share blew away the Wiki/SVN/Bugzilla combo I was using before. In anycase, the sample schedule is purposefully vague, but it provides chunks of time where you should be working on particular things. If your actual work bleeds over the edges, you should try and adjust your workload or your schedule.

The fact is, there are never enough hours in a day. If you want to stay sane, you have to set limits to how much you can take of a given type of work. You cannot put out fires all day and still expect to get actual work done unless you specifically carve that chunk of time out. When I was doing design documentation on various projects, I was constantly late until I just allowed some fires to burn and finished the work that had to be done. As a producer, one of your most important jobs will be identification of which fires can be allowed to burn while other things get done.

The main point of a daily schedule is routine. A routine is something you can get comfortable in, teach to others, and improve over time. An Olympic gymnast does the same routine thousands of times, but has variations they can do if needed. The basic structure is the same, a mental safe zone where they know what to do and how to do it. Slight variations allow for changes in requirements or how they may be feeling at the time. If you have a routine you know inside and out, you can quickly identify if it is going poorly, and make those adjustments before you fall off and plant your face into the ground. Of course, sometimes you just have to try to get everything done anyway, but at least you'll be forewarned about the impending faceplant.

Now my daily routine has a segment where I devote a set amount of time to writing in this blog. Its not a lot of time, but when the clock ticks around I know what I should be doing. I've made the adjustments I need to get incremental work done, and now I can adequately plan for longer term articles as I know the work rate I can produce. Sure, sometimes writing time gets bumped, but I can at least understand how much work I lost, why I lost it, and make sure that things smooth out over time. That's the power of a routine and a daily schedule and how it can make all the difference for a longer project schedule.

Monday, August 11, 2008

Long Time Coming

So the article is being written and will be posted this week. Currently I'm doing some research to see what I can find on the psychological realities of various forms of communication. I will be posting the article both on this blog, and as a link to a public google doc. I hope that with this format, it will be possible to update articles with comments over time, and invite others to edit the docs directly.

If you've never used Google docs and work with remote teams, you are doing yourself a disservice. Being able to edit the same doc at the same time is hugely beneficial, and combined with other communication channels, can rip that distance barrier down.