ArticleslgStudy

computer science

Timeboxing

Timeboxing is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Timeboxing rather than just read about it. In short: In agile principles, timeboxing is the allocation of a maximum unit of time to an activity, called a timebox, within which a planned activity takes place. It is used by agile principles-based project management approaches and for personal time management.

Key takeaways

  • Timeboxing belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Timeboxing to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Timeboxing from memory before moving on to harder problems.

Reference excerpt

In agile principles, timeboxing is the allocation of a maximum unit of time to an activity, called a timebox, within which a planned activity takes place. It is used by agile principles-based project management approaches and for personal time management.

In project management Timeboxing is used as a project planning technique. The schedule is divided into a number of separate time periods (timeboxes), with each part having its own deliverables, deadline and budget. Sometimes referred to as schedule as independent variable (SAIV). "Timeboxing works best in multistage projects or tasks that take little time and you can fit them in the same time slot. It is also worth implementing in case of duties that have foreseeable time-frames of completion."

As an alternative to fixing scope In project management, there are generally considered to be three constraints: time (sometimes schedule), cost (sometimes budget), and scope. (Quality is often added as a fourth constraint---represented as the middle of a triangle.) The assumption is that a change in one constraint will affect the others. Without timeboxing, projects usually work to a fixed scope, in which case when it becomes clear that some deliverables cannot be completed within the planned timescales, either the deadline has to be extended (to allow more time to complete the fixed scope) or more people are involved (to complete the fixed scope in the same time). Often both happen, resulting in delayed delivery, increased costs, and often reduced quality (as per The Mythical Man-Month principle). With timeboxing, the deadline is fixed, meaning that the scope would have to be reduced. As this means organizations have to focus on completing the most important deliverables first, timeboxing often goes hand-in-hand with a scheme for prioritizing of deliverables (such as with the MoSCoW method).

To manage risk Timeboxes are used as a form of risk management, to explicitly identify uncertain task/time relationships, i.e., work that may easily extend past its deadline. Time constraints are often a primary driver in planning and should not be changed without considering project or sub-project critical paths. That is, it's usually important to meet deadlines. Risk factors for missed deadlines can include complications upstream of the project, planning errors within the project, team-related issues, or faulty execution of the plan. Upstream issues might include changes in project mission or backing/support from management. A common planning error is inadequate task breakdown, which can lead to underestimation of the time required to perform the work. Team-related issues can include trouble with inter-team communication; lack of experience or required cross-functionality; lack of commitment/drive/motivation (i.e. poor team building and management). To stay on deadline, the following actions against the triple constraints are commonly evaluated:

Reduce scope: drop requirements of lower impact (the ones that will not be directly missed by the user) Time is the fixed constraint here Increase cost: e.g., add overtime or resources

Adoption in software development Many successful software development projects use timeboxing, especially smaller ones. Adopting timeboxing more than tripled developer productivity at DuPont in the '80s. In some cases, applications were completely delivered within the time estimated to complete just a specification. However, Steve McConnell 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 (DSDM). In lean software development, pull scheduling with Kanban provides short term time management. When developing a large and complex system, where long term planning is required, timeboxing is layered above. Rapid application development (RAD) software development process features iterative development and software prototyping. According to Steve McConnell, timeboxing is a "Best Practice" for RAD and a typical timebox length should be 60–120 days. Scrum 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 less than 30 days. Sprint planning, sprint retrospective and sprint review meetings are timeboxed. In Extreme programming methodologies, development planning is timeboxed into iterations typically 1, 2 or 3 weeks in length. The business revalues pending user stories before each iteration. 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 an earlier return on investment than the waterfall model. A lack of detailed specifications typically is the result of a lack of time, or the lack of knowledge of the desired 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. This also allows for new feedback or insights discovered during the project to be reflected in the result.

In personal time management

Timeboxing can be used for personal tasks, in which case it uses a reduced scale of time (e.g., thirty minutes) and of deliverables (e.g., a household chore instead of project deliverable), and is often called timeblocking. Personal timeboxing is also said to act as a life hack to help curb perfectionist tendencies (by setting a firm time and not overcommitting to a task) which can also enhance creativity and focus (by creating a sense of urgency or increased pressure).

Relationship with other methods Timeboxing acts as a building block in other personal time management methods:

The Pomodoro Technique is based on 25 minute timeboxes of focused concentration separated by breaks allowing the mind to recover. Andy Hunt gives timeboxing as his 'T' in SMART.

See also Design sprint, a time-constrained five-phase process used in design thinking.

References

Worked examples

Example 1 — a first encounter with Timeboxing

Start with the simplest possible case. Write down what Timeboxing claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Timeboxing before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Timeboxing ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Timeboxing

In research
Timeboxing appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Timeboxing in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Timeboxing is common in secondary-school and first-year university syllabi. It links to neighbouring topics Agile software development, Dynamic systems development method, Lean manufacturing, so understanding it makes those chapters shorter.
In everyday life
Look for Timeboxing outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Timeboxing in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Timeboxing means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Timeboxing out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Timeboxing in simple terms?

In agile principles, timeboxing is the allocation of a maximum unit of time to an activity, called a timebox, within which a planned activity takes place. It is used by agile principles-based project management approaches and for personal time management.

Why does Timeboxing matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Timeboxing?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Timeboxing.

Tags

  • Agile software development
  • Dynamic systems development method
  • Lean manufacturing
  • Software project management
  • Time management

Keep exploring