Extreme Time Spans

Does ExtremeProgramming have any named timespan that is smaller than a project but bigger than a task?


A project is made up of one or more releases or phases. In ChryslerComprehensiveCompensation, the monthly project was a release or phase in the implementation of the Chrysler Comprehensive Compensation project.

A release has a bunch of UserStories, chosen to provide BusinessValue. Each release requires N iterations, where N is the number of weeks of work to implement the UserStories, times the load factor, divided by number of weeks in an iteration. This is determined in CommitmentSchedule.

Thus, the CommitmentSchedule defines what will go out in the next release. The project consists of the current CommitmentSchedule plus a whole pile of UserStories that aren't committed to yet.

Each CommitmentSchedule produces functionality with business value, but in the smallest chunk possible, since you only ever really learn once code is in production. In this way it is similar in philosophy to SpikeSolution, but at a business and architectural level.

An iteration is a collection of UserStories, in the middle of some CommitmentSchedule, chosen (mostly) by the customer, in WorstThingsFirst order. Developers implement UserStories by determining the EngineeringTasks that it takes to get the story done, implementing them, and running the AcceptanceTests that the users have defined to show that the story is correctly implemented.

-- RonJeffries KentBeck


For related discussion of scaling, see HundredPersonProject, LargeExtremeProgramming, ExtremeProgrammingMayScaleUp, ExtremeProgrammingRoadmap


CategoryExtremeProgramming CategoryTime


EditText of this page (last edited January 2, 2005) or FindPage with title or text search