Pro .NET 2.0 Extreme Programming, Apress
C# Online.NET Book Review
Extreme Programming (XP) is a methodology used in software engineering. XP is the leader among several agile software development methodologies. XP prescribes a set of daily practices—traditional software engineering best practices taken to "extreme" levels—for software managers and developers. The practices are designed to foster—even embody—certain values. Adherents maintain that the exercise of these practices creates a development process which is more responsive to customer needs than traditional methods—and, therefore, agile.
As with other agile methodologies, Extreme Programming differs from traditional methodologies—especially the waterfall methodoloy—mainly in valuing adaptability above predictability. Unlike traditional methods which attempt to define all requirements before coding begins, Extreme Programmers state that it is more important to retain the ability to change requirements as a project progresses—again agile.
The book is thoroughly practical like Extreme Programming itself; however, the Four XP Values, the Fifteen XP Principles, and the Fourteen XP Practices remind one of the Noble Eightfold Path of Buddhism. Nevertheless, this is a book on practice not theory.
The first section of the book introduces the reader to agile methodologies and to Extreme Programming in particular. The second section examines the tools which are available to support XP including NAnt, NUnit, NMock, CruiseControl.NET, and Visual Studio 2005 refactoring tools—refactoring is continual in agile methodologies. The last section works though a simple, but complete, software development project using XP methodoloy.
The authors write in a very readable, non-taxing, tutorial style with lots of illustrations and source code solutions. Having read this interesting volume, the reader will understand applied Extreme Programming methodology including story building and user communication, prototype construction and usage, and how XP integrates into the software development cycle.
All of the source code examples are in the C# language.
Pro .NET 2.0 Extreme Programming is a thoroughly practical introduction and tutorial to the most successful agile methodology and just might change how you do your job.
While other Extreme Programming books are usually theoretical in approach, this book steers you through the practical application of Extreme Programming with code-level solutions. So if you’re currently a .NET 1.1 (or future .NET 2.0) developer, and need to put XP into practice—pick up this book.
You will learn how to apply XP principles in a real-world environment. This book provides an in-depth look at each of the XP practices and examines how each of these fits into the project development life cycle. Thus, by showing you how to work with .NET 1.1 today, and .NET 2.0 tomorrow, this book bestows you with long-term vision for Extreme Programming with Microsoft technologies.
About the author(s)
Greg "Hap" Pearman has over 15 years experience in architecting and developing enterprise software solutions. Formally a senior architect and developer at Qwest Communications, Pearman was a leading member of a small elite team that developed and implemented Extreme Programming (XP) practices for the entire Qwest IT organization. This team worked with each Qwest IT project team to teach them XP and to follow up with those teams in the field after their training. This experience gave Pearman the unique opportunity to stress test XP under multiple and varying circumstances as an XP coach and mentor. Pearman has also architected and developed small and large enterprise systems using technologies such as J2EE, .NET (C#) and C++ for such companies as IBM, EPA, US WEST Direct, Multum Information Service and Qwest Communications.
James Goodwill is the cofounder and chief architect at Virtuas Solutions, LLC, located in Denver, Colorado. He has extensive experience in designing and architecting e-business applications. James authored the bestselling Java titles Developing Java Servlets and Pure JavaServer Pages. James is also a regular columnist on the Java community website OnJava.com and has recently been elected to JSR 152, the JSP 2.0 Expert Group.
Table of Contents (abbreviated)
PART 1 XP Introduction
CHAPTER 1 Introducing XP
CHAPTER 2 Assembling the Team
CHAPTER 3 Release Planning
CHAPTER 4 Iteration Planning
CHAPTER 5 The Iteration
PART 2 XP Tools
CHAPTER 6 Build Environment Tool: NAnt
CHAPTER 7 Test Environment Tool: NUnit
CHAPTER 8 Simulation Environment Tool: NMock
CHAPTER 9 Automation Environment Tool: CruiseControl.NET
CHAPTER 10 Refactoring
PART 3 XP in Action
CHAPTER 11 Release Planning—The Journey Begins
CHAPTER 12 Iteration Planning for the First Iteration
CHAPTER 13 First Iteration
CHAPTER 14 Iteration Planning for the Second Iteration
CHAPTER 15 Second Iteration
APPENDIX A Preparing Your Development Environment
APPENDIX B .NET C# Coding Conventions
APPENDIX C XP Resources