Balancing Agility and Discipline: A Guide for the Perplexed Paperback – 11 Aug 2003
|New from||Used from|
- Choose from over 13,000 locations across the UK
- Prime members get unlimited deliveries at no additional cost
- Find your preferred location and add it to your address book
- Dispatch to this address when you check out
Customers Who Viewed This Item Also Viewed
Enter your mobile number below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
Getting the download link through email is temporarily not available. Please check back later.
To get the free app, enter your mobile phone number.
From the Back Cover"Being a certified bibliophile and a professional geek, I have more shelf space devoted to books on software methods than any reasonable human should possess. Balancing Agility and Discipline has a prominent place in that section of my library, because it has helped me sort through the noise and smoke of the current method wars."--From the Foreword by Grady Booch"This is an outstanding book on an emotionally complicated topic. I applaud the authors for the care with which they have handled the subject."--From the Foreword by Alistair Cockburn"The authors have done a commendable job of identifying five critical factors--personnel, criticality, size, culture, and dynamism--for creating the right balance of flexibility and structure. Their thoughtful analysis will help developers who must sort through the agile-disciplined debate, giving them guidance to create the right mix for their projects."--From the Foreword by Arthur Pyster
Agility and discipline: These apparently opposite attributes are, in fact, complementary values in software development. Plan-driven developers must also be agile; nimble developers must also be disciplined. The key to success is finding the right balance between the two, which will vary from project to project according to the circumstances and risks involved. Developers, pulled toward opposite ends by impassioned arguments, ultimately must learn how to give each value its due in their particular situations.
Balancing Agility and Discipline sweeps aside the rhetoric, drills down to the operational core concepts, and presents a constructive approach to defining a balanced software development strategy. The authors expose the bureaucracy and stagnation that mark discipline without agility, and liken agility without discipline to unbridled and fruitless enthusiasm. Using a day in the life of two development teams and ground-breaking case studies, they illustrate the differences and similarities between agile and plan-driven methods, and show that the best development strategies have ways to combine both attributes. Their analysis is both objective and grounded, leading finally to clear and practical guidance for all software professionals--showing how to locate the sweet spot on the agility-discipline continuum for any given project.
About the Author
Barry Boehm has been trying to balance agility and discipline in software development since 1955. The TRW professor of software engineering and director of the USC Center for Software Engineering, he earlier served as director of the DARPA Information Science and Technology Office and as a chief scientist at TRW. Dr. Boehm's contributions to the field include the Constructive Cost Model (COCOMO), the Spiral Model of the software process, the Theory W (win-win) approach to software management and requirements determination, and his classic book, Software Engineering Economics (Prentice Hall, 1981).
Richard Turner, a research professor in engineering management and systems engineering at the George Washington University, approaches balanced software development and acquisition with broad industry and government experience and a skeptical attitude toward best practices. In support of the U.S. Department of Defense, he is responsible for identifying and transitioning new software technology into the development and acquisition of complex, software-intensive defense systems. Dr. Turner was on the original author team for Capability Maturity Model Integration (CMMI) and is coauthor off CMMI Distilled, Second Edition (Addison-Wesley, 2004).
Top Customer Reviews
After providing useful contrasts and similarities between agile- and plan-driven approaches, the authors summarise the following as key factors in the decision as to which approach to use in a particular project. These factors are:
- Size. Agile approaches discriminate towards small products and teams. Large products and teams will favour a plan-driven approach.
- Criticality - in the sense that failure of the system under design causes loss of life and/or large monetary loss. Projects of high criticality will favour a plan-driven approach.
- Personnel. Generally speaking, agile approaches require workers that are more highly skilled than plan-driven ones. The rationale is that in the latter, the development process is more highly proscribed and hence easier to learn.
- Dynamism. This factor relates to the stability of the project environment; where the business environment is highly dynamic and system requirements are rapidly changing, then agile-driven approach is favoured. In highly-stable environments, the additional overhead of putting in place the infrastructure to deal with rapid change may not be necessary.Read more ›
For developers of large, critical and Software Intensive Systems-of-Systems (SISoS), ignore these gentlemen at your peril!
Most Helpful Customer Reviews on Amazon.com (beta)
The authors start the journey by describing the fundamental differences between traditional, plan-driven approaches and the latest agile methods. This is a great introduction and paves the way for the discussion to follow. However, occasionally the text uses the term "agile process" too loosely when really talking about the extreme characteristics of XP.
Next, Boehm and Turner set out to describe a typical day in the life of two teams; one agile and the other not so. However, these stories didn't quite reach the level of detail I was expecting.
The authors continue by presenting two case studies of projects where a plan-driven method was streamlined using agile techniques and an agile method was scaled up with some plan-driven elements. The subject is of great interest and the authors' approach is definitely valid.
A decision tool for customizing an appropriate mix of agile and plan-driven ingredients is explained. The tool itself is largely based on Boehm's earlier work and focuses on risk management. The authors illustrate the mechanics of the tool by presenting a family of applications of varying levels of stability and complexity. The rationale behind the thought process for composing the optimal method is valid and built on well-known truths.
The last third of the book is populated by numerous appendices. The first appendix introduces some popular agile and plan-driven processes and maturity models in the form of two-page summaries and comparison tables. The summaries serve as useful reminders but nothing more. The rest of the appendices, however, provide a short but valuable collection of tools for balancing the software development process and some empirical data on the costs and benefits of agility.
In summary, I would classify Balancing Agility and Discipline as a suggested reading for both agilists and sceptics. It's not necessarily a classic but it certainly serves as a useful reminder of things the industry has learnt the hard way and shouldn't be taken too lightly. Agile methods promote retrospectives. Boehm and Turner suggest extending that retrospective a bit farther.
As an Asst. Professor of Software Engineering I have recently noticed a trend amongst the organizations in which my graduate students work. Several of these organizations that have historically employed traditional "waterfall" style lifecycle models are now experimenting with pilot projects that employ agile methods. They are not however deploying cookie cutter agile methods, but are selecting those agile practices that meet their own needs. My students explained that early prototype projects had indicated that applying agile processes resulted in better defect removal early in the projects.
Boehm and Turner's book addresses exactly these issues, and shows that agile and planned methods can be applied synergistically. Equally importantly the book reports on the small yet growing body of empirical results that support certain agile claims and challenge others. This provides the reader with critical information for determining which agile practices they may wish to deploy.
This book clearly reflects the years of experience both authors have had in industry and academia. As the creator of the spiral lifecycle model and the well known cost estimation model COCOMO, Boehm has a track record of correctly measuring the pulse of the industry and providing insights that have had a lasting impact. Once again, Boehm has written a book that I believe has identified a critical market trend and can provide invaluable insights for organizations seeking to find just the right balance within their own software development projects.
First, as far as distilling how plan-driven and agile-driven development methodologies are different (and the same), it is wonderful. They use five "critical factors" to determine a project's relative suitability for choosing one type over the other. I believe about 40% of the book is spent here.
Second, using the above information, the authors discuss how to ascertain and mitigate project risks, given the size and type of the application being developed, as well as the cultural (agile v. plan-driven) leanings of the development staff who will be working on it. This is mostly done at a "process framework" level. The premise of the book is that each project is somewhat different, so rightly they do not prescribe a process. I believe another 40% of the book is spent here.
Third, the book presents a number of charts showing how much impact plan-driven and agile-driven processes have had. Here I just feel like Boehm lent the book a bunch of his data. Although it is very useful data, it isn't detailed enough. It could have used an additional Appendix describing another project (there are three case studies already) more concretely. Especially in terms of the schedule, defect reduction rate, etc. metrics that are in one of the appendixes.
Overall, I highly recommend this book.
There were some "day in the life of" sections in this book that felt like fake stories -- it was almost like reading a DeMarco novel. Entertaining, but not entirely convincing. Also, contrary to Lean approaches, this risk management framework doesn't seem to lend itself to self-tuning as the project moves along (unless I missed something). There's a lot to be said for measuring how effective you're being and reacting to changes in your environment and product. The idea of doing all of your risk assessment up-front and choosing your methodology for the life of the project sounds exactly like the kind of thing that any "Agilist" would claim is not going to work!
The material of this text is centered around the dimensions affecting method selection that the authors provide as the five critical factors involved in determining the relative suitability of agile or plan-driven methods in specific project situations. In most situations, the authors indicate that some mix of these methods will be needed after risk assessments are performed for each of the five factors.
The radar plots provided that depict different levels of these five factors for example projects aid in understanding how projects differ. What is unfortunate is that the metrics for each of these factors (personnel, dynamism, culture, size, and criticality) are not explained well. Size, the number of personnel working on any given project, is the only concrete metric.
However, I think the reader needs to understand that determining the level of each of the other four factors is really not meant to be exact. In fact, the presentation by the authors of various projects, although sometimes a bit detailed for the subject matter, help in the understanding that these metrics are relative.
For example, unless personality tests are administered to all project personnel, it can be quite difficult to determine the level of Culture (the percent who thrive on chaos versus order), but guestimating an approximate level for this factor is probably good enough to get a sense of whether agile or plan-driven methodologies are more appropriate.
Of the first few chapters of the text, I think the first two chapters that provide a background to the balancing agility and discipline problem are the most effective, followed by the chapter six summary chapter that lists the top conclusions of the discussion. The appendixes to this book, which comprise almost one-third of the text, are also very informative.
Thirteen software development methodologies are presented side-by-side in Appendix A to enable the ability to compare each, although admittedly some of the methodologies are covered more extensively than others. And in Appendix E, some interesting industry statistics are presented from various studies, including a discussion on how much architecting is enough for a particular project, although there is some overlap with the well-written, thorough, recently-released text by McConnell called "Software Estimation: Demystifying the Black Art" (see my review).
Overall, this book fits a gap on the software development bookshelf, and I am sure that other works of this genre will be released by other authors over the next couple years, as writing on this subject matter is still in its infancy.
Look for similar items by category
- Books > Computing & Internet > Digital Lifestyle > Online Shopping > Amazon
- Books > Computing & Internet > Programming > Software Design, Testing & Engineering > Functional Programming
- Books > Computing & Internet > Programming > Software Design, Testing & Engineering > Software Architecture
- Books > Science & Nature > Engineering & Technology > Production, Manufacturing & Operational