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:
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.
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: