2010-10-30

The Pomodoro Technique

I've just finished to read  The Pomodoro Technique Illustrated. And I'll try to do a mini review of the technique described in the book.

This book explains a time management technique called The Pomodoro Technique.

This technique was developed by Francesco Cirillo in 1992. It basically helps to focus on one task only and getting things done.

The quick basics, from what I understood in the book, are :

Build an inventory list (a classical todo list). Then first thing in the morning, make up a "today todo list" from the inventory list. This list must contain only what you think that can be completed today, with time you should be able to estimate better the number of activities you can do every day. If an activity is too long to complete within 3 hours, try to split the activity in more tasks.

Establish a priority for the tasks. Select one task, highlight it, or put it on a paper in front of you, wind up a timer to 25 minutes. And work that task out, until it rings.

When you finish the pomodoro (25 min of focused work)  write an X beside the task. If you get interrupted and you cannot concentrate for 25 min straight and you fail to finish the pomodoro, just write a box or a different symbol beside the task on the today todo list. When you get interrupted, for long enough that you lose the focus, you need to start a new pomodoro from the start, and mark the one you were doing as failed.

After the 25 mins, take a 5 minutes break. After the break, check if the priority of the tasks have changed (for example in case you added unplanned activities during the last iteration), and decide if you continue with the previous activity or continue with another one. Then select a task, and wind up the clock for another 25 minutes of focused work.

Every 4 iterations, take a longer break (15 to 30 minutes)

At the end of the day, wind up the clock for 15 minutes and do the retrospective of the day.

Record on a different sheet of paper the outcome of the day. What was your velocity (number of completed iteration) ? How many iteration you haven't completed today. What was the number of interruption per task. How many unplanned activities you've added today. Try to draw a mind map of what you did today what was the "Theme" of the day.

After two weeks or so,  you can review your record, and do an average of your velocity, it will help you to evaluate how many pomodori you can do per day. You can also re-adjust the technique to make it suits you better.

This technique is very similar to Agile methodologies, but it is applied at the personal level with very very small iterations. It sure look very interesting. I definitely think that it can help to stay focused, and it helps to get things done. However I still have a lot of interrogations on how to deal with some situations at work.

You don't need a lot of tools to implements this technique : pencil, paper, and a timer.

If you are a geek, you might want to try some applications, here are some suggestions :

Tomato-Timer 
It's a web based timer, it has a very simple interface and if you are using Chrome, you can enable Desktop Notification. I'm using it right now to write this blog.

Tomighty
It's a stand-alone application written in Java (swing).
I use it at work. I plan to contribute to this project after finishing my coffee pod ordering system.

Doing!
Doing! is a J2ME application that can run on Java enabled phone.
I've downloaded it, but I didn't try it.

If you want to lean more about this technique, you can download Francesco Cirillo's book  for free from Scribd. The cheat sheet can be found here.

P.S. Writing this blog took 4 pomodori and I had two interruptions (received 2 quick phone calls).

2010-10-25

What is the next project?

I've got a problem, I always have many ideas that I could turn into small projects,
But I just don't know how to get started... Recently I had a couple of projects ideas that I could work on.

Here they are :

Desktop Pomodoro Technique Tool
I'm currently reading Pomodoro Technique Illustrated from The Pragmatic Bookshelf.
Reading the book, made me think of a tool that could be running on my (Linux & Windows) desktops at work to help me use the Pomodoro Technique.

Here is an interesting post that discuss the use of Pomodoro Technique at work

The tool could manage the activity list, the "to do today" list, the timers, the interruptions and the time tracking.

Coffee Pod Ordering System
We have a plan at work to buy a fancy coffee machine that will use coffee pods. However all the management of the pod ordering could be quite complicated, and I will not volunteer to keep track of all the orders with a spreadsheet or a piece of paper :)

The system would consist of :

  • A simple order entry system for the people to order the number of pods they want.
  • An interface to create a consolidated order with all the pods for the team.
  • An interface that provides an easy way to split the pod boxes when the shipping arrive. It should manage partially filled orders as well.
  • A management interface to enter prices, quantity per box and types of pods available.
  • User management + login window.
I want to learn Rails, so it might be a good project to start with it.


Standalone WYSIWYG blog
I really enjoy butor.com wiki  it might be a bit old, but the wiki editing is still quite amazing, (especially for publishing code). Since I decided to write a blog, I think that I could reuse the editor, and fork butor wiki into "butor blog".

An interesting feature to be added would be the possibility to paste images from clipboard directly to the blog editor.

Since the editor is pretty much "pure" javascript, I can use any back-end. Would it be a good opportunity to look into Scala & the Lift framework ?  However, for now Blogger.com is doing the job...

Multiple / "snoozable" / "mp3 enabled" alarm application for cell phones
I've always wanted to do an app for my phone (a Blackberry Bold 9000). I need an alarm application where I can set a lot of different alarm, I must be able to "snooze" and I want the alarm to be sorted by time. I've bought SwooshAlarm which is very good, but has too many features that I don't use.

An alarm application would be a nice little project to learn how to program on JavaME.

Conclusion

The coffee pod ordering system seems to me to be the most interesting to do. So, even if things aren't settled  at work yet and I still don't know for sure if we will use the coffee pod machine, this is the project I will start to do.

2010-10-20

"Your life is gonna be changed forever!"

I had the dream to go to Russia for a year, to live there and to learn Russian. I was so passionate about the idea... A friend and I were determined to go there, whatever the price or sacrifice would be.

Five years ago, we actually decided to quit our jobs and the comfort of our daily life to go for a year in Siberia. The officer at the Russian consulate, blew his stamp, and then told us with a thick Russian accent : "Your life is gonna be changed forever!". The stamp did a big SLAM! when it fell on the visa.

That trip, indeed, changed my life in a lot of ways. 

I put a lot of energy and passion into that trip, and after that year I felt that I was missing something. I had finally done what I really wanted to do. So I drifted without a clear goal for few years. I had a couple of passions, but no one with the same kind of intensity.

Few months ago, I was looking at the Linkedin  profile of one of my college's friend, he is doing a job that I was envying, the kind of job I always dreamed to do back then : a very technical, low level  code kind of job.

In college I was the C guy,  playing with kernel code, feeling good about reading memory dumps, eventually, my career took a very different path than his. I don't regret the choices I made, I have learned a lot of good things and had the chance to work with a lot of very professional and skilled programmers, business analysts and managers.

However, I felt that I really need to do something to put me back on track. I felt the need to improve myself and refresh my skills, to keep pushing up and aiming high. I felt the Passion coming back. I relearned to love what I do. 

I started to read a lot of IT books (many from The Pragmatic Bookshelf). From that moment I have read at least a book every week. At the same time I started to read a lot of IT related feeds using Google Reader, and share posts to my friends. I enjoy it! 

But I have the feeling that it's a lot of reading with not enough of doing...

This weekend I have read The Passionate Programmer by Chad Fowler : Creating a remarkable career in software development. I read through pages like crazy. Every chapter was flying by. The book is focused on software development, but I really think it could be applied to other fields. It was really motivating for me. 

After reading the second part (Marketing... Not Just for Suits),  I just went online and bought a domain name, codingtony.com. 

Today I started to write this blog. It will move me out of my comfort zone.  I hope it will help me to start to do stuff!

On this blog, I will share links, thoughts on software development, tricks and other stuff from /dev/random

Keep motivated! May the Passion be with you :)