SCRUMSCRUM敏捷软件模型开发过程敏捷软件模型开发过程目录1.软件过程2.Scrum概述3.ScrumTeam1.猪角色2.鸡角色4.Scrum活动1.Sprint(冲刺)2.SprintPlanningMeeting(冲刺计划会)3.DailyStandMeeting(每日站立会)4.SprintFinishMeeting(冲刺评审会)5.Sprintsummary(冲刺回顾)5.Scrum输出1.ProductBacklog2.SprintBacklog3.BurndownChart6.Scrum过程软件过程-1什么是软件过程?是一个为建造高质量软件所需完成的任务的框架即形成软件产品的一系列步骤,包括中间产品、资源、角色过程中采取的方法、工具等软件过程的作用将软件生产标准化提高生产能力软件过程-2重量级与轻量级重量级过程轻量级过程文档作用产生大量的正式文档尽量少的文档战略形态防御型的姿态进攻型的姿态适用团队大型团队(数十人以上)小型团队(几人、十几人)例子ISO9000,CMM,RUPXP,SCRUM适用范围及优劣仍然有争论!SCRUM概述Scrum是一个轻量级的项目管理的框架。它的核心在于迭代。Scrum概述经验性的过程控制可视化检查调整华为无线的ROSA-RB项目引进Scrum后:TR5后遗留问题缺陷率降低了30%TTM(TimeToMarket)改进了30%平均生产率提升了49.6%数据来自华为官网http://www.huawei.com/cn/publications/view.do?id=3269&cid=5764&pid=87华为无线的ROSA-RB项目引进Scrum后:TR5后遗留问题缺陷率降低了30%TTM(TimeToMarket)改进了30%平均生产率提升了49.6%数据来自华为官网http://www.huawei.com/cn/publications/view.do?id=3269&cid=5764&pid=87SCRUM的历史Scrum的最早原型1986年,竹内弘高和野中郁次郎提出了新的整体性的方法目的:提高商业新产品开发的速度和灵活性Scrum:橄榄球术语:争球1991年,DeGrace和Stahl在《WickedProblems,RighteousSolutions》一书中将这种方法称为ScrumScrum原型橄榄球各阶段相互重叠,并且由一个跨职能团队在不同的阶段完成整个过程整个团队“triestogotothedistanceasaunit,passingtheballbackandforth”Scrum被知名企业广泛采用:微软雅虎谷歌电艺飞利浦西门子诺基亚英国广播公司尼尔森视界公司第一美国不动产经纪公司美国第一资本投资国际集团IntuitHighMoonStudiosLockheedMartinBMCSoftwareIpswitchJohnDeereLexisNexisSabreSalesforce.comTimeWarnerTurnerBroadcastingOceScrum被运用的领域:商业软件集中式开发根据契约进行的开发固定投资开发财务软件ISO9001认证应用嵌入式系统0当机系统软件联合攻击战斗机游戏软件药监管理软件网站掌上电脑软件手机网络交换路由设备独立软件开发一些大型软件开发Scrum三大特点“可能性的”艺术团队自组织,自管理面对面沟通Scrum的主要构成概览Scrum包括:1)预定义的角色;2)实践活动;3)文档Scrum角色:ScrumMaster产品负责人开发团队Scrum实践活动冲刺:2到4周冲刺计划会:确定做什么站立会议:及时反馈易学易用:从白板上的即时贴到软件包产品订单:ProductBacklog冲刺订单:SprintBacklog燃尽图:BurndownChart产品订单:ProductBacklog冲刺订单:SprintBacklog燃尽图:BurndownChartSCRUM主要元素的英文描述•AprojectteamcalledaSCRUMTeam•AProductBacklogofallknownRequirements•ASprintBacklogofrequirementsbeingworkedon•AperiodofworkreferredtoasaSprint•DailyStand-upMeetingswiththeSCRUMTeam•ABurndownCharttotrackprogressoftheSprint•AnIncrementalDeliveryattheendofeachsprintSCRUMTEAM:猪和鸡ScrumTeam-1Scrum团队由所有对最终发布的产品做出贡献的人组成“SCRUMMaster”角色:相当于项目经理,维护过程和任务团队包括:Scrum主管(ScrumMaster)产品负责人(ProductOwner),代表利益所有者开发人员(Developer)测试人员(Tester)文档工程师(DocumentationMember)……开发团队ScrumTeam-2经典团队拥有5-9人团队成员都是是多面手:程序员,测试员,用户经验设计,等等.团队成员都全职工作特殊职能可以例外(例如,数据库管理员)团队自我组织和管...