⏳💪 Timeboxing: The Project Delivery Superpower

Timeboxing is a powerful project management technique that harnesses strict deadlines to enhance productivity, focus, and successful outcomes.

⏳💪 Timeboxing: The Project Delivery Superpower
Timeboxes are simple and powerful while paradoxically hard to apply

Issue No. 22

📰
This is a project by Jeremy Brown. I'm a journeyman sharing insights on leading product & engineering teams, building products, and exploring technology.
As I build this newsletter (and a podcast and YouTube channel) in the open, you will get updates occasionally.

So this week's newsletter somehow got stuck in the pipe last week, apologies for that. Life happens! I'm still learning to ship something consistently and regularly with as little pain and stress as possible.

In other news, I've been trying to post more regularly on LinkedIn. Trying to iterate and learn feels better after putting my principles together. Now I'm trying to avoid checking LinkedIn all the time! How social media sucks you in is a giant trap. That's why I quit social media some time ago. So we'll see where we get there with that. I am going to have to use timeboxing, batching and scheduling when I'm going to be interacting there. I'll keep you posted on how that goes.

In my most recent posts, I've mainly been talking about principles and concepts - foundational stuff. I wanted to focus on foundational topics because I felt it was important to get my thoughts together and written down first. In the future I'll be composing them together and linking to them in articles that are more tactical and usable.

So onwards to this week's newsletter.

💬 In this issue, I cover:

  • ⏳💪 Timeboxing - The Project Delivery Superpower
    • 📝⏱️The Two Rules of Timebox Management
      • 🥊🔒Timeboxing vs. Time Blocking
    • 📜⌛Origins and History of Timeboxing
    • 📆⏰Using Timeboxes
    • 💻🛠️Using Timeboxing to Build Software
      • 🗂️📉Tracking Progress Within a Timebox
      • ⏱️Estimates and Timeboxes
      • ⌛🙃Timeboxes: The Irony
      • ⚖️Exercise Judgement
      • 🌹Don't forget to stop and smell the roses
  • 🔦 Highlight of the Week

⏳💪Timeboxing - The Project Delivery Superpower

When used well, I believe that timeboxing can give us superpowers by creating forcing functions that help us gain control over our time.

A timebox is a predetermined period during which a team strives to deliver a predetermined outcome by working until the time limit is reached. Instead of measuring the time taken to complete an outcome, the team evaluates what was accomplished within the timebox.

By implementing timeboxes, we can work in a focused environment towards completing a meaningful goal rather than just working without a goal. Timeboxes also help minimise risk by providing cut-off points for reflection and learning from what we have done.

Timeboxing creates boundaries that force us to think more granularly inside the box. If we can only dedicate six weeks to an outcome, especially if the task feels enormous, we must figure out how to move the needle within the timebox. That shift in thinking can make all the difference.

I believe timeboxing results in better outcomes for users. Firstly, aggressively timeboxing our work results in shipping smaller slices of value more frequently to users, resulting in earlier feedback from them, which informs the rest of our work. Further, since timeboxed periods end with a retrospective, we should improve with each iteration.

📝⏱️The Two Rules of Timebox Management

When it comes to timebox management, there are two critical rules to follow:

  1. Release something before the timebox is up. This means achieving a specific outcome within the given time frame. Even if that means releasing less than we initially thought we would do.
  2. Stop working when the timebox ends and review our progress. We should analyse our successes and failures to improve our work and plan future timeboxes. Always ask: Did we meet our target outcome at the end of the timebox?

Following these rules will help ensure effective time management and successful outcomes.

🥊🔒Timeboxing vs. Time Blocking

Time blocking is a widely recognised productivity technique that shouldn't be confused with timeboxing. Time blocking involves dedicating a specific time slot to accomplish a task (for example, setting aside 1 p.m. to 3 p.m. for meetings and communication). Timeboxing, on the other hand, refers to the total time allotted to complete a task. However, one could use time blocking to reserve a portion of their day for a specific timebox.

📜⌛Origins and History of Timeboxing

James Martin, author of Rapid Application Development, first used the term. He based it on Parkinson's law from the book by naval historian C. Northcote Parkinson. Parkinson's theory states that work expands to fill the time allotted to it, meaning if given a month for a project, people will stretch it out even if they could finish it sooner.

Martin saw Parkinson's law as relevant to software development due to the failures of the 1980s waterfall model. Developers, including Martin, worked toward a new model called rapid application development (RAD). This interactive, iterative approach involved teams working in short bursts and constantly communicating, reducing inefficiency and allowing immediate evaluation and improvement.

Timeboxing became a cornerstone of Agile methodologies like Scrum in the early 1990s. Scrum uses fixed-length iterations ("sprints") to drive progress, promote collaboration, and enable continuous improvement.

