Software architecture training
Learn about software architecture and become more architecturally aware with our two day training course ... book now.

How long is a timebox?

One of the most common questions about timeboxing relates to the length of timeboxes. How long should they be and what factors influence this decision?

While there are many recommendations out there, some of which are strongly tied to the development process you've adopted (e.g. Scrum recommends a month), the factor I would like to talk about is the skill of the team. Or rather, how much relevant experience they have. By relevant experience, I mean experience with whichever development process, team structure, technologies, tools, etc that are in use on the project. Based upon this information, you should be in a good position to find the ideal length of timebox that suits your project.

For very experienced teams, a short duration (say 2 weeks) allows for some very aggressive timescales and some very quick feedback loops, assuming that you would plan to do a release at the end of each timebox. On the other hand, a longer duration (say 4-6 weeks) is more suited to projects that are larger, more architecturally challenging or where the team is on a steep learning curve with the process, technologies, tools, etc. From experience, problems arise when you put a team that's on a steep learning curve into very short timeboxes and expect them to deliver. It's just not realistic to expect them to take onboard lots of new technologies *and* expect them to deliver something that's production quality.

The ideal length of a timebox for any particular project will vary and deserves some careful thought. Of course, adopting an iterative approach means that you have the flexibility to tweak the timebox duration throughout the project based on your growing experience.

Here at The Pragmatic Architect, we're interested to see what you you have to say. What are experiences here? What timebox duration works for you and why?



Re: How long is a timebox?

I believe requirements churn also forms an important part of the equation. The interval must be short enough to accommodate the oscillations of the business. If requirements change occurs roughly every two weeks, then a 6-week interval would cause great antagonism and, very likely, the cancellation of iterations.

Re: How long is a timebox?

That's a very good point and it raises an interesting question. Say that the requirements change frequently early in the project and less frequently as you progress. Would you keep the timebox length the same for the entire duration?

Re: How long is a timebox?

I actually disagree with the premise - I don't believe that requirements churn should have any impact on iteration length - certainly not when we're talking about 2 to 4 week timeboxes.

I just posted a couple articles about 1) Using timeboxes to schedule delivery and 2) Scheduling change requests.

The process identified in the scheduling post allows us to handle churn without affecting the ideal timebox duration. Scott Sehlhorst

Re: How long is a timebox?

I've had several long working experiences with iterations of a month, three weeks and one week. I've typically preferred the larger iterations.

Week-long iterations incur too much cost of overhead in managing the iteration -- what features are in, and out, branching, if necessary, and so forth.

Month-long iterations allow for a team to focus on the work at hand while still allowing for a rapid feedback cycle (at least, if the overall development process is at least three iterations long). For shorter projects, it seems like shorter iterations might be valuable.

Re: How long is a timebox?

2-4 Weeks. Shorter the better.

Re: How long is a timebox?

It seems like team size matters, too. A bigger team (say six or eight people) needs a longer timebox to come together on something releasable. Smaller teams (say one or two people) can timebox down to as little as a week.

The Pros and Cons of Short Iterations

My first experience with any process that was similar to an Agile approach was in a startup ten years ago. We did 3-day-long iterations on a software project with a three person development team. That experience, followed by its antithesis, shaped ...

How to use timeboxes for scheduling software delivery

Roger had a great suggestion in the comments to our previous two-part post on scheduling requirements changes based on complexity. Roger pointed out that we had not explained what timeboxing is, but implicitly used the principles of timeboxing in our ...

Add a comment Send a TrackBack