敏捷宣言 The Agile Manifesto
Individuals and interactions over Process and tools
個體與交互 重於 過程和工具
Working Software over Comprehensive documentation
可用的軟件 重於 完備的文檔
Customer Collaboration over Contract negotiation
客戶協作 重於 合同談判
Responding to change over Following a plan
響應變化 重於 遵循計划
在每對對比中,后者並非全無價值,但我們更看中前者
敏捷開發十二原則
- 我們的最高目標是,通過盡早和持續地交付有價值的軟件來滿足客戶
- 歡迎對需求提出變更——即使在項目開發后期。要善於利用需求變更,幫助客戶獲得競爭優勢
- 要不斷交付可用的軟件,周期從幾周到幾個月不等,且越短越好
- 項目過程中,業務人員與開發人員必須在一起工作
- 要善於激勵項目人員,給他們以所需要的環境和支持,並相信他們能夠完成任務
- 無論是團隊內還是團隊間,最有效的溝通方法是面對面的交談
- 可用的軟件是衡量進度的主要指標
- 敏捷過程提倡可持續的開發。項目方、開發人員和用戶應該能夠保持恆久穩定的進展速度
- 對技術的精益求精以及對設計的不斷完善將提升敏捷性
- 要做到簡潔,即盡最大可能減少不必要的工作。這是一門藝術
- 最佳的架構、需求和設計出自於自組織的團隊
- 團隊要定期反省如何能夠做到更有效,並響應地調整團隊的行為
We're used to | Agile Wants |
Time Lines | We're done when it's done. (Product State) |
Project Managers | Disciplined self managing teams |
Fixed Budgets | Assumed change means no fixed cost |
Predictable, all at once deliverables | Incremental deliverables driven by value and constant learning |
Multiple matrixed units in multiple locations make up team | Co-location -- one team |
Communication by Document | Information Radiators |
Customer is removed | Customer is part of team |
Certain Knowledge | Action |