您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > scrum敏捷项目开发
Scrum敏捷项目开发内容提纲•敏捷开发简介•Scrum特点•Scrum流程及框架•注意事项内容提纲•敏捷开发简介•Scrum特点•Scrum流程及框架•注意事项敏捷开发•敏捷开发是一种以人为核心、迭代、循序渐进的开发方法•主要有如下几个方法:极限编程(XP)、特性驱动开发(FDD)、Scrum、测试驱动开发(TDD)等等这些方法的侧重点各有不同,可以相互之间互补使用。敏捷宣言作者们的价值观开发过程和工具个人与交互重于始终遵循固定的计划对变化的响应变化重于资源来自:复杂的文档可用的软件重于对合同的谈判寻求客户的合作重于重视内容提纲•敏捷开发简介•Scrum特点•Scrum流程及框架•注意事项•Scrum使得我们能够专注于如何在最短的时间内实现最有价值的部分。•Scrum使得我们能够快速的和周期性的监督实际产品发展的状况.(每2~4周)•设定商业价值优先级;团队通过自主管理采用定最好的方法,交付优先级最高的需求。•每隔每2~4周,我们就可以看到实实在在的可以上线的产品。此时,就可以下一步的决定是继续完善需求或者直接发布了。Scrum的精髓特点•自我管理的团队•以“sprint(冲刺)”为周期迭代的产品开发•以一系列“产品Backlog(待处理任务)”记录了产品需求•没有特定的工程实践规则•有富有创造力的敏捷开发环境,交付产品•它是“敏捷方法”之一,可以和其它方法互补使用。全面视角的Scrum开发CancelGiftwrapReturn迭代周期2-4周功能1Sprint目标迭代backlog潜在可以发布的增量产品产品backlog功能3功能4功能3功能224小时核心:Sprints•Scrum项目周期以一组迭代周期“sprints”组成•可以和极限开发的迭代周期类比•典型的迭代周期为2-4周或者最多一个自然月•一个固定的周期能够创造出项目的更优美的节奏感•产品的设计,开发,测试全部都在一个迭代内完成顺序vs.重叠开发过程资源来自:“TheNewNewProductDevelopmentGame”byTakeuchiandNonaka.HarvardBusinessReview,January1986.Scrum并非以一段时间集中完成一个过程...而是将所有过程中必须的每一部分集中在这段时间内完成需求设计代码测试确保一个迭代周期的稳定•一个迭代周期的长短的设定取决于您能够保障多长时间需求变化不影响到产品开发变化内容提纲•敏捷开发简介•Scrum特点•Scrum流程及框架•注意事项Scrum总体流程阶段参与人事务输出开发调研PO,SM,团队讨论产品需求条目问卷调查分析故事列表工作量估算SM,团队使用估算扑克估算故事点确定故事的依赖关系带估算的故事列表发布计划会议PO,SMPO确定当前发布的时间和应该包含的故事PO向各干系人公开发布规划产品BacklogSprint计划会议SM,团队PO确定最近1-2个Sprint的最优先级故事团队从产品Backlog中的最高优先级故事中挑选承诺完成的条目分解条目成为工作项评估工作项工时(小时为单位)SprintBacklogSprintSM,团队按SprintBacklog产出软件产品软件产品必须是潜在可交付的(经过完整测试,可运行,有完整用户文档)潜在可交付的产品增量Sprint评审会议PO,SM,团队团队向PO及相关干系人演示产品增量收集意见,为下一个Sprint作准备Sprint回顾会议PO,SM,团队对开发流程进行回顾,检查哪些方法是值得保留的,哪些是要废弃的。更好的Scrum流程Scrum结构框架•产品所有者•ScrumMaster•团队职能•迭代计划•迭代验收•迭代回顾•每天召开的scrum会议仪式•产品backlog•迭代backlog•进度曲线图产出Scrum结构框架•产品所有者•ScrumMaster•团队职能1.1角色一:产品所有者•定义所有产品功能•决定产品发布的内容以及日期•对产品的投入产出负责•根据市场变化对需要开发的功能排列优先顺序•合理的调整产品功能和迭代顺序•认同或者拒绝迭代的交付1.2角色二:ScrumMaster•对项目的直接管理•领导团队完成Scrum的实践以及体现其价值•排除团队遇到的困难•确保团队的胜任其工作,并保持高效的生产率•使得团队紧密合作,使得团队个人具有多方面职能的工作能力•保护团队不受到外来无端影响•保证开发过程按计划进行,组织各种会议。1.3角色三:团队•经典团队拥有5-9人•团队成员都是是多面手:•程序员,测试员,用户体验设计,等等.•团队成员都全职工作•特殊职能可以例外(例如,数据库管理员)•团队自我组织和管理•团队关系在一个迭代中应该是固定的,个人的职能可以在新迭代开始时发生调整Scrum结构框架•产品backlog•迭代backlog•进度曲线图产出2.1产品backlog•需求•项目中待完成的工作列表•理想的是每一个待完成的工作都将对客户和用户产生价值•产品所有者将对这个列表进行优先级排序•每个迭代开始前优先级的排序工作还需要再度修正一组产品backlog一个好的用户故事(backlog)包括三个要素:•1.角色:谁要使用这个功能。•2.活动:需要完成什么样的功能。•3.商业价值:为什么需要这个功能,这个功能带来什么样的价值。产品backlog的样例2.2迭代目标•简短陈述这个迭代将要完成什么数据库应用金融服务生命科学功能用于人口遗传学研究.提供比ABC更实时的数据流量来支持更多的技术指标.应用可以运行于Oracle和SQLServer环境.管理迭代的backlog•团队的个人将要签收其将拥有的工作•工作不是单向的分配•对于剩余工作量的估计每天需要更新•团队中任何人都可以添加,删减或者更改迭代中的工作项目•为了迭代目标以及将发布的结果而工作•如果对将要面对的困难不清楚,最好先定义一个相对工作量较大的工作项目然后适时在以后将其分散成较小额工作量的几个部分•更新每个项目的剩余工作量迭代backlog的样例任务编写用户界面编写中间层测试中间层编写在线帮助编写Foo类Mon8168128Tues412168WedThur41184Fri88增加对错误的日志记录81016882.3迭代耗散图小时数小时数403020100MonTueWedThuFri任务编写用户界面编写中间层测试中间层编写在线帮助Mon816812TuesWedThurFri4121671181016850Scrum结构框架•迭代计划会议•迭代验收会议•迭代总结会议•每天召开的scrum会议会议迭代计划会议迭代优先级•分析和评估产品Backlog各项目•选择一些作为迭代的目标迭代计划•决定如何实现迭代目标•从产品的backlog中选择一些创建迭代backlog(任务)•以小时为单位评估迭代任务工作量迭代目标迭代backlog商业机会团队能力产品backlog技术现有产品3.1迭代计划会议迭代计划成果•团队自己从产品的backlog中选择一些他们能够完成的任务作为迭代的backlog•迭代backlog被创建•任务被确认并且每一任务估计工作量应该在1-16小时左右•迭代的backlog的确定是团队协作的结果,而不是只有scrummaster的决定•概要设计已经讨论完成为了选择好去处度过这个假期,我需要先看到酒店的照片.编写后台和中间层(8小时)编写界面(4)编写测试用例(4)写类foo(6)更新性能测试用例(4)3.2迭代验收会议•团队需要演示所完成的迭代工作•典型的做法是使用演示形式展示新功能或者底层架构的实现•非正式的•2小时的提前准备•不需要正式演示文档•整个团队都需要参加•邀请所有关注产品的人参加3.3迭代总结会议•周期性的回顾,总结工作中的经验和教训•一般15–30分钟•在每个迭代结束时开始做•整个团队都需要参加•ScrumMaster•产品所有者•团队•可能还包括客户总结会议讨论内容:•整个团队集结一起讨论以下方案:开始做停止做继续做仅仅是诸多迭代回顾的活动的一种参考.3.4每天的Scrum会议•属性•每天都会开•15分钟结束•站着开会•不是为了解决问题•所有相关的人被邀请•只有Scrummaster,产品所有者,团队成员能够在会上发言•避免无关的讨论团队成员需要回答3个问题•对于ScrumMaster来说这些问答不是工作进度报告•他们是团队成员彼此的承诺昨天你做了什么?1今天你将要做什么?2你有需要帮助的地方吗?3内容提纲•敏捷开发简介•Scrum特点•Scrum流程及框架•注意事项注意事项:1、提供建议而不是规则。2、团队自管理,项目经理、小组长的领导、指导、协同职能大于其指令职能。3、团队共同估算。4、每日站会,不是工作汇报。5、必须严格保证每个迭代按时发布。结束语:没有银弹!完谢谢大家!
本文标题:scrum敏捷项目开发
链接地址:https://www.777doc.com/doc-5735727 .html