Book Review: Sustainable Software Development – An Agile Perspective
May 30, 2006
by: Kevin Tate
Review by Richard Mischook
This book will of some interest to anyone who has ever worked on a team developing any sort of sophisticated software. By sophisticated I mean relatively feature-rich and developed with the expectation of a reasonably long shelf life. By the latter though, I donâ€™t mean a static shelf life; rather a dynamic one where it is expected that the software will need to grow and change in response to the evolving needs of the customer.
Getting to the Point
Sustainable Software Development starts with a strong argument as to why building software cannot and should not be viewed as analogous to building buildings, despite the propensity of many to see things that way. For one thing buildings are not expected to change over time in response to changing requirements (not drastically anyway).
Software on the other hand in an increasingly dynamic business climate must be adaptable to change. In fact change must be relatively easy to accomplish with a low risk of breaking existing functionality. Thus sustainable software development is somewhat different from purely agile development, even if the former borrows heavily from the principles of the latter. Sustainable software must develop the software that the customer needs, and be capable of changing as the needs of the customer change.
The Core of the Book
This book is a great read. It uses numerous small examples to illustrate its point, examples that certainly were quite familiar to me. The causes of unsustainable development were covered in some detail. The meat of the book went into a series of practical and unambiguous practices and principles designed to foster long term sustainable development. In addition to discussing software methodology, the author recognizes the cultural issues (as in corporate culture) that need to be addressed to foster a sustainable software development environment.
This book is a great read even for those who may already be familiar with one of more schools of agile development. It left me charged up and wanting to rush into the office and put these ideas into practice. Highly recommended.