![]() |
SDLC 3.0Beyond a Tacit Understanding of Agile |
![]() |
|
Amazon US |
Amazon UK |
Amazon Canada |
Being a firm believer in measured value, I thought I would start with a quick discussion of the two metrics that indicate the value of a book to me. The first one is how much did I mark up the book as I was reading it and the second is how many books or articles did the book reference that I sought out afterwards. I treat my books harshly, highlighting important ideas and writing my observations and thoughts in the margins as I read, and my copy of SDLC 3.0 is marked up severely. As for the second metric, as I was writing this a shipment from Amazon arrived with seven books which I ordered after this book piqued my interest in them.
The most important question that I can attempt to answer in this review is what I believe you will get out of reading this book. First and foremost, this book presents a realistic and reasoned view of agile software delivery. Note how I use the term delivery and not just development – this book goes far beyond the software development life cycle to consider the full delivery life cycle. It in fact, it goes further to consider how to apply agile and lean concepts at the enterprise level, more on this in a minute. The book forgoes the marketing rhetoric that is all too common in the mainstream agile community and instead focuses on what works in practice and more importantly explains why it does so through the application of systems theory. Don’t worry – although Mark does present a few relatively complex mathematical explanations for agile techniques work they way they do he walks the reader through the explanations in a coherent and understandable manner.
The second strength of this book is its solid foundation in IT history. Time and again I see practitioners waste months, and sometimes years, as they relearn lessons from the past. In chapter 2 Mark presents a graph overviewing the historical roots of today’s methodologies and in chapter 3 he presents the history of systems control theory. Both of these graphs, and more importantly the discussions around them, will help to give you the background that you need to work your way through the propaganda of the process prosthelytizers among us. These two chapters alone will be an eye opener for the majority of agile developers today.
Mark applies his deep understanding of methodologies, systems control theory, and human behavior throughout the book. Page after page he presents strategies from a wide variety of sources, not just the current process fashion, and explains why and in what circumstances they work. His argument that systems theory provides the underlying explanation for why agile and lean strategies are effective is a strong one, providing IT practitioners a path to move away from superstition and folklore to actual understanding.
Mark argues coherently for what he calls SDLC 3.0, a tailored hybrid of strategies taken from lean, agile, and the unified process. Each of these process camps have their adherents, people who often point out the weaknesses of other process religions without recognizing their strengths. SDLC 3.0 doesn’t make that mistake, but instead adopts ideas from each camp and weaves them into a stronger and more coherent whole. The book’s name is apt, it truly does represent a third category of software process (the first one being waterfall/serial development and the second iterative and incremental development).
The final strength of this book is the focus on enterprise-level processes. It’s very rare to see coherent discussions of project-level issues and enterprise-level issues in the same book, yet SDLC 3.0 pulls it off. Mark combines ideas from lean software development, Information Technology Infrastructure Library (ITIL), and Enterprise Unified Process (EUP) to describe how to be truly agile across your entire IT department, not just within the scope of a single project team. This enterprise view requires a more holistic view, and dare I say a more mature one, that what we typically see in the mainstream agile community today. If you’re trying to roll out agile across your entire IT department, or at least a large portion of it, then I suspect this book will be a valuable resource.
The bottom line is that it isn’t very often that a software process book comes along that truly impresses me, and SDLC 3.0 is one of the few that has. To put things in perspective, other such books include Extreme Programming Explained by Kent Beck, Lean Software Development by the Mary and Tom Poppendieck, Introduction to the Rational Unified Process by Philippe Kruchten, and Organizational Patterns of Agile Software Development by Jim Coplien and Neil Harrison. So yes, I highly recommend that you read this book.
Copyright
© 2010
Scott W. Ambler
Agile Data (AD) |
Agile Modeling (AM) |
Agile
Unified Process (AUP) |
Enterprise
Unified Process (EUP)
![]()