Time boxing
Encyclopedia
In time management
Time management
Time management is the act or process of exercising conscious control over the amount of time spent on specific activities, especially to increase efficiency or productivity. Time management may be aided by a range of skills, tools, and techniques used to manage time when accomplishing specific...

, a time box allots a fixed period of time
Time
Time is a part of the measuring system used to sequence events, to compare the durations of events and the intervals between them, and to quantify rates of change such as the motions of objects....

 for an activity. Timeboxing plans
Planning
Planning in organizations and public policy is both the organizational process of creating and maintaining a plan; and the psychological process of thinking about the activities required to create a desired goal on some scale. As such, it is a fundamental property of intelligent behavior...

 activity by allocating
Resource allocation
Resource allocation is used to assign the available resources in an economic way. It is part of resource management. In project management, resource allocation is the scheduling of activities and the resources required by those activities while taking into consideration both the resource...

 time boxes; and is a distinctive feature of several unorthodox project management
Project management
Project management is the discipline of planning, organizing, securing, and managing resources to achieve specific goals. A project is a temporary endeavor with a defined beginning and end , undertaken to meet unique goals and objectives, typically to bring about beneficial change or added value...

 approaches.

In project management

Timeboxing is used as a planning projects
Project planning
Project planning is part of project management, which relates to the use of schedules such as Gantt charts to plan and subsequently report progress within the project environment....

 technique. The schedule is divided into a number of separate time periods (timeboxes), with each part having its own deliverables, deadline and budget.

As an alternative to fixing scope

In project management
Project management
Project management is the discipline of planning, organizing, securing, and managing resources to achieve specific goals. A project is a temporary endeavor with a defined beginning and end , undertaken to meet unique goals and objectives, typically to bring about beneficial change or added value...

, the triple constraints
Project management triangle
The Project Management Triangle is a model of the constraints of project management. It is often used to illustrate that project management success is measured by the project team's ability to manage the project, so that the expected results are produced while managing time and cost.- Overview...

 are time (sometimes schedule
Schedule (project management)
In project management, a schedule consists of a list of a project's terminal elements with intended start and finish dates. Terminal elements are the lowest element in a schedule, which is not further subdivided...

), cost (sometimes budget
Budget
A budget is a financial plan and a list of all planned expenses and revenues. It is a plan for saving, borrowing and spending. A budget is an important concept in microeconomics, which uses a budget line to illustrate the trade-offs between two or more goods...

), and scope
Scope (project management)
In project management, the term scope has two distinct uses: Project Scope and Product Scope.Project Scope"The work that needs to be accomplished to deliver a product, service, or result with the specified features and functions."Product Scope...

 (sometimes performance). Quality is often added, sometimes replacing cost. Changing one constraint will probably impact the rest.

Without timeboxing, projects usually work to a fixed scope, 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).

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
MoSCoW Method
MoSCoW is a prioritisation technique used in business analysis and software development to reach a common understanding with stakeholders on the importance they place on the delivery of each requirement - also known as MoSCoW prioritisation or MoSCoW analysis.According to A Guide to the Business...

 for example) of deliverables, to ensure that it is the project stakeholders
Project stakeholders
Project stakeholders are those entities within or outside an organization which:# sponsor a project, or# have an interest or a gain upon a successful completion of a project;# may have a positive or negative influence in the project completion....

 who determine the important deliverables rather than software developer
Software developer
A software developer is a person concerned with facets of the software development process. Their work includes researching, designing, developing, and testing software. A software developer may take part in design, computer programming, or software project management...

s.

To manage risk

Timeboxes are used as a form of risk management
Risk management
Risk management is the identification, assessment, and prioritization of risks followed by coordinated and economical application of resources to minimize, monitor, and control the probability and/or impact of unfortunate events or to maximize the realization of opportunities...

, 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:
  1. Dropping requirements of lower impact (the ones that will not be directly missed by the user)
  2. Working overtime to compensate for the time lost
  3. Moving the deadline


Adoption in software development

Many successful software development
Software development
Software development is the development of a software product...

 projects use timeboxing, especially smaller ones. Adopting timeboxing more than tripled developer productivity at DuPont
DuPont
E. I. du Pont de Nemours and Company , commonly referred to as DuPont, is an American chemical company that was founded in July 1802 as a gunpowder mill by Eleuthère Irénée du Pont. DuPont was the world's third largest chemical company based on market capitalization and ninth based on revenue in 2009...

 in the '80s. In some cases, applications were completely delivered within the time estimated to complete just a specification
Functional specification
A functional specification in systems engineering and software development is the documentation that describes the requested behavior of an engineering system...

. However, Steve McConnell
Steve McConnell
Steven C. McConnell is an author of many software engineering textbooks including Code Complete, Rapid Development, and Software Estimation...

 argues that not every product is suitable and that timeboxing should only be used after the customer agrees to cut features, not quality. There is little evidence for strong adoption amongst the largest class of projects.

