Join the DZone community and get the full member experience.Join For Free
How do you break a Monolith into Microservices at Scale? This ebook shows strategies and techniques for building scalable and resilient microservices.
It looks like everybody in IT is a time management geek of some sort. It’s hard to find a programmer who has never heard of Pomodoro, GTD, GettingResults. For instance, Scott Hanselman did a show about this topic a few months ago. What I found interesting is that Scott uses similar methods to manage his time as I do. In my view, these techniques can be used by everyone. So I’ve decided to share my experience, which, hopefully, will be interesting and useful for those folks who want to be more efficient in spending their time.
Well, I’d like to start with confession. I’m a time management geek. It’s been my thing for more than 5 years:
- I developed an application (that I was successfully selling for about a year) for managing tasks a few years ago.
- I’ve read tons of books and articles and listened to a gazillion of podcasts about personal efficiency.
- I’ve even written a few articles about this topic.
I’ve tried lots of different approaches, tested them heavily, and used a few dozen different tools for TM. This experience helped to distillate the system I’m using right now in my day-to-day life. The system allows me to be proactive and not to procrastinate for too long.
The system comprises three main parts:
- Planning and project tracking
- Time tracking
- Setting goals and analysis
Planning and Project Tracking with Getting Things Done.
There are a few ideas behind GTD that can really make a huge difference in your life:
- First of all, you have to clean up your mind from all tasks, ideas, and concerns. Just sit and spend an hour on writing down everything. Everything that comes to your mind should be there. You’ll have to maintain the system by adding everything that seems important to it.
- Different contexts. Every time you check your system you should see only the tasks you can do something about. Don’t check your home tasks while you’re at work etc. Some people like to have many different contexts: computer, Internet, phone, work, subway but for me having these 3 contexts (home, work and errands) is enough.
- Next actions. When you switch from Task A to Task B you should write down what will be your next action when you come back to Task A. It is similar to saving a stack of a thread. Just spend a few seconds to write down your next step and you won’t spend 10-15 minutes trying to recall it next time. Also, you do it when you create a new project. Write down what will be the very next action you should do to push the project forward.
Using GTD requires a lot of discipline. Every thought you have, every concern, everything should be in your system. Don’t think too much, if something looks important or interesting, just add it to your inbox. Later, when you are processing your inbox, you can make a reasonable decision: if it should be a new project or maybe it’s an additional note that needs to be added to an existing project. Implementing GTD isn’t easy and will require a lot of hard work and dedication. I was managed to do it only at the third attempt but believe me the result is 100% worth it.
Time Tracking with Pomodoro.
Though GTD helps you to keep track of all your tasks and projects some room for procrastination still exists. Even when I have my big project divided into small chunks with identified next actions I usually start having longer break after each action. I start checking my email or twitter. There is a very good medicine against this kind of procrastination - Pomodoro technique.
- The main idea is to split your working day into 30 minute intervals.
- 25 minutes of work (which we call a pomodoro) + a 5 minute break.
- Every 3-4 pomodors you can have a longer break. For instance, I have a twenty minute break after every 3rd pomodoro. It helps you to stay fresh the whole day.
Pomodoro helps me to be focused and as a result helps to be more productive. I’m not as religious about my pomodoros as I am about my GTD stuff. For example, I can continue working on a task for a couple of minutes more after my pomodoro is finished. I know that I suppose to stop and relax, but sometimes the cost of breaking the current context is too high. It doesn’t happen very often since I’m trying to keep track of time and not to start a big piece when pomodo is coming to its end. Instead, I prefer to spend 5 minutes to clean things up.
Goal Setting and Progress Tracking
Setting goals is as important as reaching them. Usually people advise to use so-called SMART goals. They are measurable and concrete and you can verify if you reach them.
- Using TDD metaphor, a SMART goal is a test and you are working hard to make it pass.
- My weekly and monthly goals are always SMART.
I can’t make my long-term goals SMART. Right now my life is too dynamic. For instance, during this year I’ve immigrated to Canada, found a job as a Groovy developer and now I’m switching it to another one as a Ruby developer. I can’t say for sure what my life will look like in 3 years, or even in 1 year. The only thing I know is the direction I want to go in, which is not enough for a SMART goal. The fact that I’m not using SMART goals for long-term planning doesn’t mean that I’m not doing this kind of planning at all.
- I’m writing a short review of my long-term goals every month. It’s more like a wish list of what I want to learn and achieve.
A technique I found very useful is the rule of 3. Just set 3 SMART goals every morning, every Monday and in the beginning of every month. I found it hard to concentrate my attention on my projects if I have more than 3 goals to work on.
Over the years I’ve tried dozens of tools and even developed one by myself. These are a few tools I recommend to try:
- Remember The Milk. It’s the best task list manager I’ve ever seen. It’s very geeky and extremely flexible. Though it’s not designed to be a GTD tool it has enough flexibility (tags and smart list) to become one. I found it hard to use when the number of projects grew to 50.
- Nirvana is my current GTD tool of choice. It’s fast, elegant and very flexible. In addition, there is a very nice community around this project.
- Focus Booster is a small app I use to keep track of my pomodoros.
Opinions expressed by DZone contributors are their own.