I have a lousy memory for things I don’t find interesting (like timelines and to-do lists), so I’ve historically been notoriously disorganized. In my research days, absent minded professors were par for the course, and I could rely on the notes in my lab notebook to keep me on track.
When I changed careers to development, my disorganization became more acute. There are no markers in well written code, and planning meetings and such demanded more control over what I was doing with my time. Throw in the unexpected application fault or server failure, and any level of planning goes out the window. As my responsibilities grew in the corporate world, I knew I had to improve.
Any system I put in place had to be something easy for me to carry around, be a unified place to look for what I’m supposed to be doing, and have a workflow that could be interrupted and restarted easily.
Having a job my current one (Technical Evangelist for ComponentOne) means an insane schedule of talk submissions, travel, coordinating support for community events, and trips to Starbucks. When I walked into this job, I was very glad I had put in place some discipline at my last one. Here’s what I’ve found most helpful.
43 Folders
Originally designed by Merlin Mann (http://www.43folders.com/), this is my favorite GTD-like process. If you’re not familiar, take 12 folders (I prefer manila pocket folders, supported by hanging folders) and name them for the months, and 31 folders, numbered for the days. If you’re starting on Jan 1, you’d have January be the front folder, followed by the days, then followed by the rest of the months. Take out January, see if anything with a date, put it in the correct day’s folder. Move January to the back. Take out the folder for the 1st, and work on the stuff in the folder. At the end of the day, make sure the 1st is empty; if anything didn’t get completed, put it in the folder for the 2nd. Move the folder for the 1st behind February.
Today is Sept 15, so September is the very last folder in my drawer. Days 1-14 are lined up behind October, and I’m working out of the 15th. Itineraries for my travel at the end of the month are in the folders for those days. When I go home, I’ll take the 16th with me in case I have some time in the evening to review and maybe complete something small.
Emergent Time Tracker
David Seah (http://davidseah.com/productivity-tools/) has some awesome productivity tools; the one I use the most is the Emergent Task Planner. I plan a couple things every day, and I can keep track of all the little BS that pops up through the day. At my previous job, I had a chatty coworker, and I’d mark off his interruptions. I started allocating him a certain amount of time each day, and would cut him off when he reached his limit (this is legendary at my old office—I even bought an egg timer so he knew how much time was left). It was all done in good humor, and we had a good relationship, which is why I allocated any time at all, but when I showed him how much time we lost chatting, even he was amazed.
Anyhow, I start a new one each day I’m at the office—I don’t use them when I’m travelling or speaking—and they make a great reference in case I need to prove a point about meetings or my productivity. It’s important to be honest, Starbucks trips do go on the form.
GTD
The originator of the whole “getting things done†movement is David Allen, whose book Getting Things Done lends its name to the movement. I’m still working on implementing the advice in this book—I still struggle with my inbox. It consistently hovers around 100 emails. Some people (like Brent Ozar) are stellar at “inbox zeroâ€, but I have trouble finding a way to organize things in motion, and there is a lot in motion in my life. I could probably print out the emails and put them in my 43 folders, but I refuse to waste the paper. Categories and follow-up flags in Outlook aren’t very flexible, and don’t translate to my iPad or my phone. And, I refuse to have a second set of electronic folders—too many places to look. So I’m working on this.
Personal Kanban
I’d like to spend more time checking out Personal Kanban (http://www.personalkanban.com/pk/). The kanban boards used in Scrum are great, and I’ve been pondering how to adapt one in my personal life for a while. Despite several starts—both process and application—I haven’t quite developed a system I like. But just like GTD, I’m refining as I go. I’ll post some more when I have enough of a system to discuss.
Side Projects
Like every developer I know, I have about 20 side projects cycling through my head and in various states of development. At my previous job, we implemented Axosoft’s OnTime (http://www.axosoft.com/) with decent success. Axosoft now has a hosted version free for two users. It is awesome—there is a mobile web app so I can update features/projects as I think of them, and a great full featured web interface. Systems like this are the future of ALM.
For source code, I currently use Beanstalk (http://beanstalkapp.com/), but GitHub has me curious. Beanstalk supports both Subversion and Git. I also use FTP VC (http://www.prestosoft.com/fvc_ftpvc.asp), which I connect to my shared hosting account.