Agile Management for Software Engineering: Applying the Theory of Constraints for Business Results
David J. Anderson
$650CMMI: Guidelines for Process Integration and Product Improvement (Harcover)
"This book does a good job of describing the methods employed at Sprintpcs.com ... over 250 people practicing Feature Driven Development and reporting their progress to me at the monthly operations review."
--Scott B. Relf, Chief Marketing Officer, Sprint PCS
"A tremendous contribution to the literature in the field. This should be required reading for all development teams going forward."
--John F. Yuzdepski, VP & GM, Openwave Systems
A breakthrough approach to managing agile software developmentAgile methods might just be the alternative to outsourcing. However, agile development must scale in scope and discipline to be acceptable in the boardrooms of the Fortune 1000. In Agile Management for Software Engineering, David J. Anderson shows managers how to apply management science to gain the full business benefits of agility through application of the focused approach taught by Eli Goldratt in his Theory of Constraints.
Whether you're using XP, Scrum, FDD, or another agile approach, you'll learn how to develop management discipline for all phases of the engineering process, implement realistic financial and production metrics, and focus on building software that delivers maximum customer value and outstanding business results.Coverage includes:
- Making the business case for agile methods: practical tools and disciplines
- How to choose an agile method for your next project
- Breakthrough application of Critical Chain Project Management and constraint-driven control of the flow of value
- Defines the four new roles for the agile manager in software projects--and competitive IT organizations
Whether you're a development manager, project manager, team leader, or senior IT executive, this book will help you achieve all four of your most urgent challenges: lower cost, faster delivery, improved quality, and focused alignment with the business.
Table of Contents
SECTION I. AGILE MANAGEMENT.1. Theories for Agile Management.
The Theory of Constraints. Just-in-Time Inventory. Quality. Lean Production. Six Sigma. Comparison of Theories. Scientific Proof for Agile Management. Empirical Versus Defined Processes. Convergent Versus Divergent Processes. Chaos Theory and Uncertainty. Systems Thinking and Learning Organizations. Emergence. Summary.2. Management Accounting for Systems.
A General System. Detail Complexity Versus Systems Complexity. Throughput Accounting for General Systems. A System of Software Development. A More Complex Software Development System. The System Goal. Financial Metrics for General Business Systems. Financial Metrics for Software Development Systems. Predicting the Future. Framing the Problem. Understanding Software Production in the Value Chain. Throughput Accounting Versus Cost Accounting. Summary.3. TOC in Software Production.
TOC's Five Basic Steps. Identify and Exploit Constraints. Perishable Requirements. Idleness Might Breed Contempt. Elevating a Constraint. Focus of Investment. Is the 8-Hour Day the Best Choice of System Constraint? Summary.4. Dealing with Uncertainty.
The Five Constraints of Software Development. Aggregation Reduces Uncertainty. Summary.5. Software Production Metrics.
Choosing Metrics. Agile Software Production Metrics. Traditional Software Production Metrics. Measuring Inventory in the Software Production System. Expressions of Inventory. Measuring Production Quantity. Lead Time. OE per Unit. Summary.6. Agile Project Management.
Traditional Versus RAD Model for Project Management. Task Planning and Effort Tracking. The Project Manager's New Work. Summary.7. Agile Project Planning.
The Project Buffer. Logical Collections of Inventory. The Critical Path and Parallel Paths. Early Start. Late Start. Feeding Buffers. Buffer Usage. Agile Project Tracking Metrics. Resource Constraints. Critical Chain Versus Critical Path. Summary.8. The Agile Manager's New Work.
New Roles for Agile Managers. Development Manager Role. The Program or Release Manager Role. Product Manager Role. Project Manager Role. Roles Versus Positions.9. Agile Development Management.
The Role of the Development Manager. Identifying Flow. Identifying a Bottleneck. The True Cost of a Bottleneck. Recovering and Stretching Software Production Constraints. The True Cost of Poor Quality. Regression Effects. Improve Quality in Front of a Bottleneck. How Batch Sizes Affect Flow. Monitoring Cumulative Flow. Visual Control. Summary.10. Software Resource Planning.
Manufacturing Resource Planning (MRP). Drum Beat. Planning Release of Requirements into the System. Summary.11. An Agile Maturity Model.
A New Maturity Model. Summary.12. Setting the Governing Rules.
Allow Adaptive Behavior to Emerge. The Role of the Agile Executive. Reinertsen's Three Tiers of Control. The Process Improvement Problem. The Problem with Production Rate Metrics. Governing Rules as Maturity Increases. Governing Rules for Managers. Governing Rules for Engineers. Team Measurements.13. Staffing Decisions.
Turnover. Loss of Throughput on a Constraint. Understanding the System Constraint is Essential. Outsource Decisions.14. Operations Review.
Purpose. Attendees. Timing. Information Rather Than Data. Summary.15. Agile Management in the IT Department.
Corporate IT's Value-Added Contribution. Learning from Financial Metrics. A More Profitable Corporate IT Department. Summary.16. Agile Product Management.
Sales and Throughput. Learning Is Not Restricted to Engineering. Management Accounting for Product Development. Throughput Accounting for Software Product Development. Appropriateness of the Time-Based Throughput Model. Cost Accounting for Software Product Development. Throughput Versus Cost Models. Making On-Going Investment. Product Mix. Managing the Scope Constraint. Product Mix When Revenue Is the Goal. Product Mix and the Effect on Investment. Product Mix, Risk, and Delay and the Effect on Operating Expense. Summary.17. Financial Metrics for Software Services.
Defining a Software Service. Service Business Economics. Determining Throughput for Software Services. Operating Expense for Services. Net Profit for Services. Return on Investment for Services. Attributing a Value to a Release. Profit and ROI by Service Release. Product Mix. Dealing with Uncertainty.18. The Business Benefit of Agile Methods.
The Principles of Agile Methods. More Than Agility. Making Profitable Development Happen.
SECTION II. A SURVEY OF METHODS.19. Production Metrics for Traditional Methods.
SDLC. Unified Development Process.20. Financial Metrics in Traditional Methods.
Inventory. Investment. Operating Expense. Throughput. Net Profit in Structured Methods. Return on Investment in Structured Methods. Accounting for Change.21. Production Metrics in FDD.
Overview of Feature Driven Development (FDD). Feature Definition. Agile Management Theory and FDD. Process Steps and FDD. Estimating OE for an FDD Project. The Modeling Rule of Thumb. Level of Effort Estimation in FDD. Formulae for Success.22. Project Management with FDD.
Self-Organizing Construction within Planned Assembly. Feature Sets. Build Batches. User Interface Feature Sets. Subject Areas. The Feature Lifecycle. Process Control in FDD. Estimates Versus Agreed Function. Scheduling an FDD Project. Scheduling Subject Areas and Feature Sets. FDD Workflow. FDD Knowledge Management System and Visual Control. Executive Management Metrics in FDD.23. FDD Process Elements Explained.
Exploiting Engineering Resources. The File Access Constraint—Class Ownership. The Developer Resource Constraint—Feature Teams and the Surgical Team. The Setup Time Constraint—Chief Programmer Work Packages. Batch Size. The Scope Constraint—Prioritized Feature Lists. The Time Constraint and Buffers. The Budget Constraint—Inventory Cap and Buffer. The Test Bottleneck. Advanced Modeling Techniques. Inventory Management in FDD. Morning Roll Call. How FDD Improves the S-Curve Effect. The Time Constraint Revisited. The Local Safety Problem. Exploiting Heroic Effort.24. Financial Metrics in FDD.
Inventory in FDD. Investment in FDD. Operating Expense in FDD. Throughput in FDD. Value-Added in FDD. Return on Investment in FDD. Accounting for Change. Accounting for Rework. Avoid Double-Counting.25. Production Metrics in Extreme Programming.
Metrics in XP. Raw Material. Inventory. Tasks. Throughput. Production Rate. Inventory Tracking. Lead Time. Process Step Time. Inventory Cap. Investment. Risk Philosophy. Testing. Pipelining. Refactoring. Metrics for Up-Management in XP.26. XP Process Elements Explained.
Assessing User Stories. Prioritizing Stories. Option Theory. The Planning Game. Continuous Integration. Integration Testing. Pair Programming. Stand-Up Meeting. Unit Testing. Collective Ownership. Refactoring. 40-Hour Week. On-Site Customer. Generalists. Elimination Versus Protection, Subordination, and Elevation.27. Financial Metrics in XP.
Inventory in XP. Investment in XP. Operating Expense in XP. Throughput in XP. Net Profit in XP. Return on Investment in XP. Accounting for Change. Accounting for Rework. The Cost of Change Curve.28. Production Metrics in Scrum.
Background. Raw Material. Inventory. Throughput. Production Rate. Metrics. Sprint Planning and Project Management. Inventory Tracking. Lead Time. Process Step Time. No Expediting. Inventory Cap. Investment. Risk Philosophy. Testing. Pipelining. Refactoring. Metrics for Up-Management in Scrum.29. Scrum Process Elements Explained.
The Scrum Master. The Product Backlog. The 30-Day Sprint. Release. The Sprint Goal Commitment. The Scrum Meeting. Team Size. Team Composition. Working Environment. The Sprint Review. Engineering Practices.30. RAD Process Elements Explained.
Principles of RAD. Inventory Cap. Lead Time. Operating Expense. Limits of RAD Methods.
SECTION III. COMPARISON OF METHODS.31. Devil's Advocacy.
Traditional Metrics Versus Agile Principles. Specialists Versus Generalists. Adding More People Makes Projects Later.32. States of Control and Reducing Variation.
The Ideal State. The Threshold State. The Edge of Chaos State. Chaos. Comprehending the Known Universe. Improving Analysis and Modeling Maturity. Improving the Process Maturity. FDD Focuses on Variance as Well as Quality and Inventory. XP Focuses on Quality and Short Lead Times. Comparison of Method Focus. Seek Process Maturity.33. Comparison of Production Metrics.
FDD. Extreme Programming. Scrum. Traditional Methods—Function Points. Traditional Methods—UDP. Summary.34. Applicability of Agile Methods.
Dividing up the Process Space. What is Agility? Scale Versus Ability to Expedite. Statistical Process Control and Agile Methods. What Does This Mean? Transferable Quality Improvement. Summary.Index.