Extreme Programming Practice

Sustainable Pace

The sustainable pace practice was coined by Kent Beck to replace the “40 hour week” approach of measuring employee output. The current capacity of producing quality work within a time constraint -of a week, for example- is hard to standardize in Extreme Programming because it is a factor of talent. More work hours does not necessarily translate to better productivity.

Sustainable Pace comes in to ensure consistent software development at a sustainable rate for extended periods of time. Development projects involve repeated iterations with some running longer than others. The most likely scenario is a new project starting the previous one ends immediately. This can put a strain on a professional developer who does not continuously preserve energy levels throughout the projects.

A tired developer is most likely to lose focus and make mistakes that will impact the quality of output.

Extreme programming can be equated to a marathon where the sustainable pace is the constant speed a runner maintains to last longer over a long distance. Just like in a marathon, impediments like a steep climb require a small adjustment to speed to prevent burnout.

The principle of sustainable pace is simple: work hard on a project with good focus levels for a time period then rest and do it again and again with a more extended rest in grouped intervals. This only works if the periods of rest are respected.

The sustainable pace should be maintained across all stages of development:

  • Programming
  • Quality assurance
  • Delivery management.

Practicing a sustainable pace is a sure way of maintaining the schedule of planned releases and iterations. It keeps the company from plunging into a death march.

It is hard to determine the optimum velocity of a development team accurately, so it is much safer to have short periods of thirty-minute vigorous activity followed by five-minute breaks. After every four intervals of exercise and rest, the team should take an extended rest of thirty minutes. All this while observing washroom and food breaks. These factors should be considered in the introduction of sustainable pace practices in an extreme programming environment:

Sustainable Development

The core values of the business should not be affected. The reputation of the company should dictate the consistent velocity and productivity of the iterations

Sustainable Quality

The end product of iteration should produce little to no technical debts. An ideal process should be void of the accumulation of such obligation with every Product Increment.

Sustainable Delivery

Releases should meet and maintain the planned schedules of delivery to production and test environments. Stability and consistency are vital to keeping a reasonable frequency.

Sustainable Improvement

Course corrections, introspection, and feedbacks from reviews should be used to improve the development practices and processes continuously.