• 欢迎光临~

您的工程总监不希望您优化利用率

开发技术 开发技术 2022-09-23 次浏览

您的工程总监不希望您优化利用率

挑战您的基线假设,以便您故意优化结果。

我注意到人们在留给自己的设备时倾向于优化利用率。

您的工程总监不希望您优化利用率

Photo by 布雷特乔丹

优化利用率感觉很有效。

这就是它的样子。您正在执行一项任务,但不知何故遇到了需要一些时间才能解决的障碍——比如说半天。因此,当有人为您消除障碍时,您将继续执行不同的任务。

从表面上看,这似乎不是问题。毕竟,您不想浪费时间,而且您正在推进工作。有几种方法可以解决这个问题。

无论您采用哪种方法,都要挑战您的基线假设,以便您有意识地针对正确的事情进行优化。

一种方法是您的第二个任务需要很长时间才能完成。说两天吧。因此,即使在第一个任务被解除阻塞并且您可以返回它之后,它也会在您完成任务二时处于空闲状态。

另一种选择可能是停止任务二,返回任务一并完成它,然后返回任务二。这有利于完成任务一,但任务二将花费比预期更长的时间。

有时您可能会在任务一和任务二之间来回切换,从而增加两个任务的运行时间。两项任务彼此越不相关,每次执行任务时产生的间接费用就越多 上下文切换 .

一天中切换上下文超过 2 或 3 次可能会破坏您当天的大部分工作效率!

这种切换失败的另一种方式是任务二也可能被阻塞。所以现在你有两个任务,在继续之前你正在等待一些外部解决方案。像任何通情达理的人一样,你不想浪费时间,所以你接了第三个任务。

现在我们刚才描述的问题都被放大了。每增加一个任务,问题就会成倍增加并开始处理。每项不同的任务都会增加更大比例的时间!

如果您在团队中工作,则会出现一个额外的问题。您可能会排空积压工作。现在,当团队成员正在寻找下一个任务时,无事可做。当您同时处理三项任务(并且没有完成任何任务)时,您的队友无事可做。

当您优化效率时会发生这种情况!你的队友饿死了,你狼吞虎咽,什么也做不了。相当有效率!?!?!

大多数人不知道或不承认他们正在优化效率。感觉就像你是一个尽职尽责的团队成员。意图是积极的。不过,这些假设可能是隐藏的。问问你自己和你的团队,“我们在优化什么?”

我们还能优化什么?

让我们看一个不同的模型。

让我们从头开始,你已经拿起了任务一,它被阻止了。你可以在这里做什么,而不是接受另一项任务?我想到了几个选项。

你可以让你的队友知道你有空,并要求帮助完成任何已经开始的任务。这可能包括与队友配对、执行代码审查、进行设计审查和测试应用程序。它也可能会削减某人可以独立完成的任务的一部分。

这些方法都有助于加快现有工作,而无需开始任何新工作。这是限制“进行中的工作”的精益概念。但是限制听起来不像你在优化任何东西。这是怎么回事?

挑战您的基线假设,以便您有意识地针对正确的事情进行优化。

您正在限制正在进行的工作,以最大限度地提高现有任务的完成速度。我们对一个指标施加了约束,以便我们可以影响另一个指标。我们正在优化吞吐量——任务启动后完成的速度。

吞吐量是经过时间的度量。所以这不是你投入任务的时间。这是一项工作从开始到结束所花费的总时间。如果您在四个星期内每周工作一天,您会看到一个有趣的结果。您的努力是四天,但经过的时间是 7 倍 - 4 周!对于这项任务, 周期 是28天!

如果您可以直接完成该任务,那么肯定会花费不到四天的时间,因为上下文切换会更少。不要误以为没有成本。

软件开发领域的上下文切换成本约为 15-30 分钟。您切换的不同域越多,成本就越高。您启动的环境越复杂,成本就越高。

在平均工作日内,一天中切换上下文超过 2 或 3 次可能会破坏当天的所有生产力!

