敏捷宣言
敏捷过程
敏捷一词来源于2001年初美国犹他州雪鸟滑雪胜地
的一次敏捷方法发起者和实践者(他们发起组成了
敏捷联盟)的聚会(17人)。
• 雪鸟会议共同起草了敏捷软件开发宣言。
敏捷软件开发宣言
我们一直在实践中探寻更好的软件开发方法,身体力行的
同时也帮助他人。由此我们建立了如下价值观:
- 个体和互动 高于 流程和工具
- 工作的软件 高于 详尽的文档
- 客户合作 高于 合同谈判
- 响应变化 高于 遵循计划
• 也就是说,尽管右项有其价值, 我们更重视左项的价值。
敏捷价值观
个体和互动 高于 流程和工具
– 人是软件项目获得成功最为重要的因素
– 合作、沟通能力以及交互能力比单纯的软件编程能力和工
具更为重要
工作的软件 高于 详尽的文档
– 过多的面面俱到的文档往往比过少的文档更糟
– 软件开发的主要和中心活动是创建可以工作的软件
– 直到迫切需要并且意义重大时,才进行文档编制
– 编制的内部文档应尽量短小并且主题突出
客户合作 高于 合同谈判
– 客户不可能做到一次性地将他们的需求完整清晰地表述在
合同中
– 为开发团队和客户的协同工作方式提供指导的合同才是最
好的合同
–
响应变化 高于 遵循计划
– 变化是软件开发中存在的现实
– 计划必须有足够的灵活性与可塑性
– 短期的迭代的计划比中长期计划更有效
为什么用敏捷
• 软件更像一个活着的植物,软件开发是自底向上逐步有序的生长过程,
类似于植物自然生长
• 敏捷开发遵循软件客观规律,不断的进行迭代增量开发,最终交付符
合客户价值的产品
敏捷对生产率、质量、满意度、成本有明显改进
82%的项目生产率有提高 78%的项目质量有提高
78%的项目客户
满意度有提高
37%的项目成本有降低
- 以上数据来自DDJ 2008由Scott Ambler发起的网上调查结果
业界敏捷浪潮
ISO 9000(09版)标准将在原来八大原则的基础上新增敏捷原则
2000年美国军方软件开发标准(DOD 5000.2)推荐迭代为软件开发优选模式
世界影响最大的美国波多里奇国家质量奖将敏捷作为核心的十一大原则之一
敏捷过程适用性
敏捷方法的适用性
– 组织文化必须支持谈判
– 人员彼此信任
– 人少但是精干
– 开发人员所作决定得到认可
– 环境设施满足成员间快速沟通之需要
– 项目的规模较小。(20、40人或者更少)
敏捷过程的方法
目前列入敏捷方法的有:
– 极限编程,XP Extreme Programming
– Scrum
– 水晶方法,Crystal
– 精益软件开发,Lean Software Development
– 自适应软件开发,ASD/Adaptive Software
Development
– 特性驱动开发,FDD/Feature Driven Development
– 动态系统开发方法,DSDM/Dynamic Systems
Development Method
– 测试驱动开发,TDD/Test-Driven Development
– ……