One
of the
few requirements of extreme programming (XP) is to have the customer
available. Not only to help the development team, but to be a part of
it as well. All phases of an XP project require communication with the
customer, preferably face to face, on site. It's best to simply assign
one or more customers to the development team. Beware though, this
seems like a long time to keep the customer hanging and the customer's
department is liable to try passing off a trainee as an expert. You
need the expert.
User Stories are written
by the customer, with developers helping, to allow time estimates, and
assign priority. The customers help make sure most of the system's
desired functionality is covered by stories.
 During the release
planning meeting the customer will need to negotiate a
selection of user
|
stories
to be included in each scheduled release.
The timing of the release may need to be negotiated as well. The
customers must make the decisions that affect their business
goals. A release planning meeting is used to define small incremental releases
to allow functionality to be released to the customer early. This
allows the customers to try the system earlier and give the developers
feedback sooner.
Because
details are left off the user stories the developers will need to talk
with customers to get enough detail to complete a programming task.
Projects of any significant size will require a full time commitment
from the customer.
The
customer will also be needed to help with functional testing.
The test data will need to be created and target results computed or
verified. Functional tests verify that the system is ready to be
released into production. It can happen that the system will not pass
all functional tests just prior to release. The customer will be needed
to review the test score and allow the system to continue into
production or stop it.
|
 This may seem
like a lot of the customer's time at first but we should remember that
the customer's time is spared initially by not requiring a detailed
requirements specification and saved later by not delivering an
uncooperative system. Some
problems can occur when multiple customers are made available part
time. Experts in any field have a tendency to argue. This is natural.
Solve this problem by requiring all the customers to be available for
occasional group meetings to hash out differences of opinion. 
|