|I l @ ve RuBoard|
Estimating the time and the costs of Web projects has been my obsession for more than five years . Starting with wild guesstimates 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 a project. However, these specifications told me nothing about the work effort involved and led to huge fights with customers over the changes they inevitably wanted.
Three years ago I went to the Software Expo in San Jose and heard Martin Fowler talk about a new set of practices called XP, or Extreme Programming. I was hooked. XP let me acknowledge the futility of estimation. It taught me about the interconnectedness of price, time, scope, and quality and about the importance of letting the customer make continuous trade-offs between the four. XP changed the rules of how I, as a project manager, engaged with customers and overnight it 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 percent. It would take us three months to do 90 percent of the work and six months to do the last 10 percent. Once completed, the sites we were building were a nightmare to maintain, and I lost many good programmers who would rather abandon ship than babysit a mass of unintelligible, brittle code. Developing sites in iterations and using unit tests made a lot of sense but didn't translate naturally to Web development. While the pure coding server-side issues melded well with XP, we had client-side issues, graphic design issues, and serious conflicts in trying to use a practice meant for object-oriented systems on 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 were 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 Web site creation 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 Beck's original XP book, Extreme Programming Explored, to see the origins of the XP practices described here and to better see where his and our practices differ .
|I l @ ve RuBoard|