敏捷宣言 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 |