1、Scrum 漫谈Scrum 是什么?Scrum的英文意思是橄榄球运动的一个专业术语,表示“争球”的动作;把一个开发流程的名字取名为Scrum,你一定能想象出你的开发团队在开发一个项目时,大家像打橄榄球一样迅速、富有战斗激情、人人你争我抢地完成它,你一定会感到非常兴奋的。Scrum特指一种敏捷开发的模型。特指一种敏捷开发的模型。敏捷是什么?是一种从2000代开始逐渐引起广泛关注的一些新型软件开发方法。XP(Extreme Programming)Scrum特点:摒弃了大多数重量型过程中的中间产物(诸如甘特图、状态报告,以及多卷需求文档等)来提高软件开发速度非敏捷-瀑布式开发软件开发的经典模型瀑布
2、模型的主要缺陷:程序的维护成本会越来越高(需要很多人)团队氛围压抑(感受不到激情)不方便做需求变更(引起客户不满)需求,设计阶段的问题开发,维护阶段的问题Scrum开发模型Sprint 流程图产品需求Imp:重要性;Est:大致相当于一个“理想的人天(man-day)”Scrum中的三个角色中的三个角色产品负责人(Product Owner)主要由产品经理担任,其为确定产品的方向和愿景,定义产品发布的内容、优先级及交付时间,为产品ROI(profitability of product)负责。主要职责包括:确定产品的功能;决定发布的日期和 发布内容;根据市场价值确定功能优先级;每个sprint
3、中,根据需要调整功能和优先级(每个sprint开始前调整);接受或拒绝开发团队的工作成果;参与Scrum Planning Meetings(Sprint计划会议),Sprint Review Meeting(Sprint评审会)和 Sprint Retrospective Meeting(Sprint回顾会)。Scrum Master担当团队leader,可以是开发Leader或者Team Leader,和Product owner紧密合作,及时为团队成员提供帮助。主要职责包括:保证团队资源合理利用;保证各个角色及职责良好协作;解决团队开发中的障碍;作为团队和团队外部的接口,协调解决沟通中的
4、问题;保证开发过程按计划进行,组织Scrum Planning Meetings(Sprint计划会议),Daily Stand-up Meeting(每日站会),Sprint Review Meeting(Sprint评审会)和 Sprint Retrospective Meeting(Sprint回顾会)。团队(Team)一般情况人数在5-9人。团队成员包括产品经理、开发人员、测试人员、前端开发、UED等。团队成员最好都是在项目的一个sprint中是全职的,在一个Sprint中成员不容许更换。在项目范围内有权利做任何事情已确保达到sprint的目标;向Product owner演示产品功能
5、Sprint 计划会议计划会议要有足够的时间,最好至少8个小时取出部分产品需求做成sprint需求,并写成backlog确定backlog的优先级和工作量进行工作认领(不是分配)确定每日站立会议的时间和地点确定好演示会议和回顾会议的日期backlog场景展示-计划纸牌场景展示-故事看板站立会议10-15分钟迟到将接受惩罚自问自答三个问题昨天做了什么今天要做什么遇到了什么问题更新燃尽图场景展示-每日站立会议场景展示-燃尽图还Sprint开发周期使用好任务看板需求,设计,开发,测试,维护注意燃尽图不要使用软件取代看板可以选择性的和XP的某些方式结合测试驱动开发结对编程场景展示-任务看板场景展示-
6、任务看板演示会议演示是跨团队的,会产生不同团队之间的交流不要关注太多的细节,以主要的功能为主让老板和客户看到非常的重要,绝对不可以被忽略回顾会议时间在1-3个小时找最舒适的地方(要有回顾看板)开始的时候轮流发言,而不是主动发言记录问题,总结,并讨论改进的方法,放在回顾看板上每人三个磁铁,将最重要的2-3个改进点,成为下一轮的产品需求场景展示-回顾会议看板回顾会议问题举例我们应花更多时间,把故事拆分成更小的条目和任务我们办公室的环境太吵太混乱了我们做出了过度的承诺,最后只完成了一半工作Scrum的主要缺陷:压力大不方便跨时区,跨语言程序维护成本偏高无法被中断如何改善:结合XP:和客户坐在一起结对编程测试驱动开发(TDD)使用编码规范结对编程图书介绍谢谢!