|
|
|
|
|
|
|
|
Extreme Programming (XP) Holds Promise
|
|
Customers have the right to:
|
Developers have the right to:
|
If you delve no further into XP than to think about these lists and the business values they embody, you'll be ahead of the game. Of course, you'll do even better if you learn some tricks to bring these values to life in your projects. There are four essential activities in XP: Listening, Coding, Testing and Designing. According to Kent Beck, XP's originator and most zealous evangelist, "That's all there is to software. Anyone who tells you different is selling something."
At the outset of an Extreme Programming project, the customer delegates an onsite representative to collate user interests into a coherent stream of User Stories. .These are similar to UML's Use Cases, but with different mechanics that emphasize utility rather than technology. XP insists on using simple paper index cards to write down User Stories. In the memorable phrase of process guru Alistair Cockburn, "Think of a User Story as a Use Case at 2 bits of precision." The idea is to invest business users in declaring, taking ownership of and prioritizing their own requirements. Accordingly, the set of index cards capturing the User Stories plays a central role in the development process.
The narration and capture of User Stories begins with developers interviewing (i.e., listening to) users, but the listening is active, and quickly becomes a two-way communication that XP calls a Planning Game. The customer begins by prioritizing the User Stories in terms of business value. The developers then estimate how long it might take to implement each story in code. For instance, the story, "Employees should be able to read the Employee Handbook on-line" might get an estimate of a week, whereas a story like "The Sales force needs to be able to review real-time inventory data via wireless PDA in front of prospective customers" might get an estimate of several months. At this point, accuracy is less important than negotiating a first release cycle. Given the developers' rough schedule estimates, users can re-prioritize based on release phasing. "Let's get the Employee Handbook up right away, then give Sales some presentation templates to let them know we haven't forgotten about them, then shoot for wireless access in release 3." Putting this kind of roadmap in front of all stakeholders very early is the goal of XP's Planning Game.
In the second and final part of this article, I'll cover XP's remaining activities - coding, testing and design refinement - and point out why I think the process has particular value for building intranets.
Extreme Programming: A gentle introduction - the most navigable online overview, thanks to a number of helpful imagemaps.
XProgramming.com - a community resource for those interested in XP and related topics.
Extreme Programming Wiki - Ward Cunningham's WikiWikiWeb site, a living evangelical document easy to get lost in due to the rambling nature of the Wiki medium.
XPlorations - an informative collection of personal essays on the topic by software engineer William Wake.
Recommended Reading: Rational Unified Process - a resource for Rational Software's RUP, the most popular incarnation of UDSP.
"A comparison of RUP and XP," a white paper by John Smith, Rational Software. PDF.
"Using Rational Unified Process for Small Projects: Expanding Upon eXtreme Programming," a white paper by Gary Pollice, Rational Software. PDF.
Extreme Programming Explained: Embrace Change, by Kent Beck (Addison Wesley Longman, Oct 1999). The key manifesto of XP, by its originator.
Extreme Programming Examined, by Giancarlo Succi, Michele Marchesi (Addison-Wesley, May 2001). A rewarding collection of essays by theorists and practitioners committed to describing XP, warts and all.
Gordon Benett is a technology strategist with over 16 years experience analyzing, architecting and developing information systems. He is currently with Aberdeen Group (Boston, MA), where as a Senior Research Analyst he follows the Enterprise Java and Middleware markets. Gordon founded Intranet Journal in 1996 and remains a reader and contributing author. He welcomes your comments at gbenett@mediaone.net.
| |
|
· Intranet eXchange Discussion Board · Advice and Opinions |
Intranet Journal's Tutorials |
|
Managing Editor |