Book Review - Sustainable Software Development by Kevin Tate
Would you like to start practicing agile development without the "extreme-ism" of Extreme Programming (XP)? Sustainable Software Development: An Agile Perspective by Kevin Tate does a good job in its explanation without some of the emotional baggage that XP often encounters.
Contents: Sustainable Software Development; Unsustainable Software Development and its Causes; The Principles of Sustainable Software Development; Working Product; Defect Prevention; Emphasis on Design; Continual Refinement; Culture Change and Sustainable Development; Practice Summary; Extreme Programming and Sustainable Software Development; Sustainable Software Development and the CMM; Recommended Reading; Conclusion; References; Index
If you've studied any of the agile methodologies currently in vogue, you'll recognize most of the material in here. There's the emphasis on short iterations, fixing defects early and often, continuous builds, and so forth. What I liked most about this book however, was that it sounded much more "reasonable" than XP. XP can often come across as a "cult", where you have to take it all or nothing. That's not true, but for some it becomes a religious issue (like pair programming). Tate takes a more reasonable approach, outlining a complete program that will definitely lead to shorter development cycles and higher quality. But he also recognizes that it doesn't have to be an all-or-nothing approach, and that even minor steps can pay off with big dividends. The chapters from Working Product through Continual Refinement are broken up into a number of "Practices" that allow you to focus on one aspect of agile, sustainable development. Once you understand how that works and how it plays together with everything else, you can then put it into play in your environment. The Practice Summary chapter is a short summary of all the practices together, along with indicators next to each practice that is a keystone practice to making it all work. If you do nothing else, implementing the keystone practices will improve your development life by leaps and bounds...
While it may not be groundbreaking material, it's solid and workable. It's also packaged in such a way that you can start to implement lightweight methodologies without the preconceptions that XP often has (no documentation, no design, etc.). For the right audience, it's definitely a suggested title.