目前业界有非常多的敏捷开发框架可供选择,这些开发框架提供了非常详细的敏捷指导
比如:
XP,极限编程Crystal Methods,水晶方法FDD,特性驱动开发ASD,自适应软件开发…
目前业界最流行的敏捷开发框架是Scrum。
Scrum是什么?它是一个迭代式增量软件开发过程
在Scrum里比较重要的是Sprint。
在Scrum里面可以认为Sprint是一个项目的迭代。
一个Sprint长度一般是2-4周,固定,不允许延长或缩短。
在Scrum里面包括:
三个角色四个活动三个工件 三个角色 产品负责人
负责建立和维护产品特性
和客户不断沟通和协作确定产品应该做什么,定义用户需求,确定需求的优先级必须拥有决策权要对团队内部的工作流程以及技术水平有所了解 Scrum教练
确保团队能够更快的交付
要能激励团队士气,促进团队合作,确保团队有效率要能帮助团队排除干扰,确保冲刺目标的顺利进行。教练不是事无巨细的管理者,而更像是服务于团队的仆人
Scrum团队
5-9人团队自组织、平等在一个Sprint里面,成员应该尽量保持稳定
四个活动
冲刺规划会议
标志冲刺的开始(时长一般不超过4个小时)
Scrum团队选择并理解要完成的工作议程1:由产品负责人介绍产品;确定Sprint将要完成什么任务;明确产品待办列表中优先级最高的任务;明确冲刺目标;确定本轮冲刺中要完成的任务数量议程2:Scrum团队研究本轮冲刺如何完成要交付的任务;团队对冲刺要完成的任务数量和复杂度达成共识;对需求充分理解并进行估算;将产品待办列表中的内容转化成软件开发过程中的具体任务。
每日站立会议
每日站立会议也称为每日站会,由于一般是从早晨开,所以也叫晨会。
团队成员在会上轮流发言,回答:昨天我做了什么今天我准备做什么我在工作中遇到了什么困难,是否阻碍了工作进展。不建议超过15分钟
冲刺复审会议
用来演示在这轮冲刺中开发的产品功能,并由产品负责人进行验收
如果在演示过程里想要改变某个功能的话,就可以添加到新的需求里面,如果发现有缺陷的话则加入到缺陷列表里面。建议控制在2小时内。
冲刺回顾会议
用来给团队定期自我审视,也叫项目复盘。建议控制在30分钟以内。 三个工件 产品待办列表
一份有序的待办事项列表
涵盖产品开发中已知的每一项需求,且应该是产品需求变动的唯一来源产品负责人是唯一的产品待办列表负责人其他人可以提意见,但只有产品负责人有权做决定
在一个产品待办列表里可能有以下内容:
功能性需求或非功能性需求缺陷技术债务
一份更好的产品待办列表应该遵循“DEEP原则”:
DEEP原则DEEP原则是以下四个原则的统称:
粗细得当(Detailed appropriately):产品待办列表应当远粗近细,越远的需求应该越粗,越近要开发的需求则应当越细致。估算过的(Estimated):对每个事项有一个工作量估算和技术风险估算涌现式的(Emergent):产品待办列表不是一成不变的,而是涌现式的排好优先级的(Prioritized) 冲刺待办列表
也叫迭代待办列表,是为当前迭代从产品待办列表中选出的工作项。本质上是一个当前迭代的目标计划非常细致、有优先级开发团队估算工作量、识别冲刺待办列表优先级等等随着情况变化,冲刺待办列表在迭代开发过程中可被修改。冲刺待办列表的完成情况可以实时反映开发团队当前迭代的进度 产品增量
当前迭代完成之后,就形成了产品增量。产品增量是一个迭代完成的所有产品待办列表的总和,以及之前所有迭代产品的增量的价值总和。全面测试,潜在可发布;新的增量必须是完成的
Scrum团队要对“完成”有统一的标准,并确保质量已经足够好,并且可以与以前的增量一起发布



