In time management, a time box allots a fixed period of time for an activity. Timeboxing plans activity by allocating time boxes; and is a distinctive feature of several unorthodox project management approaches.
“ | Timebox — don't scopebox. | ” |
— Mary Poppendieck , Leading lean software development[1] |
Contents |
Timeboxing is used as a planning projects technique. The schedule is divided into a number of separate time periods (timeboxes), with each part having its own deliverables, deadline and budget.
“ |
What ... your ... teams are doing is managing the triple constraints that face any organisation - time, quality, scope. When using a fixed duration, we are telling everyone involved, 'time is urgent and we are going to include as much as we can within this time framework.' Since quality cannot be compromised, the only variable is scope. 'Time boxing' creates a sense of urgency and criticality for the entire organization |
” |
—Mark P. Dangelo, Innovative relevance[2] |
In project management, the triple constraints are time (sometimes schedule), cost (sometimes budget), and scope (sometimes performance).[3][4][5][6][7] Quality is often added[8][9], sometimes replacing cost[2]. Changing one constraint will probably impact the rest.[6]
Without timeboxing, projects usually work to a fixed scope,[10] such that when it is clear that some deliverables cannot be completed, either the deadline slips (to allow more time) or more people are involved (to do more in the same time). Usually both happen, delivery is late, costs go up, and often quality suffers (if only that requirements had changed by the time the project delivered).
“ |
In my experience, cutting scope and meeting the deadline is almost always the best approach. |
” |
— Mary Poppendieck , Leading lean software development[11] |
With timeboxing, the deadline is fixed, but the scope may be reduced. This focuses work on the most important deliverables. For this reason, timeboxing depends on the prioritisation (with the MoSCoW Method for example) of deliverables, to ensure that it is the project stakeholders who determine the important deliverables rather than software developers.
Timeboxes are used as a form of risk management, especially for tasks that may easily extend past their deadlines. The end date (deadline) is one of the primary drivers in the planning and should not be changed as it is usually linked to a delivery date of the product. If the team exceeds the deadline, the team failed in proper planning and / or effective execution of the plan. This can be the result of: the wrong people on the wrong job (lack of communication between teams, lack of experience, lack of commitment / drive / motivation, lack of speed) or underestimation of the (complexity of the) requirements.
When the team exceeds the deadline, the following actions might be taken after conferring with the Client:
Software development process |
---|
Activities and steps |
Methodologies |
Supporting disciplines |
Tools |
“ |
in the overwhelming majority of cases, scope in a software system is not only expendable; it is usually overblown and selected by people who do not accept accountability for, or have the knowledge needed for, fitting the work with the constraints. Let's be honest; customers do not need scope. They need business goals accomplished within some constraints of time and cost. |
” |
—Mary Poppendieck, Leading lean software development[12] |
Many successful software development projects use timeboxing, especially smaller ones.[13] Adopting timeboxing more than tripled developer productivity at DuPont in the '80s.[14] In some cases, applications were completely delivered within the time estimated to complete just a specification.[14] However, Steve McConnell argues that not every product is suitable[14] and that timeboxing should only be used after the customer agrees to cut features, not quality.[14] There is little evidence for strong adoption amongst the largest class of projects.[13]
Timeboxing has been adopted by some notable software development methodologies.
We follow these principles:
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
Agile software development advocates moving from plan driven to value driven development. Quality and time are fixed but flexibility allowed in scope. Delivering the most important features first leads to a earlier return on investment then the waterfall model.[7]
A lack of detailed specifications typically is the result of a lack of time, or the lack of knowledge of the desired end result (solution). In many types of projects, and especially in software engineering, analyzing and defining all requirements and specifications before the start of the realization phase is impossible. Timeboxing can be a favorable type of contracting for projects in which the deadline is the most critical aspect and when not all requirements are completely specified up front.
There is also a better structure for allowing for new insights that are developed during the project to be reflected in the end result.
Individuals can use timeboxing for personal tasks, as well. This technique utilizes a reduced scale of time (e.g., thirty minutes instead of a week) and deliverables (e.g., chores instead of a component of a business project). Personal timeboxing is said to help curb perfectionist tendencies (by setting a firm time and not overcommitting to a task). Adam Pash writes that timeboxing helps overcome procrastination and that many people find that the time pressure created boosts creativity and focus.[23]
The primary inspiration for Pomodoro Technique was drawn from the following ideas: time-boxing
— Francesco Cirillo, The Pomodoro Technique[24]
Timeboxing acts as a building block in other personal time management methods.