What Is Timeboxing?
/A time-bound project is one that is constrained by hard deadlines, where the date of delivery is as important as the delivery itself. If the project delivers after the deadline, it loses most of its value. Examples of projects with hard deadlines are exhibitions and government regulations - Eduardo Miranda, Program Director, Ericsson Research Canada
The Timeboxing technique is based on the premise that it is better to have a working system with limited functionality than to wait for years to have a complete system. With this technique, the project team can guarantee the delivery of the most important requirements on specific dates, with other requirements scheduled for release on successive dates.
Timeboxing is considered a technique for delivering prioritized requirements based on the work the project team can deliver within a set period. It is typically used on Agile Projects characterized by fixed deadlines and solutions that require frequent enhancements. The application of time boxing extends beyond software development, however, to improving productivity. Timeboxing can also be used as a time management technique.
According to Miranda in 2002 (See reference), timeboxing requires that:
Features/user requirements be grouped into functionality or complete subsets and
Subsets be prioritized so that the team knows which requirements should be implemented first.
Characteristics of Timeboxing
Each timebox begins with a kick-off session and ends with a close-out session that involves reviewing what was achieved in the timebox.
Work stops when the timebox deadline is reached to review progress and prepare for the next iteration (timebox).
Timeboxing requires a fixed schedule and team size.
The team focuses on value so that the most valuable work is delivered after each iteration. Each iteration delivers a working software that is an addition to the previous version.
Not all requirements will be implemented but the ones that are implemented are the result of prioritisation and perceived customer value. The project team works with the customer to select the requirements to be included after which each identified and prioritized subset of requirements is completed for each iteration. With this technique, requirements do not need to be fully understood before each iteration and can evolve over time.
With timeboxing, scope can be reduced but the deadline never changes. If all the deliverables cannot be met within the set time, the scope of work is reduced.
Timeboxing can be combined with the MoSCoW technique for increased effectiveness.
According to BABOK V2, there are 3 approaches that may be used for determining which requirements to include in an iteration:
All In – You start by including all the requirements necessary for the solution to be developed and then remove/postpone the requirements whose implementation will cause the project to exceed the deadline.
All Out – You exclude all the requirements for a start and then include the ones that can be implemented within the constrained time schedule.
Selective – You identify the high priority requirements and then add or remove requirements to meet the deadline.
Advantages of Timeboxing
It helps prevent feature creep, which is what happens when teams add features to software applications without scrutinizing their relevance.
It is a way of focusing on achieving what needs to be done without delay or procrastination.
It speeds up development time and ensures that the most value is delivered within the shortest possible time.
It facilitates quick feedback from customers and reduces communication overhead due to the small team size.
Disadvantages of Timeboxing
Quality may be sacrificed due to the high priority placed on achieving deadlines
It does not work for large projects; it's only suitable for projects that can be completed within 60 - 120 days.
Reference
Miranda, E. (2002, March). Planning and Executing Time Bound Projects. IEEE Computer.
User story maps are an interesting and collaborative way of eliciting user requirements. One of the reasons why I find it so powerful is because it provides a unique approach for aligning discussions relating to the user, their goals, the process that supports the accomplishment of their predefined goals; and the requirements that need to be addressed to solve business problems.