数量惊人的策略从一开始就注定要失败,因为它们的作者执着于一种特定的方法,而没有考虑更适合他们当前情况的替代方案。当工程师仅仅因为流行而选择工具时,以及当高管坚持采用他们觉得舒服的先前组织的技术堆栈时,就会发生这种情况。
探索是早期锚定的解药,迫使你在评估任何前进的道路之前广泛考虑问题。探索是指在假设自您上次处理给定问题以来该行业尚未发展之前更新您的先验知识。探索不断相信,当你不观看时,事情会变得更好。
本章内容包括:
- 战略制定探索阶段的目标
- 何时探索(始终是第一位!)以及何时停止探索有意义
- 如何探索一个主题,包括讨论最常见的机制:挖掘内部先例、阅读行业论文和书籍以及利用外部网络
- 为什么避免判断是探索的重要组成部分
在本章结束时,您将能够对您当前或下一个正在执行的策略进行探索。
什么是探索?
我在职业生涯中经常遇到的高级领导反模式之一是“大迁移” ,新领导宣称大规模迁移到新技术堆栈(通常是前雇主使用的堆栈)将解决每个紧迫的问题。大迁徙的独特之处不在于最初的错误选择,而在于高级领导人一心一意地推动他们的方法,即使其他人非常清楚这并不能解决手头的问题。
这些高级领导者非常聪明,但他们却让自己被以往经验的初步想法所束缚。他们接受这些早期的想法作为其战略的基础,并在这些想法的基础上构建整个战略,最终这些早期的假设变得如此重要,以至于不可能承认这些错误。
探索是在让自己致力于给定方法之前搜索策略的问题和解决方案空间的刻意实践。它是了解其他人最近和过去如何解决同样的问题。无论是在你欣赏的时尚公司,还是在与你的公司实际相似的实用公司,它都在这样做。
大多数探索将在您的团队外部进行,但根据您的公司,您的大部分探索可能会在公司内部进行。如果您在一个拥有 100,000 人的大型工程组织中,很可能存在您从未听说过的现有内部解决方案来解决您的问题。相反,如果您所在的组织有 50 名工程师,那么您的大部分探索很可能都是外部的。
何时探索
探索是良好战略工作的第一步。即使你想跳过它,你也总会后悔跳过它,因为你会不经意地将自己陷入你首先关注的方法中。尤其是当涉及到您以前解决过的问题时,探索是防止您过度索引以前经验的唯一方法。
尝试继续探索,直到您知道您公司内的三个类似团队以及三个类似的公司最近如何解决相同的问题。此外,确保您能够解释这些决定背后的想法。那时,您应该准备好停止探索并继续进行策略创建的诊断步骤。
探索应该总是有一个最短和最长的时间范围:少于几个小时是非常可疑的,超过一周通常也是值得怀疑的。
如何探索
虽然每次探索的细节会略有不同,但不同策略的总体方法往往非常相似。当我打开我正在编写的战略文件草案后,我的一般探索方法是:
-
开始投入我能想到的与该问题相关的所有资源。
例如,在Uber 服务配置策略中,我首先收集了有关 Mesos、Kubernetes 和 Aurora 的最新论文,以了解行业在编排方面的现状。
-
进行一些网络搜索、基础模型提示,并与一些现任和以前的同事核实我可能缺少哪些主题和资源。
例如,对于Calm 工程策略,我重点与业界同行讨论他们用来集中目标分散的团队的工具。
-
总结我收集的资源列表,将它们组织起来,哪些是我想要探索的,哪些是我不会花时间但值得一提的。
例如,大型语言模型采用策略的探索部分记录了团队在完成之前探索的各种资源。
-
一项一项地完成清单,继续在战略文件中收集注释。完成后,将这些内容综合成一份简洁、可读的所学内容总结。
例如,整体分解策略将对一个广泛主题的探索综合为四个段落,并链接到参考文献。
-
一旦我大致了解了一些类似的内部和外部团队最近如何解决这个问题,就停下来。
在策略创建的所有步骤中,探索本质上是开放式的,您可能会发现不同的方法更适合您。如果您不确定该怎么做,请尝试严格执行上述步骤。如果您有信心采用不同的方法——只要它不跳过探索!——那么就继续尝试吧。
虽然本章中没有讨论,但您还可以使用一些技术(例如细化章节中介绍的Wardley 映射)来支持您的探索阶段。 Wardley 映射是一种根据不同策略传统设计的策略工具,因此将其归类为纯粹的探索工具或细化工具忽略了它的一些潜在用途。
制定策略并没有完美的方法:采取对你有效的方法并使用它。
矿井内部先例
最有力的战略形式之一就是简单地记录内部如何做出类似的决策:通常这足以指导组织内部未来如何做出类似的决策。这种方法记录在《Staff Engineer ’s Write 5, then Synthesis》中,对于那些在老牌公司工作的人来说也是最有价值的探索步骤。
如果您是组织内的终身工程师,那么可以安全地假设您了解典型的内部方法。即便如此,还是值得四处看看内部是否有任何相关的 Skunkworks 项目正在发生。如果您最近加入该组织,或者远离代码库本身,则更是如此。在这种情况下,几乎总是值得四处看看已经存在的东西。
有时内部方法并不理想,但它仍然是优越的,因为它已经被实施并且有其他人维护它。从长远来看,当其他人解决不完美的问题时,你的策略可以继续实施。
使用您的网络
我们的经验是,有关管理用户数据内部访问的最佳实践可以通过我们的网络广泛获得,否则很难找到。其具体原因很难确定,
虽然有很多主题都有重要的公开写作,但我的经验是,有很多主题如果不直接与从业者交谈,你就学不到什么。对于安全性、合规性、真正大规模的运营以及优化广告支出等竞争流程来说尤其如此。
此外,令人惊讶的是,我们经常发现人们公开描述解决问题的方式与他们实际处理问题的方式在很大程度上是不一致的。
这就是为什么拥有广泛的个人网络非常强大,并且可以快速了解可能的解决方案的广度。它还提供了各种方法的实际缺点,这些缺点在与公众支持者交谈时经常被忽略。
在最近的一次战略会议上,出现了一项对我来说似乎不太合适的提案,在会议结束之前,我能够向行业同行发短信并获得这些短信的答复,这使得房间里关于什么是可能的、什么是不可能的假设无效。本来可能需要几周才能解决的分歧在几分钟内就得到了解决,我们能够在那次会议上确定下一步的步骤,而不是等一周后才意识到自己的错误,直到下一次会议。
当然,以怀疑的态度保留来自网络的信息也很重要。我的网络肯定是错误的,而你的网络永远不知道你当前的情况与他们的情况有何不同,因此盲目接受网络的指导也永远不是正确的决定。
广泛阅读;狭义地阅读
阅读一直是我策略工作的重要组成部分。这种方法有两个不同的动议:持续广泛阅读以拓宽你的思维,并针对你正在研究的特定主题进行狭义阅读。
从广泛阅读开始,我每年努力阅读十到二十本与行业相关的著作。这些不一定是新版本,但对我来说是新版本。重要的是,我尝试阅读我不太了解或我最初不同意的东西。我最近读的一些书有《芯片战争》 、 《构建绿色软件》 、 《整洁第一? ,以及如何完成大事。从每一本书中,我都学到了一些东西,随着时间的推移,它们在我的脑海中建立了一系列书签,讲述可能适用于新问题的想法。
事情的另一端是狭隘地阅读。当我最近开始研究人工智能代理策略时,我做的第一件事就是阅读 Chip Huyen 的 《人工智能工程》 ,这是一份非常有用的调查。同样,当我们开始思考Uber 的服务迁移时,我们阅读了许多行业论文,包括《Google 使用 Borg 和 Mesos 进行大规模集群管理:数据中心细粒度资源共享的平台》。
这些读物都没有提供我正在研究的问题的全部答案,但它们在帮助我理解选项范围以及确定在我的探索中参考的其他参考方面做得非常出色。
我将提到两个有很大帮助的细微差别。首先,我强烈鼓励习惯浏览书籍。即使是经过严格编辑的书籍也会有很多与您当前目标并不特别相关的内容,您应该随意跳过这些内容。其次,你读的不一定是书。它可以是博客文章、论文、采访记录,当然也可以是书籍。
在这种情况下,“阅读”不一定是真正的阅读。有些会议演讲的内容与一篇博客文章一样多,有些会议的涵盖范围与一本书一样多。还有一些没有书面形式的会议演讲,例如 Dan Na 出色的Pushing Through Friction 。
每一份工作都是一种教育
在技术行业中,经验经常被忽视,并且有很多方法可以通过过度复制在不同情况下有效的解决方案来滥用经验,但最有效且最慢的探索机制是继续研究有意义的问题的细节。
您可能不会选择每项工作来优化学习,但随着时间的推移,允许您立即探索更复杂的问题(认识到每次都会有一些数据变得过时)具有独特的价值。
留待以后判断
正如我多次提到的,探索的重点是扩大范围,以理解您可能没有考虑过的方法,并使您最初认为正确的事情无效。只有当你把判断留到以后时,这两件事才有可能实现:如果你对方法是“好”还是“坏”做出判断,那么你的探索可能会误入歧途。
作为一条软规则,我认为,如果参与策略的人在您开始探索步骤时没有改变他们所相信的事情的想法,那么您就没有完成探索。当涉及到高级领导者的战略工作时尤其如此。他们的信念往往被多年的经验所证明是合理的,但不清楚他们的经验的哪些部分随着时间的推移而变得陈旧。
概括
此时,我希望您能够放心地将探索作为策略工作的第一步,并了解跳过此步骤可能产生的后果。毫不夸张地说,我遇到的每一次最严重的战略失败都可以通过其主要作者在锁定特定方法之前花几天时间探索该领域来避免。
几天的缓慢感觉总是值得避免多年的误导性努力。