Timebox Development is a construction-time practice that helps to infuse a development team with a sense of urgency and helps to keep the project’s focus on the most important features.
The Timebox Development practice produces its schedule savings through redefining the product to fit the schedule rather than redefining the schedule to fit the project. It is most applicable to in-house business software but it can be adapted for use on specific parts of custom and shrink-wrap projects.
The success of timeboxing depends on using it only on appropriate kinds of projects and on management’s and end-user’s willingness to cut features rather than stretch the schedule.
Timebox Development is a means of harnessing the same sense of urgency that accompanies preparing for a holiday except that it usually accompanies preparing to work hard instead. When we follow the Timebox Development practice, we specify a maximum amount of time that we will spend constructing a software system. We can develop as much as we want or whatever kind of system we want, but we have to constrain that development to a fixed amount of time. This sense of urgency produces several results that support rapid development.
Potential reduction from nominal schedule: Good
Improvement in progress visibility: Good
Effect on schedule risk: Decreased Risk
Chance of first-time success: Very Good
Chance of long-term success: Excellent
- Pressure to release interim versions of program too frequently
Major Interaction and Trade-Offs
- Trades small increase in project overhead for large reduction in integration risk and improvement in progress visibility
- Especially effective when used in conjunction with Miniature Milestones
- Provides support needed for incremental-development lifecycle models