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