跨职能团队就是指在团队里面的每一个人都具备完成所有工作的所有技能,这或许是敏捷中最流行和持续存在的一个误区。
这显然是不正确的。跨职能团队的成员具有各种技能,但这并不意味着每个成员都具备所有技能。
敏捷团队拥有专家成员是可以接受的
敏捷团队拥有专家成员是完全可以接受的。(注:本文提到的专家成员是指在团队里面只擅长某个方面的单一技能的团队成员。)
而且我怀疑团队追求一些虚假的圣杯让每个团队成员都能够做到一切会失去很多生产力。
如果我的团队包括世界上最牛的数据库开发人员,我希望那个人为我们的数据库做出非常出色的成果。我不需要这个最牛的数据库开发人员来学习JavaScript。
专家成员会让平衡工作安排很困难
但是,专家成员给那些使用迭代和增量方法(比如敏捷)的团队带来了一些问题。专家们让团队中不同类型工作的平衡变得很困难。如果您的团队确实拥有世界上最优秀的数据库开发人员,那么您如何确保您的团队始终为该人员提供适当的工作量,而不会给程序员,测试人员或其他人带来太多影响?
为了更好地看到专家的影响,我们来看几个例子:在图1中,我们看到一个四人团队,每个人都是专家。成员1和成员2是程序员,只能编程。这由红色正方形和其中的编码提示图标表示。成员3和4是测试人员,除了测试外什么都不做。它们由绿色正方形以及其中的铅笔和尺子图标表示。你可以想象任何你想要的技能,但对于这些例子,我将使用程序员(红色)和测试人员(绿色)来表示。
图1中的四人团队能够在迭代中完成四个红色任务,并在迭代中完成四个绿色任务。他们不能完成五项红色任务或五项绿色任务。
但是,如果他们的工作分布在两个产品待办列表条目中(如图2所示),则该团队将能够在迭代中完成该工作。
但是,任何分布不均匀的蓝色和绿色工作分布对于该团队来说都是不可能完成的。这意味着图1的专家团队无法完成图3所示的这些任务分布情况。
多技能团队成员的影响
接下来,让我们考虑如果图1中的两名专家团队成员现在都能够同时从事红色和绿色工作,情况将如何改变。我将这些团队成员称为多技能人员。这样的团队成员有时被称为通才,但我觉得这是误导。我们不需要有人能够做任何事情。通常只需要一位或者两位团队成员具备多项技能就可以了,而不是所有技能。
图4显示了这个团队。成员1和成员2仍然是专家,每人只能做一种工作。但现在,第3和第4人是多技能的人,每个人都可以做红色或绿色的工作。
该团队可以完成比图1的专家团队更多的工作分布情况。图5显示了将两名多技能成员添加到团队后可能实现的所有可能的分布情况。
通过用多技能成员替换一些专家,团队几乎能够完成任何可能的工作分布情况。在大多数情况下,团队可以通过仔细选择要处理的产品待办事项条目来规划迭代,以避免工作分布的不平衡。在本例中,如果所选的第一个产品待办事项条目绿色占比较大,则团队不会选择第二个绿色占比较大的产品Backlog条目。
敏捷团队中的专家角色
由此我们可以看到,专家可以存在于高效的敏捷团队中,但是,团队的多技能成员,使其成为可能。在一个团队中拥有一个非常有才华的专家并没有错 – 实际上在很多方面都可以体现这些专家的价值。但是,一个优秀的敏捷团队也需要包括多技能的成员,这些人可以在团队需要在迭代中或多或少地执行特定类型的工作时平衡工作量。这样的个人也可以为团队在进行设计讨论的时候带来更平衡的看法和观点。
一个本地杂货店的例子
在跨职能团队中专家成员是可以接受的,与此同时在团队中拥有多技能的成员可以保持工作分布的平衡,为了证明这一点,我们可以参考一下本地的杂货店。这些商店里面通常有人负责收款,另外一部分人负责打包商品。当打包人员太忙的时候,收银员会协助打包。多技能的收银员和打包员可以让商店在轮班的时候用到更少的专业打包员。
本文作者:Mike Cohn
文章出处:https://www.mountaingoatsoftware.com/blog/cross-functional-doesnt-mean-everyone-can-do-everything
译者:廖靖斌 Eric Liao, Scrum中文网资深敏捷教练、顾问和培训师,CSP