Agile Management for Software Engineering: Applying the Theory of Constraints for Business Results
暫譯: 軟體工程的敏捷管理:應用約束理論以達成商業成果

David J. Anderson

  • 出版商: Prentice Hall
  • 出版日期: 2003-09-27
  • 定價: $1,820
  • 售價: 5.0$910
  • 語言: 英文
  • 頁數: 352
  • 裝訂: Paperback
  • ISBN: 0131424602
  • ISBN-13: 9780131424609
  • 相關分類: Agile Software軟體工程
  • 立即出貨(限量) (庫存=1)

買這商品的人也買了...

相關主題

商品描述

Summary

"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

Foreword.


Introduction.


Acknowledgements.

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.

商品描述(中文翻譯)

摘要

「這本書很好地描述了 Sprintpcs.com 所採用的方法……超過 250 人實踐以特徵為驅動的開發,並在每月的運營回顧中向我報告他們的進展。」--Scott B. Relf,Sprint PCS 首席行銷官

「對該領域文獻的巨大貢獻。這應該成為所有開發團隊未來的必讀書籍。」--John F. Yuzdepski,Openwave Systems 副總裁兼總經理

一種突破性的敏捷軟體開發管理方法。敏捷方法可能是外包的替代方案。然而,敏捷開發必須在範圍和紀律上擴展,才能在《財富》1000 強的董事會中被接受。在《軟體工程的敏捷管理》中,David J. Anderson 向管理者展示如何應用管理科學,通過 Eli Goldratt 在其約束理論中教授的專注方法,獲得敏捷的全部商業利益。

無論您使用的是 XP、Scrum、FDD 還是其他敏捷方法,您將學會如何為工程過程的所有階段發展管理紀律,實施現實的財務和生產指標,並專注於構建能夠提供最大客戶價值和卓越商業成果的軟體。內容包括:

- 為敏捷方法建立商業案例:實用工具和紀律
- 如何為您的下一個項目選擇敏捷方法
- 關鍵鏈專案管理的突破性應用和基於約束的價值流控制
- 定義敏捷管理者在軟體專案和競爭性 IT 組織中的四個新角色

無論您是開發經理、專案經理、團隊領導還是高級 IT 執行官,這本書將幫助您實現四個最迫切的挑戰:降低成本、更快交付、提高質量,以及與業務的專注對齊。

目錄

前言。

導言。

致謝。

第一部分:敏捷管理。

1. 敏捷管理的理論。
約束理論。即時庫存。質量。精益生產。六西格瑪。理論比較。敏捷管理的科學證明。經驗過程與定義過程。收斂過程與發散過程。混沌理論與不確定性。系統思維與學習型組織。出現性。總結。

2. 系統的管理會計。
一般系統。細節複雜性與系統複雜性。一般系統的產出會計。軟體開發系統。一個更複雜的軟體開發系統。系統目標。一般商業系統的財務指標。軟體開發系統的財務指標。預測未來。框定問題。理解價值鏈中的軟體生產。產出會計與成本會計。總結。

3. 軟體生產中的 TOC。
TOC 的五個基本步驟。識別和利用約束。易逝的需求。閒置可能滋生輕視。提升約束。投資重點。八小時工作日是最佳系統約束選擇嗎?總結。

4. 應對不確定性。
軟體開發的五個約束。聚合減少不確定性。總結。

5. 軟體生產指標。
選擇指標。敏捷軟體生產指標。傳統軟體生產指標。測量軟體生產系統中的庫存。庫存的表達。測量生產數量。交貨時間。每單位的 OE。總結。

6. 敏捷專案管理。
傳統與 RAD 專案管理模型。任務規劃與努力追蹤。專案經理的新工作。總結。

7. 敏捷專案規劃。
專案緩衝區。庫存的邏輯集合。關鍵路徑與平行路徑。提前開始。延遲開始。供應緩衝區。緩衝區使用。敏捷專案追蹤指標。資源約束。關鍵鏈與關鍵路徑。總結。

