Balancing Agility and Discipline: A Guide for the Perplexed
暫譯: 平衡敏捷與紀律:困惑者的指南

Barry Boehm, Richard Turner

  • 出版商: Addison Wesley
  • 出版日期: 2003-08-11
  • 售價: $2,030
  • 貴賓價: 9.5$1,929
  • 語言: 英文
  • 頁數: 304
  • 裝訂: Paperback
  • ISBN: 0321186125
  • ISBN-13: 9780321186126
  • 已過版

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

相關主題

商品描述

Nowadays, there are many methodologies you can introduce your to students. On the one hand, there are the more agile methods that focus on individual projects, and how to get them done fast—the camp represented by Beck and Cockburn. On the other hand, there are the more disciplined methods, focused on setting up organizational processes for getting projects done with predictable high quality—the camp best represented by the SEI, the CMMI, and Humphrey. Although these methods are often presented as mutually exclusive, they actually lie on a continuum. The authors of Balancing Agility and Discipline have worked out clear guidelines for determining where on that continuum a particular software development project is located—and therefore, how agile or disciplined a chosen methodology can or has to be.

Table of Contents:

Foreword by Grady Booch.
Foreword by Alistair Cockburn.

Foreword by Arthur Pyster.

Preface.

Acknowledgments.

Prelude.


1. Discipline, Agility, and Perplexity.

The Sources of Perplexity.

Multiple Definitions.

Distinguishing Method Use from Method Misuse.

Overgeneralization Based on the Most Visible Instances.

Claims of Universality.

Early Success Stories.

Purist Interpretations.

Clarifying Perplexity.

The Two Approaches.

Plan-Driven Methods.

Agile Methods.

Finding Middle Ground.



2. Contrasts and Home Grounds.

Application Characteristics.

Primary Goals.

Size.

Environment.

Management Characteristics.

Customer Relations.

Planning and Control.

Project Communication.

Technical Characteristics.

Requirements.

Development.

Testing.

Personnel Characteristics.

Customers.

Developers.

Culture.

Summary.

Home Grounds.

Misconceptions.

Five Critical Factors.



3. A Day in the Life.

Typical Days.

A Typical Day Using PSP/TSP.

A Typical Day Using Extreme Programming.

Crisis Days.

A Crisis Day with TSP/PSP.

A Crisis Day with XP.

Summary.

Differences.

Similarities.

Observations.



4. Expanding the Home Grounds: Two Case Studies.

Using Plans to Scale Up Agile Methods: Lease Management Example.

Assumption 1: The Effort to Develop or Modify a Story Does Not Increase with Time and Story Number.

Assumption 2: Trusting People to Get Everything Done on Time Is Compatible with Fixed Schedules and Diseconomies of Scale.

Assumption 3: Simple Design and YAGNI Scale Up Easily to Large Projects.

Agile Methods Scaleup: Summing Up.

Using Agility to Streamline Plan-Driven Methods: USAF/TRW CCPDS-R Example.

Individuals and Interactions over Processes and Tools: CCPDS-R.

Working Software over Comprehensive Documentation: CCPDS-R.

Customer Collaboration over Contract Negotiation: CCPDS-R.

Responding to Change over Following a Plan: CCPDS-R.

Summary.



5. Using Risk to Balance Agility and Discipline.

An Overview of the Method.

An Example Family of Applications: Agent-Based Planning Systems.

An Intermediate Application: Supply Chain Management.

Step 1: SupplyChain.com Project Risk Ratings.

Step 2: Compare the Agile and Plan-Driven Risks.

Step 4a: Individual Risk Resolution Strategies.

Step 4b: Risk-Based Strategy for SupplyChain.com System Development.

Small Application: Event Planning.

Step 1: Event Planning Project Risk Ratings.

Step 2: Compare the Agile and Plan-Driven Risks.

Steps 4a, 4b: Risk-Based Strategy for Event Planning System Development.

Very Large Application: National Information System for Crisis Management (NISCM).

Step1: NISCM Project Risk Ratings.