📆⏰Using Timeboxes

Timeboxes can be used everywhere.

Meetings can be timeboxes with goals (sadly, not all meetings!). I'm a big fan of the lean coffee approach to facilitating meetings. You gather topics, vote on them, have a timebox for each topic, and decide whether to extend them.

🕰️
If you're a Google Calendar user, my tip is to turn on speedy meetings and aim for 25-minute meetings as a default.

Timeboxes supercharge the building process. That's why we have the concept of iterations or sprints in Scrum. Other flavours of Agile also use timeboxes.

💻🛠️Using Timeboxing to Build Software

When coaching teams in delivery, I use timeboxes to set specific periods for completing the work. These periods can range from a day to multiple weeks. The goal is to use the shortest possible timeframe for our timebox.

I coach teams to set a timebox for any significant initiative (or project) they are working on. Suppose an initiative will take more than six weeks; in that case, we should chunk it up into multiple smaller initiatives.

Once we have our overall initiative (or project) timebox, we should then chop that up into a series of thin slices of value (or milestones). Each value slice is a week or two, three in extreme cases.

💡
Side note: naming is everything here! I coach teams to choose meaningful names for each initiative (or project) and its value slices (or milestones). My preferred approach is for each to be an outcome (a change in human behaviour that impacts business results). This can be really hard, and AI can be surprisingly helpful here.

Applying the principles of timebox here means that if, as we get towards the end of a timebox, we realise we might be going over (backlogs always grow as we do the work due to what we learn and the unexpected) we can descope some work to be still able to release something that helps us reach our target outcome for the timebox. Then we re-evaluate, incorporate those learnings and have another go (if we decide to do another timebox).

🗂️📉Tracking Progress Within a Timebox

To ensure success with timeboxing, tracking progress throughout the timebox is essential. Here are some visual management tools to help you monitor your work effectively:

  1. Kanban Boards: A popular visual management tool, Kanban boards provide an at-a-glance view of tasks and their progress within a timebox. By dividing tasks into "To Do", "In Progress", and "Done" columns, team members can quickly identify what needs attention and prioritize accordingly.
  2. Burndown (or Burnup) Charts: These charts graphically represent the work remaining within a timebox versus the time left. They help teams visualize their progress and predict whether they will complete all tasks within the allotted timeframe.
  3. Progress Bars: Simple yet effective, progress bars visually represent how much of the timebox has elapsed and how much remains. This helps keep team members aware of the countdown to completion.

By implementing one or a combination of these visual management tools, teams can effectively track their progress within each timebox, helping them stay focused and on track to achieve their desired outcomes.

I usually recommend refining the work to small tasks (around one day of work), tracking them in a Kanban board and visualising our progress via a burndown (or burnup) chart that simply tracks the number of tasks.

⏱️Estimates and Timeboxes

Underestimating the time required for tasks can lead to incomplete work and missed deadlines. I'm not an advocate for estimation, instead I would recommend refining the work to small tasks (around one day of work) and tracking velocity by simply counting the number of tasks you get done historically in a week. Through this, you should get a good feel for your velocity and you will easily spot when a task get stuck for a few days (it might mean someone needs help or the task should be split further).

⌛🙃Timeboxes: The Irony

Ironically, while timeboxes are simple and powerful, they're surprisingly difficult to apply.

People naturally resist constraints, and backlogs tend to grow as we learn and work, with Murphy's Law lurking around every corner.

We fear what the world will think if we release our work in its current state. So, when we reach the end of a timebox and don't think our work is ready, we hesitate to let the world see it, thinking, "If only we do a few more things, it'll be perfect."

In those moments, remember that embracing timeboxes can lead to a more focused and efficient workflow.

Be brave and remove scope aggressively. Remove what doesn't matter to the point that you can still deliver the outcome of the timebox; if it feels painful, you are probably starting to do it right.

⚖️Exercise Judgement

I will say, please exercise judgement with timeboxes. Don't be too inflexible and rigid with your timeboxes. Allow for some flexibility within timeboxes. If a high-priority task emerges, adjust the timebox to accommodate it. Review and adjust your timeboxes regularly to ensure they align with your target outcomes and priorities.

🌹Don't forget to stop and smell the roses

Failing to review and learn from completed timeboxes can limit improvement and lead to repeated mistakes, so schedule retrospectives after each timebox to discuss what worked, what didn't, and how to improve. Use these insights to refine your ways of working and enhance team performance.

🔦 Highlight of the Week

This quote resonated with me when I read it, and I've repeated it many times over the years since I read the book Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency by Tom DeMarco. I highly recommend this book, it's a classic!

💬 If you had some thoughts while reading this, I would love to hear them in the comments.