flowmodoro

Abstract

Pomodoro does not really work for developers because of:

  • interruption of flow state
  • variable task length
  • context switching

An alternative is the Flowmodoro:

  1. pick on task
  2. start the work
  3. stop the work
  4. take a break (1/5th of the time spend doing the work)

Whatโ€™s Pomodoro

The Pomodoro Technique, developed by Francesco Cirillo, is a time management method that uses a timer to break work into intervals, traditionally 25 minutes in length, separated by 5-minutes short breaks.

These intervals are known as โ€œpomodorosโ€, named after the tomato-shaped kitchen timer that Cirillo used as a university student.

Why Pomodoro might not work for developers

While the Pomodoro Technique is popular, it might not be the best fit for everyone, especially developers. Hereโ€™s why:

  1. Interruption of Flow State: The rigid timing can disrupt the deep โ€œflow stateโ€ crucial for coding. When youโ€™re deeply engrossed in a complex problem, stopping because a timer goes off can break your train of thought.

  2. Variable Task Length: Coding tasks vary in complexity and often donโ€™t neatly fit into 25-minute intervals. Some tasks might require prolonged uninterrupted focus, while others are shorter and more straightforward.

  3. Context Switching: Frequent breaks mandated by the Pomodoro Technique can lead to excessive context switching. This is counterproductive for tasks that require sustained concentration and a deep understanding of the problem at hand.

The better alternative - Flowmodoro

The Flowtime Technique a.k.a. Flowmodoro was created by Zoรซ Read-Bivens as a solution to Pomodoroโ€™s main problem.

Unlike the Pomodoro Technique, Flowmodoro counts up instead of counting down. It allows you to focus until you naturally feel the need for a break. Then, when you decide to rest, you simply stop the timer, divide the focus time by 5, and set a countdown timer for your break.

This method respects your flow state and adapts to the variable nature of coding tasks.

How to implement Flowmodoro

Implementing Flowmodoro is simple and can start with tools as basic as a stopwatch and timer app. Hereโ€™s a basic guide:

  1. Pick One Task: Begin by selecting a single task to focus on. This ensures that your attention isnโ€™t divided across multiple tasks.
  2. Start the work: Once your task is chosen, start the stopwatch. This marks the beginning of your focused work period. Dive into your task without any distractions.
  3. Stop the work: Keep working until you naturally feel the need for a break. This could be when you feel your concentration waning or youโ€™ve reached a logical stopping point in your task. Then, stop the stopwatch. This time recorded is your focused work duration.
  4. Take a break: Calculate your break time as one-fifth of your focused work duration. For instance, if you worked for 50 minutes, take a 10-minute break. Set a countdown timer for this break period. This ratio ensures that you get adequate rest without losing the momentum of your work.

You can repeat this cycle again and again.

Automate the process

I have been using Flowmodoro and it really help me improve my productivity while coding. However, I noticed one minor drawback: the repetitive process of setting up the timer manually each time.

To address this, Iโ€™m currently working on a solution that seamlessly integrates with this workflow. Thatโ€™s where Flowmodor comes in โ€“ a web app I am creating to automate and refine the Flowmodoro process.