◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
今天来聊一聊敏捷的Scrum框架。在这之前,先来看一个故事:
猪马上拒绝:“那可不行。我要割肉,你只要下蛋。这样下去我迟早要完蛋。”
其实,Scrum,就是为了保护“猪”这种角色,兼顾“鸡”的感受,从而确保整个项目正常交付。
Scrum是一项英式橄榄球运动,是团队成员在比赛开场时并列争球,优先得到球的一方可以将球传递给自己球队的队员,发起一次进攻。这项运动要求团队成员身体素质、力量、身高等相近,这样团队成员在具体的过程中可以相互备份、自组织、形成统一的节奏共同努力。将Scrum隐喻到软件开发中,也是为了让团队在软件开发的过程中,能够共同努力、共同成长,当团队成员能力和各方面素质达到一定程度时,进行自组织、共同前进完成一件事情。
Scrum中团队通过迭代的方式完成任务。一个迭代称为一个冲刺Sprint,一个冲刺典型的迭代周期是2-4周,在当前迭代中,产品的设计、开发、测试全部完成,通过一个固定的周期创造出项目更优美的节奏感,让团队持续按照节奏交付产品。
透明性是指整个过程或项目的各个方面必须是对结果负责任的、透明的,运用信息发射源,让这些关键信息对所有项目利益相关方保持透明,比如:产品待办列表、冲刺待办事项、燃尽图等等。
检视是指团队根据项目目标定期检查透明的绩效和进展,不断地寻找问题、计划的偏离等,如有偏离,需要采取措施。
调整是基于观察期间的检查,采取必要的变更流程,以避免问题再次发生,提高项目的交付成功率。
Scrum是目前业界使用比较广泛的一种敏捷框架,主要内容可以归纳为Scrum的3355:
任何工作的背后都是人,任何事离开了人,也很难去落地。Scrum中也对人进行了严格的界定。Scrum团队由5-9个团队成员组成,也就是7-2或7+2。有三种类型角色:
PO:产品负责人ProductOwner,代表客户,负责项目的需求。定义项目愿景,将客户的业务需求转换为项目的具体需求,并进行优先级排序,制定产品的发布计划、迭代计划,在客户和团队之间建立桥梁,不断向团队澄清需求,对产品成功负责。
Scrum Master:教练的角色,帮团队排除障碍,为团队提供帮助,在团队内部维护规则,确保团队遵循 Scrum 的理论、实践和规则,提升团队绩效,帮助团队实现PO所设定的目标,沿着高绩效团队的目标成长,是一种仆人式管理。
Team:交付团队,具体完成项目工作的人,团队都是多面手。通过Scrum Master的帮助,协同工作、共同成长,朝着逐渐达成自组织的模式去发展。Scrum Master和团队共同去完成从PO那里拿到的需求,完成客户的目标。团队有自主权选择如何最好地满足PO的目标,并且为之负责。
团队中有“鸡”和“猪”的角色,“猪”的角色包括PO、Scrum Master、Team,他们全职参与项目;“鸡”的角色是指团队成员以外的管理角色,他们并不全职参与项目。
通常可以以划龙舟的团队角色来类比Scrum的角色,划龙舟通常有舵手、鼓手、划桨团队三个角色。Scrum中的PO就是舵手的角色,他对产品的方向负责,对产品的Why和What负责,对产品的愿景,产品包括哪些主要的特性负责。Scrum中的Scrum Master是鼓手的角色,他帮助团队保持高昂的士气,并进行良好的协作,他是一个Scrum的专家,团队的教练,团队的服务式领导。Scrum中的交付团队,对应到龙舟赛的划桨团队,团队必须协调一致,作为一个整体前进,团队成员是自组织管理的。
Scrum的工件以不同的方式表现工作任务和价值,可以用来提供透明性以及检视和调整的机会。Scrum 中的工件就是为了最大化关键信息的透明性,因此每个人都需要有相同的理解。
产品待开发列表ProductBacklog:一组产品需求列表,包括业务需求、技术需求等。理想的情况下,每一个待完成列表都将对客户产生价值,PO对该列表进行优先级排序,每个迭代开始前,优先级排序还需要再度修正,待办事项中的条目以用户故事的形式呈现。
冲刺待开发列表Sprint Backlog:SprintBacklog是Product Backlog的子集,只记录当前迭代的工作。将用户故事拆分成任务,团队成员主动领取任务,他们有共同的迭代目标,为交付可工作的成果而努力。团队成员可以添加、删减或者更改迭代中的任务,并对迭代列表中的任务进行了估算,每天需要更新剩余工作量。
燃烧图(燃尽图):迭代内项目工作完成情况展示,将理想状态完成情况和实际完成情况对比,促进团队及时发现问题,讨论并解决。
冲刺计划会议:Scrum 团队的所有成员出席,开发团队识别当前冲刺开发交付的产品待办事项中的用户故事。
冲刺评审会议:Scrum 团队的所有成员参加,在选代末期进行,开发团队将可能移交的可交付物开发特性演示给干系人和项目发起人,确保项目的交付物满足利益相关方的期望。收集利益相关方对不断变化的解决方案的反馈,重新修订产品待办列表,确定很可能进入下个 Sprint 的产品待办列表项。
冲刺回顾会议:Scrum 团队的所有成员参加,对整个迭代进行回顾,包括什么进行顺利,缺少什么,需要改变什么等,团队通过总结认识到他们做的好的领域以及有待改进的领域,并就未来的迭代改进计划达成一致。
每日立会:每日固定时间固定地点15分钟站立例会,团队中“猪”的角色发言,团队回答三个问题:昨天完成了什么?今天计划完成什么?遇到哪些障碍?通过回答这三个问题,在团队之间分享整个迭代的进展或问题,每个团队成员就将要完成的任务对其他人做口头承诺。
待办事项梳理:Scrum 团队在冲刺中经常会面,梳理待办事项,根据利益相关方的期望调整待办事项列表,可以对待办事项进行增加、删除、优先级重排等,通过逐步完善的方式,保留现有信息,反映利益相关方的需要。
勇气Courage:因为团队不是单打独斗,团队能够感受到⽀持,⽽且掌握更多的资源。这一切赋予团队有勇⽓去迎接更大的挑战。
开放Openess:在团队合作中,大家都会表达做得如何,以及遇到的障碍。团队发现将担忧说出来是⼀件好事,因为只有这样才能让这些担忧及时得到解决。
专注Focus:由于团队在⼀段时间内只专注于少数几件事情,所以可以很好地合作并获得优质的产出。团队能够更快地交付有价值的事项。
承诺Committment:由于有更⼤的掌控,团队会有更坚定的信念去获得成功。
尊重Respect:因为团队在一起工作,分享成功和失败,这有助于培养并加深互相之间的尊重,并帮助彼此成为值得尊重的人。
五个核心价值观促使团队逐渐相互信任、达到自组织。END
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。