Timeboxing has been adopted by some notable software development methodologies.
  • Dynamic systems development method
    Dynamic Systems Development Method
    Dynamic systems development method is an agile project delivery framework, primarily used as a software development method. DSDM was originally based upon the rapid application development method. In 2007 DSDM became a generic approach to project management and solution delivery...

     (DSDM)
  • In lean software development
    Lean software development
    Lean software development is a translation of Lean manufacturing and Lean IT principles and practices to the software development domain. Adapted from the Toyota Production System, a pro-lean subculture is emerging from within the Agile community....

    , pull scheduling
    Kanban
    , also spelled kamban, and literally meaning "signboard" or "billboard", is a concept related to lean and just-in-time production. According to Taiichi Ohno, the man credited with developing Just-in-time, kanban is one means through which JIT is achieved.Kanban is not an inventory control system...

     with Kanban
    Kanban (development)
    Kanban is a method for developing products with an emphasis on just-in-time delivery while not overloading the developers. It emphasizes that developers pull work from a queue, and the process, from definition of a task to its delivery to the customer, is displayed for participants to see.Kanban...

     provides short term time management. When developing a large and complex system, when long term planning
    Planning
    Planning in organizations and public policy is both the organizational process of creating and maintaining a plan; and the psychological process of thinking about the activities required to create a desired goal on some scale. As such, it is a fundamental property of intelligent behavior...

     is required timeboxing is layered
    Abstraction layer
    An abstraction layer is a way of hiding the implementation details of a particular set of functionality...

     above.
  • Rapid application development
    Rapid application development
    Rapid application development is a software development methodology that uses minimal planning in favor of rapid prototyping. The "planning" of software developed using RAD is interleaved with writing the software itself...

     (RAD) software development process
    Software development process
    A software development process, also known as a software development life cycle , is a structure imposed on the development of a software product. Similar terms include software life cycle and software process. It is often considered a subset of systems development life cycle...

     features iterative development
    Iterative and incremental development
    Iterative and Incremental development is at the liver of a cyclic software development process developed in response to the weaknesses of the waterfall model...

     and software prototyping
    Software prototyping
    *Software prototyping, refers to the activity of creating prototypes of software applications, i.e., incomplete versions of the software program being developed...

    . According to Steve McConnell
    Steve McConnell
    Steven C. McConnell is an author of many software engineering textbooks including Code Complete, Rapid Development, and Software Estimation...

    , timeboxing is a "Best Practice" for RAD and a typical timebox length should be 60-120 days.
  • Scrum
    Scrum (development)
    Scrum is an iterative, incremental framework for project management often seen in agile software development, a type of software engineering....

     was influenced by ideas of timeboxing and iterative development. Regular timeboxed units known as sprints form the basic unit of development. A typical length for a sprint is 30 days. Sprint planning, sprint retrospective and sprint review meetings are timeboxed.
  • Extreme programming
    Extreme Programming
    Extreme programming is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements...

     values communication, simplicity, feedback and courage. For planning
    Planning
    Planning in organizations and public policy is both the organizational process of creating and maintaining a plan; and the psychological process of thinking about the activities required to create a desired goal on some scale. As such, it is a fundamental property of intelligent behavior...

    , development is timeboxed into iterations typically 1,2 or 3 weeks in length. The business revalues pending user stories
    User story
    In computer programming a user story is one or more sentences in the everyday or business language of the end user that captures what the user wants to achieve. User stories are used with Agile software development methodologies for the basis of what features that can be implemented...

     before each iteration.

Agile software development
Agile software development
Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams...

 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
Return on investment
Return on investment is one way of considering profits in relation to capital invested. Return on assets , return on net assets , return on capital and return on invested capital are similar measures with variations on how “investment” is defined.Marketing not only influences net profits but also...

 then the waterfall model
Waterfall model
The waterfall model is a sequential design process, often used in software development processes, in which progress is seen as flowing steadily downwards through the phases of Conception, Initiation, Analysis, Design, Construction, Testing, Production/Implementation and Maintenance.The waterfall...

.

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.

In personal time management

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
Procrastination
In psychology, procrastination refers to the act of replacing high-priority actions with tasks of low-priority, and thus putting off important tasks to a later time...

 and that many people find that the time pressure created boosts creativity
Creativity
Creativity refers to the phenomenon whereby a person creates something new that has some kind of value. What counts as "new" may be in reference to the individual creator, or to the society or domain within which the novelty occurs...

 and focus.

Relationship with other methods



Timeboxing acts as a building block in other personal time management methods.
  • The Pomodoro Technique
    Pomodoro Technique
    The Pomodoro Technique is a time management method developed by Francesco Cirillo in the late 1980s. The technique uses a timer to break down periods of work into 25-minute intervals called 'Pomodoros' separated by breaks...

     is based on 25 minute timeboxes of focussed concentration separated by breaks allowing the mind to recover.
  • Andy Hunt
    Andy Hunt (author)
    Andy Hunt is a writer of books on software development. Hunt co-authored The Pragmatic Programmer, six other books and many articles,...

     gives timeboxing as his 'T' in SMART.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK