So you think you want to be Agile. But what does it mean? How can you develop software in an agile manner? How can you reap the benefits of agile modelling or Extreme Programming (XP)? What tools might you use to help you become more agile? This book tells you!
Agile software Construction reviews the leading agile development processes. It explains what each is and what they attempt to achieve. It also explains what they are not and dispels numerous myths surrounding agile development.
Agile software construction itself is an attempt to put the software being developed first, and to acknowledge that user requirements change. It is agile because it can respond quickly to the users changing needs. In turn, agile software development puts the software first because almost any activity undertaken must be to the benefit of the software that will be delivered.
This book will help you to determine if an agile approach is for you and which approach (or approaches) to adopt. It guides you in how to plan, organize and develop software systems in an Agile Manner. It introduces the core concepts in a concise and easily digested form, and evaluates how successful the core techniques can be, as well as what problems may be encountered. The book also shows how some of these problems have been overcome on real world projects by combining XP, Agile modelling and Feature Driven Development.
Review By: Matt Gelbwaks 10/17/2008John Hunt's 2006 book, Agile Software Construction, is both a survey of popular agile development methodologies and a set of recommendations for his preferred approach--agile modeling with XP. The book is directed towards those who consider themselves a step above novice. The coverage of FDD, XP, and agile modeling are thorough and well composed. Other approaches (DSDM, Scrum, Prince2, RUP) are all briefly mentioned as well. The bottom line is this: If you think that agile modeling would help your team and your product, then reading this book should be a great start. Mr. Hunt clearly has both an affinity and a depth of experience in this domain and it shows in his prose. The book is sprinkled with little gems that push forward the state of the art and the art of the practices and definitely make it worth reading! A couple significant examples are his depiction of the concept of modeling walls to support pair-modeling and the expansion of trust-based planning.
Mr. Hunt's recommendation for a combined XP/Agile Modeling emphasis is both viable and remains current, even though the spectrum of agile methods, being agile themselves, continues to evolve and mature. The book's message is clear and well constructed, though I suffered through two disappointments.
My first issue had nothing to do with either the writer or the words, but rather the medium. Surveys carry the inescapable problem of being a data point stuck in time. Since this book was written in 2005 and published in 2006, there are several trends that are not covered and several recently published experience reports that would have strengthened his arguments. Though the monetization would be diminished, perhaps a better forum for this type of material would be a continuously evolving (or at least updated) Web site that focused on Mr. Hunt's principal message. It would also help to have links to all the background and ancillary information.
My second issue is probably a disappointment that Mr. Hunt most likely shared: the editing on the book is rather poor. I remember Springer-Verlag (the publisher) from my college days. Most of my textbooks were published by them. They have always struck me as one of the old standbys in the industry. Therefore, as I was reading Agile Software Construction I was initially bemused by the occasional obvious typos in the text. But as these typos continued to surface, with a rather substantial density, it became distracting and ultimately off-putting. Hopefully, this minor construction issue will not stand in the way of many readers.