Home
FEATURED BOOK: Agile Management for Software Engineering - by David J. Anderson PDF Print E-mail
User Rating: / 0
PoorBest 
Written by Brad Appleton   
Thursday, 08 June 2006

Agile Management for Software Engineering - by David J. Anderson

David Anderson is the "Peter Drucker" of agile software management! This mind-blowing book manages to successfully synthesize and synergize the theory and methods of Agile software development together with those of Goldratt's Theory of Constraints (TOC) and Reinertsen's Lean Production. By translating TOC's "throughput" into Lean's "flow" of business value in the form of working software, Anderson manages to align them into a practical and comprehensive "management science for software engineering." The result is indeed what the book claims: a truly "breakthrough approach to managing agile software development."

 

The book focuses primarily on applying the theory of constraints and critical chain project management to control and unconstrain the flow of value for agile software development methods like FDD, Scrum, and Extreme Programming. Lean Production is mentioned in brief spurts here and there, but several of its concepts and tools such as flow, waste, inventory, and cumulative flow diagrams, are relied upon heavily throughout the entire book.

At many times, the text is a bit of a dry read. Its relentless focus on the "science" aspect of agile management will strike many as highly theoretical or hypothetical. Anderson

Advertisement
delves into gory detail on financial and production metrics for throughput accounting of the flow of business value and other recommended metrics and reports. But the soundness and comprehensiveness of Anderson's ideas and experience are undeniably compelling!

As I made my way through the book I found myself several times thinking aloud "Wow! Incredible!" and "This guy is the new ‘wunderkind' of the agile world and knows how to scale this stuff to large and diverse industrial-strength projects and corporations!" To call the book merely "thought provoking" doesn't do it justice in my opinion. The book's website at http://www.agilemanagement.net/ contains not only supporting material, but many additional insights from the author via numerous papers & presentations, and an award-winning blog (I read it regularly and highly recommend it to others in the agile community).

The thirty-four chapters of the 336 page text are divided into three sections: Agile management science theory and practice; application of the approach to Scrum, FDD, and XP; and a comparison of the results. A brief summary of the chapter contents follows:

  • Chapters 1-5 explore several theories related to agile management before diving into throughput accounting and how it applies to software production. Next, the basics of TOC and its five focusing steps are introduced, followed by thorough discussions of dealing with uncertainty and appropriate metrics for "agile" software production.
  • Chapters 6-10 discuss project management and the application of Critical Chain project management to planning of agile development and the managing of resources, quality, queues, buffers, batch-sizes, bottlenecks and flow. Chapter 11 presents a very succinct Agile Maturity Model (<2 pages).
  • Chapters 12-18 deal with product and portfolio management issues such as: goverance, staffing decisions, operations reviews, Agile IT management and product management using throughput accounting, financial metrics for software services, and the business benefits of agile methods.
  • Chapters 19-30 (Section 2) apply Anderson's agile management "science" approach (project management, production metrics and financial metrics) to several methods, including FDD, XP and Scrum. The last section (Section 3, chapters 31-34) compares the results form the methods applied in section 2, and discusses the applicability of agile methods and managing uncertainty with states of control and methods for reducing undesirable variation.

Key points to "take away" from the book are:

  1. Agile development is empirical, not chaotic! It is based on increasing knowledge and decreasing uncertainty through the continuous learning and adaptation that emerges from highly disciplined and frequent execution of experimentation, collaboration and observation. Thus, agile development can in fact be both planned and predicted in successful, repeatable fashion.
  2. Traditional cost-based accounting methods for measuring and tracking software development are not only inadequate, they lead to suboptimal business results and even encourage organizational dysfunction. Instead of focusing on reducing costs, teams should instead focus on the flow of delivering value to the customer which, in turn, realizes profits and ROI for the business.
  3. By using throughput-accounting and applying methods and principles of Lean Production and the Theory of Constraints, teams attain more accurate and meaningful measurement and tracking. This yields optimal business results and encourages greater collaboration from, alignment with, and trust in agile software development methods and practices.
  4. Before large corporations and executives can be "sold" on agile development, appropriate development metrics and reporting mechanism must be established and must focus on what matters to the executives and CIOs, particularly financial and production metrics: higher profit, meaningful accounting, and repeatable results!

All in all, Anderson's "Agile Management for Software Engineering" brings the business case and management science for agile development to the C-level business leaders and executives (CEOs, CIOs, COOs). The book should be mandatory reading for all would-be agile executives and managers, and for anyone trying to inject and scale agile methods into large companies, or adopt and adapt them to the needs of a whole corporation, from beyond just software development to bridge across the entire value chain of an enterprise.

 


About the Reviewer

Brad Appleton is an enterprise SCM/ALM solution architect for a Fortune 100 technology company. Currently he helps projects and teams adopt and apply agile development & SCM practices. Brad also author's the Agile CM Environments blog, and is co-author of Software Configuration Management Patterns: Effective Teamwork, Practical Integration, the "Agile SCM" column in CMCrossroads.com's CM Journal, and is a former section editor for The C++ Report. Since 1987, Brad has extensive experience using, developing, and supporting SCM environments for teams of all shapes and sizes. He holds an M.S. in Software Engineering and a B.S. in Computer Science and Mathematics. You can reach Brad by email at This e-mail address is being protected from spam bots, you need JavaScript enabled to view it


Error, missing joomlaboard config file!

Comments (0)add feed
Write comment


Write the displayed characters


busy
Tags:
Click to add your tags...,
 
< Prev   Next >






Lost Password?
No account yet? Register

Video News

 
Copyright © 2006 - 2008 CMC Media, Inc. All rights reserved. All marks are trademarks of CMC Media Reproduction in whole or in part in any form or medium without the express written permission of CMC Media, Inc. is prohibited  
 
 CM Yellow Pages | ALM Expo | CM Today | Configuration Management Journal | CM Crossroads