Cheap Jerseys Usa 猪和鸡的故事——谈谈Scrum敏捷开发中的角色和关系-互联网+
文章列表

猪和鸡的故事——谈谈Scrum敏捷开发中的角色和关系

2017-06-10 15:15:36 6,579次阅读

作为软件开发团队的一员,你是否经常为客户时不时提出来的需求改动而烦恼?

作为软件的交付客户,你是否常常抱怨开发团队无法满足自己提出来的需求?

让我们来看这么一个故事:

一天,一头猪和一只鸡在路上散步。

鸡看了一下猪说:“嗨,我们合伙开一家餐馆怎么样?”

猪回头看了一下鸡说:“好主意,那你准备给餐馆卖什么呢?”

鸡想了想说:“餐馆卖火腿和鸡蛋怎么样?”

猪说:“不开了,我全身投入(火腿是一次性资源),而你(鸡蛋是可再生的)只是参与而已!”

1

图片来自reader8.cn,版权归原作者所有

这个故事是Implementing Scrum网站为了解释什么是Scrum而推出的系列故事中最具代表性的一个,它展示了在Scrum中的两组角色:猪和鸡

在故事展开之前,我们先来了解一下什么是Scrum

Scrum是迭代式增量软件开发过程,通常用于敏捷软件开发。Scrum包括了一系列实践和预定义角色的过程骨架。Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员。虽然Scrum是为管理软件开发项目而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法。

好了,回到本文开头的故事。

猪被认为是Scrum团队中的核心成员,在一个团队中产品的负责人和Scrum主管和开发团队就是”猪”角色。鸡不是Scrum的一部分,但必须要考虑他们,用户、客户或提供商、经理等扮演着“鸡”角色。需要说明的是在Scrum团队中不会有一个人同时成为“猪”角色和“鸡”角色。

2

图片来自wendangwang.com,版权归原作者所有

 

我们看看团队中的“猪”都有哪类角色:

 

产品负责人(Product Owner)

即负责维护产品订单的人,代表利益相关者的利益。我们可以把这一角色理解为没有项目管理权限的产品经理,他只对产品负责,决定做出来的产品是什么,包含哪些功能要点。传统的软件开发流程中,产品经理是要肩负起一定的项目管理的职责的,产品经理可能同时就是项目经理,甚至在一些企业中CEO就是最大的产品经理。但是在Scrum框架中,产品经理没有项目经理的权限,无权干涉项目开发的进度,项目的成功与失败也不需要产品经理独自承担责任。产品负责人最大的职责就是做好开发团队与客户之间沟通的桥梁,维护好“产品订单”,排列出开发的优先级。简单来说,有没有按时做完项目不是产品负责人的责任,但做出来的东西是不是客户想要的就是产品负责人的事情了。所以产品负责人必须是Scrum团队的一员,和其他成员一起时刻盯着团队开发的是否是“产品订单”中列举的东西。

 

Scrum主管(Scrum Master)

即为Scrum过程负责的人,确保scrum的正确使用并使得Scrum的收益最大化。Scrum Master需要知道团队其他成员如何完成开发工作。这一角色通常要团队中最资深的那个开发人员来担当比较合适,不仅仅是他的技能可以指导其他成员,更因为他有资历去排除哪些影响Scrum实施的外界干扰。Scrum Master虽然同样无项目经理的权限,但需要他在关键的时刻站出来,帮团队推掉来自外界甚至是高层临时下达的产品开发需求。

 

开发团队

由负责自我管理开发产品的人组成的跨职能团队。Scrum教程里倡导的Scrum团队的理想人数是7人,那么即意味着除了1个Product Owner和1个Scrum Master外,开发团队应有5人。开发团队必须是跨职能的,如果大家的技能相同,很容易出现彼此推诿的现象。每个人都应该明确,自己的工作只有自己才能最好的完成,这样才能组合在一起形成一个团队。另外,开发团队人数不能过多。Scrum倡导的是自我管理的团队,这其实是违背传统的管理模式的。团队人数少的时候,即使团队中个别人缺乏自我管理的意识,那周围同伴也很容易帮助其提高和改善自我管理的能力。但团队人数一旦很多,出现一群无自我管理意识的人群的时候,那影响的作用力就是相反的,这一小群人会影响周围更多的人,此时Scrum团队又无一个专职的管理者,便会出现“无政府主义”的现象,造成一盘散沙的恶果。

