您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > Scrum Development (Project Management)
ScrumDevelopmentAprimeronAgileScrumDevelopment.2012-11-01内容大纲•什么是Scrum•为什么Scrum•如何Scrum什么是Scrum•如果不做软件项目开发,Scrum是这样的:什么是Scrum•Scrum属于敏捷开发范畴的一种开发流程,以英式橄榄球争球队形(Scrum)为名,Scrum将软件开发团队比作橄榄球队,有明确的更高目标,具有高度自主权。紧密地沟通合作,以高度弹性解决各种挑战,确保每天、每个阶段都朝向目标有明确的推进。2/14/2020Scrum的基本思想•迭代式软件开发:通过将整个软件交付过程分成多个迭代周期,帮助团队更好地应对变更、风险,实现增量交付、快速反馈。•两层项目规划:基于远粗近细、渐进明细的特点,通过将概要的项目整体规划和详细的近期迭代计划有机结合,帮助团队有效提高计划的准确度、资源管理能力和项目的按时交付能力。2/14/2020Scrum的基本思想•整体团队协作:通过关注保持整个团队可持续发展的工作节奏、每日站立会议和自组织的工作分配,实现团队的高效协作和工作,实现提高整个团队生产力的目的。•持续集成:通过进行更频繁的软件集成,实现更早的发现和反馈错误,降低风险,并使整个软件交付过程变得更加可预测和可控,以交付更高质量的软件。2/14/2020顺序vs.重叠开发过程2/14/2020Scrum并非以一段时间集中完成一个过程...而是将所有过程中必须的每一部分集中在这段时间内完成需求设计代码测试Sprints•Scrum项目周期以一组迭代周期“sprints”组成•典型的迭代周期为2-4周或者最多一个自然月•一个固定的周期能够创造出项目的更优美的节奏感•产品的设计,开发,测试全部都在一个迭代内完成”2/14/2020产品backlog•需求•项目中待完成的工作列表•理想的是每一个待完成的工作都将对客户和用户产生价值•产品所有者将对这个列表进行优先级排序•每个迭代开始前优先级的排序工作还需要再度修正2/14/2020CancelGiftwrapReturn迭代周期2-4周功能1Sprint目标迭代backlog潜在可以发布的增量产品产品backlog功能3功能4功能3功能224小时Scrum中的角色•产品所有者•ScrumMaster•团队角色产品经理•定义所有产品功能•决定产品发布的内容以及日期•对产品的投入产出负责•根据市场变化对需要开发的功能排列优先顺序•合理的调整产品功能和迭代顺序•认同或者拒绝迭代的交付项目负责人•对项目的直接管理•领导团队完成Scrum的实践以及体现其价值•排除团队遇到的困难•确保团队的胜任其工作,并保持高效的生产率•使得团队紧密合作,使得团队个人具有多方面职能的工作能力•保护团队不受到外来无端影响团队•经典团队拥有5-9人•团队成员都是是多面手:–程序员,测试员,用户经验设计,等等.•团队成员都全职工作–特殊职能可以例外(例如,数据库管理员)•团队自我组织和管理•团队关系在一个迭代中应该是固定的,个人的职能可以在新迭代开始时发生调整Scrum被知名企业广泛采用:•微软•雅虎•谷歌•电艺•飞利浦•西门子•诺基亚•英国广播公司•尼尔森视界公司•第一美国不动产经纪公司•美国第一资本投资国际集团Scrum被运用的领域:•商业软件•集中式开发•根据契约进行的开发•固定投资开发•财务软件•ISO9001认证应用•嵌入式系统•0当机系统软件•联合攻击战斗机•游戏软件•药监管理软件•网站•掌上电脑软件•手机•网络交换路由设备•独立软件开发•一些大型软件开发为什么Scrum•SCRUM使得我们能够专注于如何在最短的时间内实现最有价值的部分。•SCRUM使得我们能够快速的经常的监督实际产品发展的状况.(每两周或一个月)•团队按照商业价值的高低先完成高优先级的产品功能,并自主管理,凝结了团队智慧创造出最好的方法因而提高效率。•每隔一两周或者一个月,我们就可以看到实实在在的可以上线的产品。此时,就可以下一步的决定是继续完善功能实现更多需求或者直接发布了。2/14/2020编写产品Backlog所有活动的依据,编写产品特性列表需求审核会议产品负责人和团队一起对整个产品的Backlog进行评估,提出划分版本和Sprint计划的主要依据。Sprint计划产品立项邮件产品负责人和团队一起,在先前评估的成果基础上,定出Sprint目标和既定产品BacklogSprint计划会议-项目确认会议团队将既定产品Backlog中的每一项细化成多个任务。每个任务完成的时间限定在一天内。DayMeeting进度协调会议,每天在同一时间同一地点站立会议,限定在15分钟内。SprintShow团队在Sprint结束后要和产品负责人以及公司内其他感兴趣的成员一起演示该Sprint的成果。Sprint回顾项目团队要分析Sprint中的成功经验和所遇到的障碍。实验日Sprint之间的休整时间,两个Sprint之间一般安排1天时间团队成员可以自由支配,学习新技术等2/14/2020Scrum过程中的关键活动需求审核会议—目标与会议准备•目标:评估出产品Backlog中各项问题的相对工作量•会议准备:邀请参会人员:产品负责人,ScrumMaster,团队所有成员按优先级排列好产品Backlog中的各项问题把产品Backlog公开给所有人,保证其可别获取需求审核会议—会议进程•介绍会议的目标•产品负责人介绍其需要评估的产品Backlog中的那些部分•确定产品的技术可行性。•初步制定功能的开发时间,版本发布时间•确定开发各个模块的负责人Sprint计划产品立项邮件•确定Sprint时间表•根据时间表,切分功能给指定负责人•负责人根据功能建立任务给需要合作人Sprint计划会议—产品立项会•团队成员从Backlog的各项问题中分解出相应的任务•确定工作中所有的细节(编码、测试、代码评审、会议、学习新技术、编写文档等)•如果团队认为SprintBacklog中项过多和产品负责人一起删减Backlog中的问题•如果团队认为SprintBacklog中的项过少,和产品负责人一起从产品Backlog中选出最重要的问题,加入SprintBacklog中•团队确认Sprint目标,userstorty和task开始和完成时间Scrum每日例会—会议进程•有什么问题阻碍了你的开发(如果有阻碍你开发进度的问题,把该障碍加入到障碍Backlog中)•如果展开了一个问题的讨论(提醒团队成员注意精力集中在回答关键问题上)•如果其他相关人员想发表言论(礼貌提醒他,该会议只允许小组成员讨论)Sprint回顾•ScrumMaster召集、组织Sprint回顾会议•回顾会议ReviewSprint过程和结果,发现和列举存在的问题•决定需要在下个Sprint中解决探讨解决方案,确定实践方式敏捷开发的价值观我们正通过亲身实践以及帮助他人实践,揭示更好的软件开发方法通过这项工作,我们认为:–个体和交互重于过程和工具–可以工作的软件重于面面俱到的文档–客户协作重于合同谈判–响应变化重于遵循计划虽然右项也有其价值,但我们认为左项更加重要。个体和交互重于过程和工具•敏捷方法认为,人是软件开发中最重要的因素。开发团队成员之间有效的交流、沟通与协作,比单纯的编程能力更为重要。人与人面对面的交流,是最有效、最迅速的交换信息的方式。客户协作重于合同谈判•客户对产品的需求是不断变化的,试图在合同中规定项目的细节和进度显然无法应对不断变化的需求。只有开发团队和客户之间真诚的协作,加上频繁的客户反馈,才能让项目走向成功。敏捷开发的原则•1.我们最优先要做的是通过尽早地、持续地交付有价值的软件来使客户满意。•2.我们欢迎需求的变化,即使到了开发后期。敏捷过程能够驾驭变化,为客户创造竞争优势。•3.经常交付可以工作的软件,从几个星期到几个月,时间间隔越短越好。•4.在整个项目开发期间,业务人员和开发人员必须朝夕工作在一起。•5.围绕斗志昂扬的人构建项目。给他们提供所需的环境和支持,并且信任他们能够完成工作。•6.在团队内部,最有效率也最有效果的信息传达方式,就是面对面的交谈。•7.可以工作的软件是进度主要的度量标准。•8.敏捷过程提倡可持续开发。出资人、开发者和用户应该总是保持稳定的开发速度。•9.对卓越技术和良好设计的不断追求有助于提高敏捷性。•10.简单——尽量减少工作量的艺术是至关重要的。(不多不少)•11.最好的架构、需求和设计都源于自我组织的团队。•12.每隔一定时间,团队都要总结如何更有效率,然后相应地调整自己的行为•谢谢2/14/2020
本文标题:Scrum Development (Project Management)
链接地址:https://www.777doc.com/doc-3759307 .html