Home > Store

Extreme Programming for Web Projects

Register your product to gain access to bonus material or receive a coupon.

Extreme Programming for Web Projects


  • Sorry, this book is no longer in print.
Not for Sale


  • Copyright 2003
  • Dimensions: 7-3/8" x 9-1/4"
  • Edition: 1st
  • Book
  • ISBN-10: 0-201-79427-6
  • ISBN-13: 978-0-201-79427-4

Web development teams have been operating in the dark for far too long. The lack of proven development methodologies for the Web environment has resulted in a constant struggle for developers to produce quality Web-based projects on time and within budget. The field is multidisciplinary in character, involving both technology and graphic design: Web-based project development must address the issue of company image, must function on multiple platforms, and must incorporate multiple media into one complete package.

Extreme Programming for Web Projects shows how the Extreme Programming (XP) software development discipline can be adapted and applied to the Web-based project development process. This book demonstrates how the hallmarks of XP--continuous integration, short iterations, paired programming, automated testing, and extensive client involvement--are particularly well suited to the unique demands of Web-based development. Based on years of real-world experience, the book offers proven best practices that enable developers to deal efficiently and effectively with the challenges they face and, ultimately, to produce Web-based projects that meet and/or exceed customer expectations.

Readers will find information on vital topics such as:

  • How the XP team approach enhances communication between Web technology and graphic design professionals
  • How XP automated testing ensures a comprehensive approach to testing page layout, performance, and multiplatform operation
  • How XP's continuous integration and short iterations serve the Web development team's need for flexibility
  • How XP's emphasis on client involvement throughout the project improves oftentimes adversarial client relationships
  • How XP can facilitate the difficult task of estimating the time and cost of project completion
  • How XP functionality "stories" can be adapted for Web-based presentation stories
  • How XML, XSLT, and Cascading Style Sheets can help sites remain flexible and maintainable
  • How to use these guidelines for outstanding Web site design and coding techniques

As the Web industry continues to mature, there is a great need for methodologies that will ensure project quality as well as efficiency and cost-effectiveness. The fast-paced and flexible Extreme Programming methodology offers an excellent starting point for Web developers to improve their working processes and employ best practices.


Sample Content

Online Sample Chapter

Why the Web Industry Needs XP

Downloadable Sample Chapter

Click below for Sample Chapter(s) related to this title:
Sample Chapter 1

Table of Contents





1. Why the Web Industry Needs XP.

Trying to Be All Things to All Customers.

Projects Not Delivered on Time or on Budget.

Adversarial Customer/Developer Relationships.

Unsuccessful Projects.

The XP Solution.

Web Development versus Software Development.


Support for Multiple User Environments.


Rapid Deployment.



XP Web Development.

2. Project Estimating.

The Pitfalls of Estimating.


Fixed-Price Quotes.

Past Projects.

The Parameters of Estimating.





An XP Estimating Strategy.

Less Risk on Fixed-Price Quotes.

Better Time Tracking.

3. Customer Trust.

Promises Unkept.

Financial and Estimating Problems.

Failure to Deliver.

Poor Quality and Communications.

Building Trust.

A Customer Bill of Rights.

The Customer Bill of Rights as a Selling Point.

4. The Release Plan.

Customer Goals.

Strategies for Achieving Customer Goals.

Technical Constraints.

Appropriate Web Technologies.

The Release Plan Document.


5. The Project Team.

Typical XP Project Roles.

Web XP Project Roles.




Interface Programmer.

Graphic Designer.

Server-Side Programmer.


Project Manager.

Tester (Quality Assurance).

Pair Programming.

Interface Programmers and Graphic Designers.

Customers and Testers.

Testers and Graphic Designers.

Customers and Everyone.

Continuous Integration.

Checking in Work.

Keeping on Track.

Transitioning the Team to XP.

6. The Development Environment.

The Work Space.

Seating Arrangements.

Desks and Chairs.

Hardware and Platforms.

A Shared Repository.

Discussion Spaces.



Locating the Customer.

Work Timing.

Avoiding Burnout.

Setting Velocity.

Time Tracking.

Breaking the XP Rules.

7. Working in Iterations.

Stories and Deliverables.

The Iteration Strategy Session.

Writing Stories.

Estimating Stories.

Success Metrics.