3

图片来自sohu.com,版权归原作者所有

 

属于“鸡”的又有哪类角色呢?

 

用户

在Scrum流程中,虽然不能完全听取用户的意见,但还是得时刻关注用户的感受和反馈。因为Scrum是一种迭代式增量软件开发的过程,如果每个小模块都能得到用户良好的反馈的话,那无疑最后完工的整个系统出差错的概率会小很多。毕竟用户不是专业软件开发人员,整个系统对其来说过于庞大和复杂,一个个小模块是其能最好理解的单元个体。处理好用户与开发者关系的重要人物就是前面所讲的Product Owner,他必须及时的收集用户的反馈,以此完善每次冲刺的订单,但同时又不能让用户的反馈去影响开发的步骤。

 

利益所有者(客户,提供商)

在Scrum体系中,一旦开发团队与客户确认好开发需求后,客户应该无权在中间干涉团队是怎么完成的。客户需要了解,随意的更改需求、干涉开发的流程是很危险的,极有可能出现鸡飞蛋打的双输场面。在前期项目立项的时候要尽可能多的和客户接触,完整的记录客户所有的需求。但在开发过程中,特别是每天的站立会中,建议不要让客户,特别是根本不知道什么是Scrum的客户来旁听站立会。

 

经理

可以把他理解为项目经理或部门经理,甚至是管理产品开发的副总或直接就是老板!这群人就是故事中的鸡爷爷,他们财大气粗,有权有势,为了能开发出新的有竞争力的产品,为小猪们提供了资金和场所,所以他们对产品的意见也是至关重要的。Scrum实施中一个令工程师们兴奋的就是项目经理将不再管理我们的开发过程,我们自己管理自己。但实际操作起来,这确实是最难的一个环节。一旦项目经理在Scrum“每日立会”中下达指示,而Scrum Master又没挡住的话,那这个团队的Scrum实施就失败了,团队成员会觉得自己失去了领导的信任,被授予的自我管理的权限又被无情的收回了。大家又会重新回到原先的模式,每一步听从项目经理的指示,按指示办反正不会有错,失败了是项目经理指示错误的责任,成功了也能跟着项目经理分碗汤喝。

4

图片来自qqzhi.com,版权归原作者所有

Scrum能否成功实施,很关键的是能否得到高层的认同和理解。一个团队要实施Scrum,首要需要接受培训的就是公司高层领导们,高层领导们要权衡实施Scrum的利弊,如果Scrum能带来高效、优质的开发成果,那就应该忘记Scrum实施过程中给所带来的心灵上的折磨。我们可以合理的定好Scrum团队中每个人的KPI,让每个成员真正意识到项目成功是自己的事,而不是项目经理、高层们的事。

Scrum能否成功实施关键在于“猪”与“鸡”两种角色之间心理上的平衡与和谐!“鸡爷爷”切不可把“小猪”们看成是一群猪八戒,空有一身本领,但好吃懒做。“小猪”们也不可把“鸡爷爷”想象成周扒皮,只会半夜鸡叫,影响正常的开发进度。猪和鸡双方相互理解,达到项目开展过程中的平衡点,才能让整个项目顺利的完成。

 

作者/ 顾祖毅

编辑/ 李欣欣  陈家丽

 

内容来源于天海“互联网+”研究院,如需转载请联系后台,未经授权转载者,我院保留追究相应责任的权利。

 

 

天海研究院微信公众号

声明:天海"互联网+"研究院尊重行业规范,每篇文章都注明有明确的作者和来源;研究院的原创文章,请转载时务必注明文章作者和"来源:天海互联网+研究院",不尊重原创的行为将受到天海研究院的追责。