Timeboxing means allocating a fixed block of time to a task and stopping when the box ends, regardless of completion state. Instead of asking "is this done?" you ask "is the time up?" Whatever exists at the buzzer is what ships. The constraint is the point: a hard boundary forces decisions and kills the open-ended polishing that quietly eats founder weeks.
It works because most tasks hit diminishing returns long before they feel finished. The first 80% of value usually arrives in the first chunk of time; the rest is refinement most users will never notice. A deadline you cannot move converts that into action. Parkinson's law runs in reverse - work shrinks to fit the box you give it.
In practice, use it when you catch yourself refining something past the point of meaningful return. Give yourself two hours to write the landing page copy. Whatever exists at hour two goes live, and you iterate next week with real data. The version that ships and gets feedback beats the perfect version still sitting in a draft.
Common mistake
The most common mistake is treating the box as a soft suggestion - quietly extending it "just to finish" - which defeats the entire mechanism. A timebox only works if the boundary is hard and you actually ship what exists when it ends.
How to use it
Three ways to put it to work.
Everyday life
Planning the family vacation keeps eating your evenings
You have rebuilt the itinerary spreadsheet four nights running, swapping hotels and rerouting drives. Set a hard box: 90 minutes Sunday morning, timer running, to finalize and book. When the timer buzzes you book whatever is on the screen - the decent hotel, the rough day plan - even if two afternoons are still loose. Gaps get filled with real local options once you are actually there.
Tech
You keep polishing the onboarding flow before launch
The onboarding screens have been in design review for three weeks, with endless tweaks to copy and button states. Give the flow one fixed 3-day sprint box and tell the team whatever is merged Friday at 5pm ships to production. At the buzzer you cut the two unfinished tooltips and release the working flow as-is. Real signup funnel data next week tells you which screen actually loses people, not another internal debate.
Small business
Your new cafe menu has been a draft for a month
You keep reprinting the menu mockup, agonizing over twelve specials and the exact wording of each. Box it: two hours Tuesday afternoon, then it goes to the printer no matter what. When the timer ends you lock the eight items that are ready, drop the four you are unsure about, and send the file. You watch what actually sells this week and add the rest to next month's reprint.
Reckon · Thinking tool
Timeboxing
Agile methodology, formalized by James Martin (RAD, 1991)
What it is
Allocate a fixed block of time to a task and stop when the box ends, regardless of completion state.
When to use it
When you notice yourself refining something past the point of meaningful return. Set a hard boundary. Ship what exists at the buzzer.
Work through it.
Print this (use the Save as PDF button up top) and fill it in on paper. Lock a hard time boundary on one task you keep over-refining, then ship what exists when the box closes.
01
THE TASK: Name the specific deliverable you keep polishing past the point of meaningful return.
02
THE BOX: Set the timer right now. How long does this task actually deserve? Write the start time and hard stop time.
Default to shorter than you think. You can add a second box; you cannot get the first hours back.
03
THE DONE CONDITION: Before you start, write the one criterion that makes this output good enough to ship or hand off.
04
DO THE WORK: Work until the timer ends. Do not extend. When it rings, stop.
05
THE RELEASE: Ship, send, or hand off whatever exists. Write what you will iterate on next week when real data tells you what actually matters.
Reckon · reckon.report · flip for the working template
Reckon · Working template
Timeboxing
Print double-sided. Read the how-to on the front; do the work here.
The task
Start
Hard stop
Good enough looks likeone done condition, set before you start
What I shipped at the buzzerwhatever exists when the timer ends