Selecting Stories.

Iteration Planning and Estimating.

Discussing Stories.

Assigning Stories.

Revising Estimates.

Determining Content Requirements.

Risk Analysis and Management.

Iteration 1: Preparing for Development.

Iteration 2: Avoiding Risk.

Iteration 3: Spikes.

The Iterations Ahead.

8. The Graphic Design Process.

The Pitfalls of Ignoring the Customer during Design.

Graphic Design Iterations.

The Creative Brief.

The Competitive Analysis.

The Mood Board.

Look and Feel.

The Design Specification.

The Page Layout.

Matching Tasks and Iterations.


9. XML—A Better Way.


HTML Problems.


XML to the Rescue.

Basic XML.


10. XP Web Development Practices.

XML in Web Development.

The First Law of XML Web Development.

Using the Schema Document.

Using the XSLT Style Sheet.

Separating Content and Formatting.

Continuous Integration.

The XML Site Map.


Site Map Structure.

Using the Site Map.

Unit Testing with XML.

Output Methods.

Testing Options.


Deploying the XML Site.


11. Planning.

High Risk versus High Cost.

The XP Alternative.


Keep to Two-Week Iterations and Independent Stories.

Plan Iteration Strategy.

Plan for Width Before Depth.

Make Customer Input Easy and Controllable.

Keep Track of Tasks.

Keep the Customer Involved in Delivery.

User Stories.

Stories Should Be Written in a Language That the Customer Understands.

Stories Should Provide the Customer with Something Tangible.

Stories Should Take between One and Two Weeks to Complete.

Stories Must Be Testable.

Project Velocity.

Estimating Velocity.

Why Is Velocity Important?

Changing Velocity.

The Team.

Relevant Experience.


Skills Transfer.

The People Skills of the Project Manager.


Adapting XP.

12. Design.


CRC Cards.

Naming Conventions.


Starting Slowly.



13. Coding.

Coding Best Practices.

Learn to Love an Onsite Customer.

Write Code to Agreed Standards.

Code the Unit Test First.

Use Paired Development.

Leave Optimization Until Last.

Avoid Overtime.

14. Testing.

Unit Testing.

Unit Tests for Web Projects.

Multiple Browsers.

Choosing Browsers.

Managing Assets.

How to Get Started.


Further Reading.

Index. 0201794276T09112002


Estimating the time and costs of web projects has been my obsession for over five years. Starting with wild guestimates and little success I was quickly attracted to the analysis practices of the Rational process. I spent weeks with customers doing Use Cases and Activity Diagrams trying to define the scope of the project. Still these specifications told me nothing about the work effort involved and lead to huge fights with customers over the changes the customer would ineviably want. Three years ago I went to the Software Expo in San Jose and heard Martin Fowler talking about a new set of practices called XP. I was hooked. XP let me face the facts about the futility of estimation. It taught me about the interconnectedness of price, time, scope and quality and the importance of letting the customer continuously make the trade-offs between the four. As a project manager XP changed the rules of how I engaged with customers and overnight improved my customer relationships and my bottom-line.

If estimation was my obsession then development was my curse. Every project seemed to be going fine and then stalled at 90%. It would take us 3 months to do 90% of the work and six months to do the last 10%. Once completed the sites we were building were a nightmare to maintain and I had lost many good programmers who would rather abandon ship than baby-sit a mass of unintelligible brittle code. Developing sites in iterations and using unit tests made a lot of sense but didnt translate naturally in to web development. While the pure coding server side issues melded well with XP we had client-side issues, graphical design issues and serious conflicts trying to use a practice meant for object oriented systems on the inherently non object oriented web page architecture. IF web projects were going to use XP then XP would have to change and so would the way web sites are structured and developed.

Over the last two years we have experimented with practices to get the most out of XP in a web development environment. We have extended our practices to include graphic designers, interface programmers, copywriters and the rest of the diverse team that goes into building a web site. We have developed new design patterns for the creation of web sites using XML, Cascading Style Sheets and XSLT to impose an architecture that better supports continuous integration and the separation of content, graphical design and functionality.

We highly recommend that readers of this book first look at Kent Becks original XP book to see the origins of the XP practices described in this book and to better see where our practices differ.



Click below to download the Index file related to this title:


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership