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