Refactoring: Improving the Design of Existing Code , by Martin Fowler with Kent Beck, John Brant, William Opdyke, and Don Roberts, Addison-Wesley, 1999.
How can code get better, not worse , over time? This seminal book is the first step to manageable systems and to the fulfillment of the quality promise in XP.
Code Complete: A Practical Handbook of Software Construction , by Steve C. McConnell, Microsoft Press, 1993.
Refactoring and unit tests are a big part of XP, but they don't replace the art of writing good code. This book is a standard in the community of developers who are serious about their craft.
Using CRC Cards: An Informal Approach to Object-Oriented Development , by Nancy M. Wilkinson, SIGS Books and Multimedia, 1995.
CRC card sessions are at the heart of developing architectures as a team. What if no one on the team has done one before? Wilkinson's book gives in-depth step-by-step instructions.
Enterprise Application Integration , by David S. Linthicum, Addison-Wesley, 2000.
Web projects are constantly faced with exposing legacy systems to the Internet. How do big systems work together? This book clearly lays out various integration strategies with clear pros and cons for each.
UML Distilled: A Brief Guide to the Standard Object Modeling Language, Second Edition , by Martin Fowler and Kendall Scott, Addison-Wesley, 2000.
A good primer and desk reference for UML, this book covers a lot of ground in an approachable manner.
Building Web Applications with UML, Second Edition , by Jim Conallen, Addison-Wesley, 2003.
This book was a major inspiration for adapting XP to Web projects. UML is a useful, simple, and flexible documenting tool to describe software. But it is not so good for describing how software intertwines with Web pages. Conallen has bent UML just enough to allow difficult structures like frames and content to fit into documents that can be shared with programmers, designers, and customers. XP is document light, not document free. We highly recommend Conallen's notation when it comes time to crack open Visio.
Learning XML , by Erik T. Ray, O'Reilly & Associates, 2001.
This book is a good starting place for developers new to XML.
Essential XML Quick Reference: A Programmer's Reference to XML, XPath, XSLT, XML Schema, SOAP, and More , by Aaron Skonnard and Martin Gudgin, Addison-Wesley, 2002.
An excellent reference guide for experienced XML developers.