Timeboxing is one of the important options for team agility and for the scheduling strategy decision. The schedule is divided into a number of separate time periods (timeboxes). Each box has its own deliverables, deadline, and budget. In agile, these timeboxes are known as “iterations” or “sprints”. In software development, the deliverables of each timebox are working and tested software. If the amount of work planned for a particular timebox cannot be met, then it is better to complete as much code as possible while minimizing the amount of incomplete code.
Timeboxing offers four primary benefits.
Quick feedback. Timeboxing helps the team to get feedback quickly on:
- The quality of the work being done
- If the right work is being done
- How well the team is meeting their projected schedule
- Assessing if you are on track
Cadence. Timeboxing helps the team develop a reliable cadence for:
- Planning. The shorter the time box the greater your ability to produce an accurate schedule for that increment.
- When things are started
- When things should be brought to completion
- When things are demonstrated
- When to do a retrospection
- Calculating the velocity of the team
Focus. Timeboxing brings a degree of focus to the team.
- Forcing teams to work on small batches of work that can be completed within the timebox
- Encouraging people to work together to complete the work within the timebox
- Encouraging completion of work rather than starting work. Teams only get credit for work that is actually completed
- Getting requirements just when they are needed and not earlier than needed
Clarity. Timeboxing helps to clarify the objectives for each iteration and provides a certain amount of urgency to gather accurate and timely information required to complete the work.