8. 敏捷經理的新工作。
敏捷經理的新角色。開發經理角色。程式或發佈經理角色。產品經理角色。專案經理角色。角色與職位。

9. 敏捷開發管理。
開發經理的角色。識別流。識別瓶頸。瓶頸的真實成本。恢復和延展軟體生產約束。劣質的真實成本。回歸效應。在瓶頸前提高質量。批量大小如何影響流。監控累積流。視覺控制。總結。

10. 軟體資源規劃。
製造資源規劃 (MRP)。鼓聲。規劃需求的釋放進入系統。總結。

11. 敏捷成熟度模型。
新的成熟度模型。總結。

12. 設定治理規則。
允許適應性行為的出現。敏捷高管的角色。Reinertsen 的三層控制。過程改進問題。生產率指標的問題。隨著成熟度的提高而增加的治理規則。管理者的治理規則。工程師的治理規則。團隊測量。

13. 人員配置決策。
人員流動。約束上的產出損失。理解系統約束至關重要。外包決策。

14. 運營回顧。
目的。參與者。時機。信息而非數據。總結。

15. IT 部門的敏捷管理。
企業 IT 的增值貢獻。從財務指標中學習。更有利可圖的企業 IT 部門。總結。

16. 敏捷產品管理。
銷售與產出。學習不僅限於工程。產品開發的管理會計。軟體產品開發的產出會計。基於時間的產出模型的適用性。軟體產品開發的成本會計。產出與成本模型。持續投資。產品組合。在收入為目標時的產品組合。產品組合對投資的影響。產品組合、風險和延遲對營運費用的影響。總結。

17. 軟體服務的財務指標。
定義軟體服務。服務業務經濟學。確定軟體服務的產出。服務的營運費用。服務的淨利潤。服務的投資回報率。為發佈賦予價值。每次服務發佈的利潤和 ROI。產品組合。應對不確定性。

18. 敏捷方法的商業利益。
敏捷方法的原則。不僅僅是敏捷。實現有利可圖的開發。

第二部分:方法調查。

19. 傳統方法的生產指標。
SDLC。統一開發過程。

20. 傳統方法中的財務指標。
庫存。投資。營運費用。產出。結構化方法中的淨利潤。結構化方法中的投資回報率。變更的會計。

21. FDD 中的生產指標。
特徵驅動開發 (FDD) 概述。特徵定義。敏捷管理理論與 FDD。過程步驟與 FDD。為 FDD 專案估算 OE。建模的經驗法則。FDD 中的努力程度估算。成功的公式。

22. 使用 FDD 的專案管理。
在計劃組裝中自我組織的建設。特徵集。建設批次。用戶介面特徵集。主題區域。特徵生命週期。FDD 中的過程控制。估算與約定功能。排定 FDD 專案。排定主題區域和特徵集。FDD 工作流程。FDD 知識管理系統與視覺控制。FDD 中的高層管理指標。

23. FDD 過程元素解釋。
利用工程資源。檔案存取約束—類別擁有權。開發者資源約束—特徵團隊與外科團隊。設置時間約束—首席程式設計師工作包。批量大小。範圍約束—優先特徵清單。時間約束與緩衝區。預算約束—庫存上限與緩衝區。測試瓶頸。先進的建模技術。FDD 中的庫存管理。早晨點名。FDD 如何改善 S 曲線效應。重新檢視時間約束。局部安全問題。利用英雄般的努力。

24. FDD 中的財務指標。
FDD 中的庫存。FDD 中的投資。FDD 中的營運費用。FDD 中的產出。FDD 中的增值。FDD 中的投資回報率。變更的會計。返工的會計。避免重複計算。

25. 極限編程中的生產指標。
XP 中的指標。原材料。庫存。任務。產出。生產率。庫存追蹤。交貨時間。過程步驟時間。庫存上限。投資。風險哲學。測試。管道化。重構。XP 中的上層管理指標。

26. XP 過程元素解釋。