扫码阅读
手机扫码阅读

精益经济101:并行开发正在扼杀你的生产力

313 2023-08-17

作者:Mike Hall 发表于2018年04月09日

Edited by Michael de la Maza& Cherie Silas
@Copyright 2018 Mike Hall All rights reserved

这是有关“精益经济学”的系列博客中的另一篇,这篇文章强调了产品开发的经济方面。您可以在此处找到有关在制品限制的第一篇文章。

作为开发人员,您是否并行处理多个项目?作为领导者,您是否有一个并行处理多个特性的团队?有工作数量比人数多的情况存在吗?

并行开发是同时处理多个项目或特性,如下图所示。在教练或提供培训时,我经常看到这种情况。不幸的是,随着我们的工作越来越忙碌,并行开发已在行业中变得司空见惯,并被接受为默认的组织工作的标准方式 – 将越来越多的项目分配给员工,并希望他们找出如何全部完成的方法!

通常,当我对这种工作模式背后的原因而进行询问时,通常会这样说:“我们的工作比人多“。因此,我们的员工需要足够出色,才能同时工作在多个项目并在所有项目上都取得良好的进展。”

并行开发:效率杀手


并行开发有很多缺点,包括:

  • 业务价值的延迟交付

  • 上下文切换的高成本

  • 低效的工作模式

  • 低落的员工士气

所有这些都可能导致令人沮丧的工作环境,在这种环境中,员工通常会被打断然后开始新项目的工作,而不考虑其当前的工作量。每个人都是150%(或选择您的数字)被零散分配在多个项目中。如果“开始是普遍的,而完成是罕见的”的感觉普遍存在,那么您当前的工作模式在经济效益上面临挑战,可能需要进行重大调整。

在并行开发方法中,如上图所示,由于团队成员在多个项目和特性上做多任务处理,因此延迟了每个特性的业务价值。在上下文切换中浪费的时间可能比应用于业务价值的时间还多。通常在这种情况下,向所有利益相关者“展示一些进步”的愿望比在最早的时间点创造价值更为重要。

串行开发:更好的方法!


好消息是:有更好的方法!串行开发是指敏捷团队一次专注于单个项目和单个特性。

串行开发的优点:

  • 持续尽早交付价值

  • 有限的上下文切换

  • 专注的开发工作

  • 高员工满意度

串行开发需要勇气


串行开发需要勇气…

  • 毫不留情地对特性进行优先级排序-不仅在同一项目中,而且在多个项目中进行相对地排序,如下图所示。

  • 使团队一次可以将开发精力集中在一个特性上。

  • 告知您的利益相关者何时会开发其特性,而不是“我们已经开始,但还没有太大进展”。

而且,串行开发需要勇气,要对利益相关者进行教练,串行开发将帮助确保他们的特性会根据优先级排序,第一时间得到开发团队的关注。

上下文切换


不信吗?让我们基于上下文切换比较并行开发与串行开发。并行开发会花费大量的上下文切换成本,因为团队成员为了尽最大努力让每个人都满意,必须在多个特性和项目之间来回跳动。关于上下文切换成本的公认权威来自于Gerald M. Weinberg开创性的著作《质量软件管理:系统思维》。

总之,如果您同时从事5个项目,那么您的生产率只有20%!转到串行开发模型将帮助您恢复上下文切换中损失的80%的生产率。将其乘以团队中的所有成员可以为整个团队带来可观的生产率提高!

价值交付


现在让我们在交付价值上比较并行开发与串行开发。我将使用一个培训课程中的一个简单示例。此示例基于特性,但也适用于处理多个项目。

场景:您所在的团队的团队待办事项由3个特性组成:A,B和C。每个特性占用整个团队1个月的时间,并提供1个价值单位。让我们研究并行和串行两种情况下的价值图。

方案1:并行开发,假定上下文切换开销为40%(参考:《质量软件管理:系统思考》)。团队在所有3个特性上的多任务处理,每个月都会取得一些进展(大约完成20%),同时还有上下文切换成本。在第1个月末,没有特性完成。在第二个月末,没有特性完成。第3个月相同,第4个月相同。最后,在第5个月末,团队交付了所有3个特性。

方案2:一次专注于1个特性的串行开发。在第1个月末,特性A交付。上下文切换成本降到最低,并且仅在启动新特性相关的规划期间发生,例如在迭代计划会和待办事项梳理会。该团队每月可预测地,又快又频繁地,交付1个特性。在开发下一个特性时,交付的特性将逐月继续保持其价值。

比较两个价值图,就价值交付和延迟成本而言哪个更好?在串行开发方法中,客户不仅可以尽快享受交付的特性的增量价值,而且比并行开发更早地获得全部3个特性!

对比:收入


最后,让我们看一个简单的收入示例。在上图中,假设每个特性每月可带来100,000美元的收入。

对于并行开发,每个月底的累计总收入为:

  • 第一个月:0美元

  • 第二个月:0美元

  • 第三个月:0美元

  • 第四个月:0美元

  • 第五个月:0美元

  • 第六个月:300000美元

对于串行开发,每个月底的累积收入总额为:

  • 第一个月:0美元

  • 第二个月:100000美元

  • 第三个月:300000美元

  • 第四个月:600000美元

  • 第五个月:900000美元

  • 第六个月:1200000美元

对于串行开发,到6月底的总收入比并行开发大400%。 此示例的底线–串行开发特性可为企业带来900,000美元的额外收入!

开始串行开发的四个步骤


严格地对所有项目需求的特性请求进行优先级排序。

根据每个项目的每个特性,在团队待办事项中将用户故事归类。

将故事缩小到可以启动的最小可销售特性。理想情况下,团队将能够在下一个(或两个)迭代中完成最高优先级的最小可销售特性。

鼓励在迭代过程中使用蜂拥的方法,专注于一些高优先级的用户故事,并尽早在迭代中完成它们。有效使用在制品限制会导致蜂拥。

停止疯狂!并行开发充满了浪费,并为员工创造了混乱的环境。串行开发是一种经济得多的工作模型,可确保尽早为最终客户交付价值并提高员工士气。如果您的团队成员目前陷入并行开发的困境,那么请采取措施转移到基于焦点的串行开发方法。这可能需要一些勇气和努力,但是这样做是值得的。


Mike is a Senior Agile Coach/Trainer at Agile Velocity with over 17 years of Agile transformation experience. He holds many Agile and SAFe® certifications, but more importantly has practical experience in leading enterprise scaled Agile transformations (SAFe®), Agile process creation for startup companies (Lean Startup), program-level coaching, team Scrum/Kanban coaching, individual mentoring, and developing/delivering Agile training. Mike’s background is in software development and leading technology teams. He is also the holder of ten patents issued by the US Patent Office, in areas such as pattern recognition, intelligence engines, and predictive systems.

Mike has been married for 35 years and has three grown children and a dog named Rocco. His hobbies include kayaking, fishing, perennial gardening, and rooting for the Dallas Cowboys.


译文:Ella Yao

校验:Lance Zhang

原文链接: https://mp.weixin.qq.com/s?__biz=MzI4MDkyNTMyOA==&mid=2247483723&idx=1&sn=4c161eee9d3d39530dfd9987a7d86941