Step 2: Compare the Agile and Plan-Driven Risks.

Steps 3 and 4: Risk-Based Strategy for NISCM System Development.

Summary.



6. Conclusions.

The Top Six Conclusions.

No Agile or Plan-Driven Method Silver Bullet.

Agile and Plan-Driven Method Home Grounds.

Future Applications Will Need Both Agility and Discipline.

Balanced Agility-Discipline Methods Are Emerging.

Build Your Method UpÑDonÕt Tailor It Down.

Focus Less on MethodsÑMore on People, Values, Communication, and Expectations Management.

What Can You Do Next about Balancing Agility and Discipline?

Steps toward Balancing Software Development Agility and Discipline.

Afterword.



Appendix A. Comparing the Methods.

Scrum.

Thumbnail Sketch.

Comments.

References.

Adaptive Software Development (ASD).

Thumbnail Sketch.

Comments.

References.

Lean Development (LD).

Thumbnail Sketch.

Comments.

References.

Crystal.

Thumbnail Sketch.

Comments.

References.

eXtreme Programming (XP).

Thumbnail Sketch.

Comments.

Reference.

Dynamic Systems Development Method (DSDM).

Thumbnail Sketch.

Comments.

References.

Rational Unified Process (RUP).

Thumbnail Sketch.

Comments.

References.

Team Software Process (TSP).

Thumbnail Sketch.

Comments.

References.

Feature-Driven Development (FDD).

Thumbnail Sketch.

Comments.

References.

Capability Maturity Model Integration (CMMI).

Thumbnail Sketch.

Comments.

References.

Capability Maturity Model for Software (SW-CMM).

Thumbnail Sketch.

Comments.

References.

Personal Software Process (PSP).

Thumbnail Sketch.

Comments.

References.

Cleanroom.

Thumbnail Sketch.

Comments.

References.

Method Comparison Table.



Appendix B. Manifesto for Agile Software Development.

Principles behind the Agile Manifesto.



Appendix C. Capability Maturity Models.

A Short History of CMMs.

CMM Concepts.

Using Models to Improve Processes.



Appendix D. Tools for Balancing.

D1. The Spiral Model Anchor Point Milestones.

D2. Benefits Realization Analysis and the DMR Results Chain.

Benefits Realized.

Results Chain.

D3. Schedule as an Independent Variable.

Shared Vision and Expectations Management.

Feature Prioritization.

Schedule Range Estimation.

Architecture and Core Capability Determination.

Incremental Development.

Change and Progress Monitoring and Control.



Appendix E. Empirical Information.

E1. The Cost of Change: Empirical Findings.

E2. How Much Architecting Is Enough? A COCOMO II Analysis.

E3. Experiments and Studies of Agile and Plan-Driven Methods.

Overall Distribution of Project Size.

Process Improvement.

Team Software Process and Agile Methods.

Pair Programming.

Hybrid Agile/Plan-Driven Methods.



Notes.


References.


Index.

商品描述(中文翻譯)

如今,有許多方法論可以介紹給學生。一方面,有更具敏捷性的方式,專注於個別專案,以及如何快速完成它們——這是由 Beck 和 Cockburn 所代表的陣營。另一方面,則是更具紀律性的方式,專注於建立組織流程,以可預測的高品質完成專案——這是由 SEI、CMMI 和 Humphrey 最好代表的陣營。雖然這些方法常常被呈現為互相排斥,但它們實際上位於一個連續體上。《平衡敏捷性與紀律性》的作者們已經制定了明確的指導方針,以確定特定軟體開發專案位於該連續體的哪個位置——因此,所選擇的方法論可以或必須是多麼敏捷或紀律。

目錄:
前言(Grady Booch)
前言(Alistair Cockburn)
前言(Arthur Pyster)
序言
致謝
序曲
1. 紀律、敏捷性與困惑
- 困惑的來源
- 多重定義
- 區分方法的使用與誤用
- 基於最明顯實例的過度概括
- 普遍性的主張
- 早期成功案例
- 純粹主義的詮釋
- 澄清困惑
- 兩種方法
- 計畫驅動的方法
- 敏捷方法
- 尋找中間地帶

