December 13, 2000, 3:08 PM — In the previous two installments of this series, we introduced the rapid-development
practice known as Extreme Programming (XP). XP is a development methodology based on
several somewhat arbitrary, and limiting, controls:
- Programming tasks are broken down into manageable chunks that can be
completed in three weeks.
defines the functionality that can be achieved. Additional functions considered to be
of secondary importance are postponed until the end of the programming cycle or are
ensures that the result of each iteration is solid and ready for functional testing.
Individual software modules are also integrated at the end of each coding
conclusion of each three-week development cycle.
A group of developers from Tektronics that included Ward Cunningham and Kent Beck
founded XP. The group found that by continually examining the scope of a project, as
well as varying it to restrict coding to arbitrary three-week sessions, they could
cause the project's quality, duration, and cost to take care of itself. In other words,
they reversed the traditional model of software development, in which scope is defined
as a constant while the variables of quality, time, and cost change in order to conform
to the scope.
Realizing that the traditional approach often led to missed deadlines, extravagant
spending, and various delays, the group experimented with making scope a variable that
could be modified to meet a fixed project length and cost. XP is designed to permit
continual re-evaluation of project scope. The resulting Website may not include all of
the features that were originally desired, but the completed features will work
Allowing project scope to vary raises several important issues, including the problem
of pricing the services of a third-party developer if you do not initially agree on
which features your Website should have. How can you predict your project's outcomes if
scope can vary? XP methods certainly call for some "Extreme Project Management"
Fortunately, nobody will allow scope to continually vary without a good reason, even
while engaging in XP. Here are some tips to keep a grip on scope while using this