现在我们有第二种方法,我们正在优化以减少周期时间并提高吞吐量。对于一个专注于交付和完成的团队——对于一个专注于成就的团队—— 这个 应该是优化的默认模型。

第一种方法将开发人员置于模型的中心。我们正在优化以充分利用开发人员。毕竟,我们为我们的开发人员付出了很多,所以我们应该优化让他们保持忙碌。 你看到了吗? 忙碌(利用)变得比有效(完成工作!)更重要

当您优化效率时会发生这种情况!你的队友饿死了,你狼吞虎咽,什么也做不了。

第二种方法将工作置于模型的中心。我们需要采用不同的思维方式来支付我们的开发人员。我们付钱给他们是为了让他们把事情做好。我们正在为工作的有效性和流程投入源源不断的资金。这听起来更崇高,不是吗?

我们还能优化什么?让我告诉你我最近的一次谈话,让我们看看我们是否可以提取正在发生的事情。

谷歌优化了什么?

伙伴 ( 不是他的真名) 最近加入 Google,担任 SRE 团队的经理。巴迪是一个有才华和有动力的人。他拥有计算机科学博士学位。他喜欢把事情做好。他为自己和他的团队取得成就。

Buddy 对我发表了关于在 Google 工作的评论。 “在谷歌的生活很奇怪……我得呆在我的车道上。”这激起了我的好奇心,所以我们安排了一些时间闲逛和聊天。

Buddy 描述了一个工程师通常有几个项目在进行中的环境。这些项目有一个方向,但没有明确的目标,也没有最后期限或时间表。经理们在那里提供帮助,成为仆人式的领导者。他们不是来指导、指导、判断或管理的。

这种模式与 Buddy 追求成就的动力背道而驰。他怎么可能 帮助 他的团队在这个模型中完成任务?

此外,管理层通过 OKR 指导团队和组织,但这些通常会在此过程中发生变化。高层管理人员也有“金票”的概念,威利旺卡的风格。这使他们能够一举介入并“加速”特定项目的优先级。

Buddy 还描述了一个似乎适合工程师的福祉和关怀的环境。谷歌在校园内提供许多服务和设施,包括所有膳食、洗衣、按摩、财务规划、健身、健康、按摩和冥想。这听起来像是一个旨在让您摆脱许多烦恼的环境,以便您可以专注于工作。

我们陷入了围绕“工作”的谈话中。谷歌优化的目的是什么?

这与利用率无关,因为尽管每个人都有多个项目,但这些项目没有“管理”,也没有推动集体成就。这也与吞吐量无关,因为每个人都有多个项目同时运行。

我将其描述为创造力和创新的某种融合。谷歌正在提供空间和环境,让才华横溢的工程师能够做到最好。他们消除了很多照顾自己的压力。他们还积极消除外部力量的压力,如市场、客户、利益相关者和人为的最后期限。

什么是正确的方法?

我们的默认行为是优化感知效率。我们通过使自己超负荷使用来做到这一点。这导致回报缓慢。

另一种方法优化正在完成的工作。限制进行中的工作可以增加流量。结果是源源不断的工作。

谷歌优化了开发者体验。他们已经建立了一个环境,以最大限度地发挥创造力和创新的机会。

问问你自己和你的团队,“我们在优化什么?”

无论您采用哪种方法,都要挑战您的基线假设,以便您有意识地针对正确的事情进行优化。

_ 给我一个掌声和“_ ** 跟随** ” 如果你喜欢这篇文章。

关于美禄

_我是一名技术主管、作家、演讲者、企业家和发明家。自 1995 年以来,我一直在开发软件,并在过去十年中开发团队。 _

我撰写有关软件、工程、管理和领导力的文章。

你也可以 在推特上关注我 _. _

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/38808/29352311

程序员灯塔
转载请注明原文链接:您的工程总监不希望您优化利用率
喜欢 (0)