2. 對比與本土化
- 應用特徵
- 主要目標
- 尺寸
- 環境
- 管理特徵
- 客戶關係
- 計畫與控制
- 專案溝通
- 技術特徵
- 需求
- 開發
- 測試
- 人員特徵
- 客戶
- 開發者
- 文化
- 總結
- 本土化
- 誤解
- 五個關鍵因素

3. 一天的生活
- 典型的日子
- 使用 PSP/TSP 的典型日子
- 使用極限編程的典型日子
- 危機日
- TSP/PSP 的危機日
- XP 的危機日
- 總結
- 差異
- 相似性
- 觀察

4. 擴展本土化:兩個案例研究
- 使用計畫擴展敏捷方法:租賃管理範例
- 假設 1:開發或修改一個故事的努力不會隨著時間和故事數量的增加而增加
- 假設 2:相信人們能按時完成所有工作與固定的時間表和規模不經濟是相容的
- 假設 3:簡單設計和 YAGNI 容易擴展到大型專案
- 敏捷方法的擴展:總結
- 使用敏捷性簡化計畫驅動的方法:USAF/TRW CCPDS-R 範例
- 個人與互動重於流程與工具:CCPDS-R
- 工作軟體重於全面文檔:CCPDS-R
- 客戶合作重於合約談判:CCPDS-R
- 回應變化重於遵循計畫:CCPDS-R
- 總結

5. 使用風險平衡敏捷性與紀律性
- 方法概述
- 應用範例:基於代理的規劃系統
- 中介應用:供應鏈管理
- 步驟 1:SupplyChain.com 專案風險評估
- 步驟 2:比較敏捷與計畫驅動的風險
- 步驟 4a:個別風險解決策略
- 步驟 4b:基於風險的 SupplyChain.com 系統開發策略
- 小型應用:事件規劃
- 步驟 1:事件規劃專案風險評估
- 步驟 2:比較敏捷與計畫驅動的風險
- 步驟 4a、4b:基於風險的事件規劃系統開發策略
- 非常大型應用:國家危機管理資訊系統 (NISCM)
- 步驟 1:NISCM 專案風險評估
- 步驟 2:比較敏捷與計畫驅動的風險
- 步驟 3 和 4:基於風險的 NISCM 系統開發策略
- 總結

6. 結論
- 六大結論
- 沒有敏捷或計畫驅動方法的靈丹妙藥
- 敏捷與計畫驅動方法的本土化
- 未來的應用將需要敏捷性與紀律性
- 平衡的敏捷-紀律方法正在出現
- 建立你的方法,而不是調整它
- 減少對方法的關注,更多關注人員、價值觀、溝通和期望管理
- 你接下來可以做什麼來平衡敏捷性與紀律性?
- 平衡軟體開發敏捷性與紀律性的步驟
- 後記

附錄 A. 比較方法
- Scrum
- 簡介
- 評論
- 參考文獻
- 自適應軟體開發 (ASD)
- 簡介
- 評論
- 參考文獻
- 精益開發 (LD)
- 簡介
- 評論
- 參考文獻
- Crystal
- 簡介
- 評論
- 參考文獻
- 極限編程 (XP)
- 簡介
- 評論
- 參考文獻
- 動態系統開發方法 (DSDM)
- 簡介
- 評論
- 參考文獻
- 理性統一過程 (RUP)
- 簡介
- 評論
- 參考文獻
- 團隊軟體過程 (TSP)
- 簡介
- 評論
- 參考文獻
- 特徵驅動開發 (FDD)
- 簡介
- 評論
- 參考文獻
- 能力成熟度模型整合 (CMMI)
- 簡介
- 評論
- 參考文獻
- 軟體能力成熟度模型 (SW-CMM)
- 簡介
- 評論
- 參考文獻
- 個人軟體過程 (PSP)
- 簡介
- 評論