Last night I finished reading Extreme Programming Adventures in C# by Ron Jeffries. Overall I enjoyed following Ron through his adventures.
The book takes you on a journey through the life of an extreme programming project. Ron leads the way, providing insights and thoughts about how and why Extreme Programming works. Throughout the project he focuses on the stories that are most important to his customer (which happened to be himself). He attacks each feature using test driven development and makes out considerable well. Along the way he finds many “code smells” which he goes onto remove via refactoring (when the time is right).
The book offered a good look into how projects can be attacked using extreme programming. Throughout the book Ron offers tips, insights, and advice which is valuable no matter what your chosen methodology. Although the methods Ron used to implement the features of his project may not be what we all would have selected, the principles and practices he follows are something we should all consider adopting. By focusing on keeping clean, well factored code, Ron was able to adapt extremely well to changing requirements and new features.
This book didn't teach me much about C#, or Extreme Programming (I already read a good number of books on those topics) but it did provide me a look inside the way a extreme programming veteran approaches projects. I was able to learn many valuable lessons through Ron and was also able to pick up a couple good tips that will undoubtedly help me as I enjoy my own programming adventures.