The Pomodoro Technique is one of my favourite "life hacks" for increasing your focus & productivity and is one, as a programmer, I've used frequently across my last 3 jobs to great effect. I wanted to post an article focusing not just on how to do it, but some of the things you'll find day to day when using the approach.
How do I "Pomodoro"?
There is no complex workflow or multi-tiered task management approach to learn with Pomodoro, rather a simple approach for focusing here and now.
Firstly, get yourself a countdown timer; this could be your phone, a physical egg timer or a desktop app (I recommend Tomighty, it's open source & ad free).
Set the timer for 25 minutes then pick a task / series of tasks you feel you can achieve in the next 25 minutes if you have no distrations & give your full focus. Then start the timer and get working.
Now here's the trick, and it's the most difficult part; for those 25 minutes you CANNOT got off task, that means no Facebook, no Twitter, no looking at the office IM client (HipChat / Slack are banned), no conversations with team mates unless directly related to finishing the task.
If, at any point, you do break the rule, stop the timer & reset it to 25 minutes. This requires discipline but is key to the approach working. Only a full uninterrupted 25 minutes can count as a pomodoro.
After the focused 25 minutes have finished, start the timer for 5 minutes and you can do whatever you want; go make a coffee, play table football, whatever you usually do to chill.
Once the break 5 minutes are up, reset the timer to 25 minutes, pick a new set of tasks (or any not done in the last pomodoro) and get cracking.
Once you've completed 4 pomodoros; set the timer for a longer break.
Repeat these steps during the day when you have time to focus. You'll find if you stick to the rule & stay focused you can usually achieve more in a dedicated 25 minutes than you can in a distracted 2 hours.
Day to Day
Firstly; let's address the elephant in the room: "What if there's an urgent request, or my boss needs to talk to me, or a co-worker is stuck on something?". You'll find that there are very few things that can't wait a maximum of 25 minutes to be dealt with. If you're in the middle of a pomodoro you can simply as if you can come over when the timer's finished and for most situations that will be more than sufficient.
There are times when an issue really is urgent (on call alerts, website's gone down etc). In those events you throw away the pomodoro and respond as normal; then when everythings back to normal you can start another 25 minute slot.
I Can't Complete Even 1 Pomodoro!
I find that when I get back into the approach after a long break; I can struggle to get over 2 Pomodoros complete in an 8 hour work day! The greatest benefit of this approach is showing you just how little you get even a short period of focus time in a busy office. With time you get use to staying focused and delaying interruptions until the next break period.
Better Inbox Management
If previously you've gotten to the stage where you stop work for each email, HipChat/Slack message & conversation, it makes it much harder to stay "in the zone". Context switching is a productivity killer yet so easy to do in a modern office. I find that by reading emails and IM messages during the 5 minute break period it limits the time I spend on those activities; whilst giving me the opportunity to reprioritise if necessary at the end of each pomodoro.
When you've been doing this for a while it helps to keep a running tally of the pomodoro sessions you've been able to complete each day; then trying to improve how many you can achieve as you go. You'll get to the stage where you've got 6 pomodoros in 1 day and achieved a metric tonne of work; whilst recognising that days with only 1 or 2 pomodoros were due to meetings or urgent incidents you couldn't prevent.
When Doesn't It Work?
There a great concept called the Maker's Schedule vs Manager's Schedule; this tries to outline the frustrations seen between programmers and managers when trying to stay productive.
I highly recommend reading up on it; however in brief: programmers, QA, artists, architects etc are "Makers"; they need long periods of focus time to do their jobs well. For programmers specifically we need enough time to build a mental model of a problem domain in our heads to work out the ideal solution; if we have to context switch this model evaporates and causes use to spend more time rebuilding it to start work again.
Managers on the other hand work on the a different schedule; they work on smaller slots of time; meetings, discussions, reacting to change, being interrupted etc. This causes conflict as the two distinct approaches directly conflict with one another.
The Pomodoro Technique is really focused on the Maker's Schedule where consistent focus is important; when managing a team it's less useful as context switching becomes part of the standard flow. What can be useful to managers however it to employ the technique across the team; and ensuring that they are protected from disruption sufficiently to allow the focus time. This can be by scheduling all meetings in the mornings, having "silent hours" in the work day & harnessing asynchronous communication for work that doesn't have to be face to face.