Make no mistake, web development is not software development; they are very different disciplines. However, web developers and software developers face many of the same challenges. Teams must be assembled, solutions must be built, testing and quality assurance must be conducted, and ultimately projects must be delivered as promised: on time and within budget. The web industry grew up so quickly that process was never sufficiently addressed nor formalized, and the authors of this book believe that web teams can learn a lot from the success that software teams have experienced with Extreme Programming (XP). The book presents a hybrid that adopts such XP cornerstones as pair programming and continuous integration, and adapts them to many of the unique requirements of web projects (e.g. graphical design process, multi-discipline teams, etc.). The result is a proven means of better delivering software to the browser.
Click below for Sample Chapter(s) related to this title:
Sample Chapter 1
I: XP AND WEB PROJECTS.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.
The XP Solution.
Web Development versus Software Development.
Support for Multiple User Environments.
XP Web Development.2. Project Estimating.
The Pitfalls of Estimating.
The Parameters of Estimating.
An XP Estimating Strategy.
Less Risk on Fixed-Price Quotes.
Better Time Tracking.3. Customer Trust.
Financial and Estimating Problems.
Failure to Deliver.
Poor Quality and Communications.
A Customer Bill of Rights.
The Customer Bill of Rights as a Selling Point.4. The Release Plan.
Strategies for Achieving Customer Goals.
Appropriate Web Technologies.
The Release Plan Document.
II. WORKING ON WEB XP PROJECTS.5. The Project Team.
Typical XP Project Roles.
Web XP Project Roles.
Tester (Quality Assurance).
Interface Programmers and Graphic Designers.
Customers and Testers.
Testers and Graphic Designers.
Customers and Everyone.
Checking in Work.
Keeping on Track.
Transitioning the Team to XP.6. The Development Environment.
The Work Space.
Desks and Chairs.
Hardware and Platforms.
A Shared Repository.
Locating the Customer.
Breaking the XP Rules.7. Working in Iterations.
Stories and Deliverables.
The Iteration Strategy Session.
Iteration Planning and Estimating.
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.
III. XML AND WEB XP.9. XML—A Better Way.
XML to the Rescue.
XSLT.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.
The XML Site Map.
Site Map Structure.
Using the Site Map.
Unit Testing with XML.
Deploying the XML Site.
IV. WEB XP BEST PRACTICES.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.
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.
Why Is Velocity Important?
The People Skills of the Project Manager.
Adapting XP.12. Design.
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 Tests for Web Projects.
How to Get Started.References.
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: