Want to continually change a project's scope?

By Thom Holmes, ITworld.com |  Career

  • Create a living functional specification. At the project's
    outset, there will be a normal discovery period during which you and the developer will
    define your Website's needs and compile a list of desired features and functions. This
    will basically define what can be done in the three-week programming iterations. Start
    by prioritizing the desired features and dedicating the first iteration to building the
    foundation upon which the rest of the site will be constructed. Keep adding details
    about operation and implementation to the original list of features and functions,
    largely in response to developer questions (e.g. "What should this dialog box say?"
    or "How many fields are there in the registration module?").
  • Complete mission critical functionality first. Do a serious
    prioritization of desired features, assuming that some things may never get completed.
    Decide which five things absolutely have to get done and make it your mission to get
    them into the three-week coding sessions as quickly as possible.
  • Revisit project scope prior to each iteration. This is one of
    the basic tenets of XP. In a process called "steering," the client and the developer
    meet prior to the beginning of each iteration and work out what can be done during the
    next three-week cycle. If these tasks are too ambitious for the time allotted, the
    client must postpone selected jobs. This system always keeps the client in the loop and
    allows you to manage everyone's expectations. There are no surprises in Extreme
  • Expect to accomplish less, but achieve higher quality. Rapid
    development is at an inherent disadvantage because it allows little time to complete a
    project. By emphasizing the continual re-evaluation of scope to meet fixed deadlines,
    as well as constantly applying rigorous unit and functional testing, XP can help give
    you a higher-quality Website than could be achieved under the traditional "don't stop
    coding until you're done" approach.

Avi Beck, a technical project manager with web developer
<kde>, views the management of expectations as XP's primary advantage.

"The coders benefit from not having to develop huge components in a vacuum and by
having the priority of tasks laid out by the client on a continual basis," said
Beck. "The client benefits by having a new, working model every few weeks as well as
being able to reprioritize functionality every few weeks."

In the traditional tug-of-war between client and developer, the client always wants
to expand scope and the developer always wants to reduce it. XP can make the two sides
more willing partners in the joint evaluation of what can be accomplished within the
given time and cost restraints of a Web project.

Join us:






Answers - Powered by ITworld

ITworld Answers helps you solve problems and share expertise. Ask a question or take a crack at answering the new questions below.

Ask a Question