vlambda博客
学习文章列表

敏捷框架梳理 | Scrum之3355

    

    敏捷框架Scrum是之前一直在用的一个开发框架,最近也同时在考ACP,学习系统的Scrum知识。在这里简单对Scrum框架做一个梳理。



敏捷框架梳理 | Scrum之3355
敏捷框架梳理 | Scrum之3355

Scrum框架的来源


        

    Scrum是一个英语单词,是一个专有名词,表示一个体育运动,即英式橄榄球比赛中的一个并列争球的一个动作:


敏捷框架梳理 | Scrum之3355



争球

对阵争球时,各方出3名前锋队员,并肩各站成一横排,面对面躬身互相顶肩,中间形成一条通道,其他前锋队员分别站在后面,后排队员用肩顶住前锋队员的臀部,组成3、2、3或3、4、1阵形。然后,由犯规队的对方队员在对阵一侧1码外,用双手低手将球抛入通道,不得有利于本队。当球抛入通道时,前排的3对前锋队员互相抗挤,争相踢球给本方前卫或后卫队员,前卫和后卫队员必须等候前锋将球踢回后,方可移动。

——摘自百度百科


    并列争球——这个体育界的名词,怎么演变为了现在的敏捷框架的代名词呢?

    1986年,两个日本人,竹内弘高 和 野中裕次郎 在一篇文章《New New Product Development Game》中首次将Scrum比作产品开发的一个模式,他们认为,对于快速变化的市场而言,英式橄榄球比赛的打法(用标准动作Scrum代替)——团队是一个整体,互相可以做back up,在团队内部快速传球,不断地发起冲刺,可以更好地满足市场的竞争需求。

    受以上思想以及当时风靡的精益思想,Jeff Sutherland首次定义了软件开发的crum流程,由此发展起了Scrum框架。

    Scrum是敏捷框架中使用最广的一个框架,因为这个框架比较简单,入门容易,但是“知易行难”,Scrum框架虽然看起来很容易,但是要真正用好却很难。



敏捷框架梳理 | Scrum之3355
敏捷框架梳理 | Scrum之3355

Scrum框架概览



    下面这张图,就是Scrum全视角的框架。
敏捷框架梳理 | Scrum之3355

        

    敏捷管理是一个项目管理视角,我们可以把这个过程使用输入、过程、输出的方式来拆解,可以把它分解为5个过程:评审、计划、迭代、验收、回顾。

    1、评审:产品需求评审过程

    输入:用户需求

    过程:产品待办事项梳理会(refinement),产品负责人拿着用户的需求,与团队和相关人进行需求评估,梳理优先级,确认哪些团队需要完成

    输出:产品待办事项


    2、计划:制定迭代计划

    输入:产品待办事项

    过程:迭代计划会,产品负责人拿着产品待办事项,与团队制定迭代计划,要做的工作包括,从产品待办事项选择本次迭代要完成的用户故事,将其分解成任务,让团队认领任务,制定工作计划

    输出:迭代待办事项


    3、迭代:产品开发过程,可以说迭代,或者冲刺,每次迭代在2-4周

    输入:代待办事项

    过程:迭代、每日站会,敏捷教练带领团队,进行迭代,每天开每日站会,沟通进度和问题,即时处理和推进

    输出:产品增量


    4、验收:产品验收过程

    输入:产品增量集成到历史迭代成果中

    过程:迭代评审会,团队演示产品增量集成结果给产品负责人,产品负责人进行验收,选择是否通过验收,决定是否交付产品增量给用户

    输出:可交付或者不可交付用户的产品集成结果


    5、回顾:经验回顾过程

    输入:本次迭代问题、经历、产品现状等

    过程:迭代回顾会,团队回顾迭代中做的好的方面和不好的方面,进行复盘,好的继续发扬,不好的制定修正计划,在下一次迭代中修正

    输出:知识库



Scrum框架结构:3355


    

    对于Scrum框架,有一个简单的学习和记忆框架,由四个数字组成,叫做:3355


    3:表示3种角色,他们组成了Scrum team

  • Product Owner :产品负责人,产品、商务角色,对外沟通角色,获得客户输入,验收迭代输出,负责团队的输入和输出工作

  • Scrum Master:敏捷教练,服务式领导,扮演榄榄球队的教练的角色,指导、培训、保护团队完成目标,可以是团队中间的一员,但是不能一个人同时做PO和SM

  • Dev Team:开发团队,就是橄榄球队,负责干活的,这个团队里面的人互相可以做备份,每个人都是多面手,是一个跨职能的团队


    3:表示3种工件,工件,英文为Artifacts,表示由人生产的中间产物

  • Product Backlog:产品待办事项列表,表示为生产或完善产品,希望开发团队做的事项,包含业务需求、技术需求、NFR(非功能性需求)等,包括需求的优先级排序,每个条目以用户故事的形式呈现,是迭代的输入

  • Sprint Backlog:迭代待办事项,在产品待办事项中,选出的当此迭代需要完成的用户故事分解的任务,是迭代的输入

  • Product Increment:产品增量,团队在一次迭代完成的交付结果,用于集成到以前的迭代成果中,必须为可用状态,PO验收并决定是否交付给用户,是迭代的输出


    5:5种仪式,ceremonies或者会议或活动,有明确的人、时间、议程等

  • Sprint:迭代,产品的一次冲刺开发过程

  • Planning:迭代计划会,选取用户故事,确定本次迭代要开发哪些用户故事,把用户故事拆分成任务,团队领取任务,计算团队容量,估算工作量,可以用过故事点估算法来计算工作量,输出燃尽图、任务板,4周的迭代最多开8小时

  • Daily Scrum:每日站会,在迭代过程中,每天团队简单开一个15分钟内的站会,沟通前一天的进度、存在问题、今日计划。注意,这是团队间的沟通,问题也不需要在会中处理。站会,即站着开的会,并非一定要站着开,只是代表这个会要简单、快速的沟通,传递关键信息

  • Review:迭代评审会,迭代完成后,团队将迭代成果演示给产品负责人,产品负责人进行验收,确认是否合格,决定是否交付用户

  • Retrospective:迭代回顾会,完成迭代后,回顾总结工作中的经验教训,一般为15-30分钟,回顾的事项包括,哪些做的好,继续保持,哪些做的不好,应该停止,哪些可以改进,改进的优先级和行动等


    5:5种价值,Scrum中提倡的团队价值观,用于统一认知和思想,促进合作,提升效率

  • 勇气:有勇气去做正确的事情,挑战难题

  • 开放:将进度和问题工作,促进合作

  • 专注:专注于目标

  • 承诺:承诺实现团队目标

  • 尊重:互相尊重理解