三大战略模型:助你掌握战略思维

对于想要升职到更高职位的高级工程师来说,常常会听到一个反馈,那就是需要更有“战略性strategic”。这个反馈听起来可能有点让人摸不着头脑。

这是不是意味着你之前的决定不对?或者你的影响力不够?还是说你太依赖别人了?

到底什么是“战略性strategic”?
很多人并没有给出一个清晰、易懂的解释,只是模糊地说要“有更大的影响力”或者“扩大范围”。

在这篇文章里,我想给“战略性”一个具体的定义,并且提供一些模型,帮助你开始更有战略性地思考。

那么,什么是“战略”?

战略不是长期的计划,也不是详细的路线图。它不仅仅是做出重大决定。

战略其实是一个指导你做决定的框架。它既指明了你要走的路,也明确了你要做什么、不做什么,以确保你的行动和核心目标一致。

战略是一个指导决策的框架。

为了更好理解,我们可以看几个例子。

例子1:开车从旧金山到西雅图

假设你要从旧金山开车去西雅图,想在12小时内到达。这就是你的目标。对于不熟悉西海岸地理的人来说,12小时听起来可能有点紧,因为路上有很多不确定因素,比如波特兰的交通堵塞可能会让你多花2个小时。

那么,一个可能的策略是:让多个司机轮流开车,同时优化交通路线,而不是单纯追求速度或最短距离。

这个策略并不是简单地说“走I-5高速公路”或者“开快点”,而是一个更高层次的方法。它引入了一些新的可能性(比如可以连续开车),也增加了一些限制(比如需要协调司机的时间),还会影响其他决定(比如不需要停车休息)。这个策略会衍生出一系列的战术决策,比如什么时候换司机、什么时候出发避开高峰期、休息多久等等。

好的策略帮助我们做决定。它不仅仅是一个计划,而是一个框架,能打开一些门,同时关上另一些门

例子2:提高软件系统的可靠性

假设你负责一个复杂的软件系统,但它经常出问题。你的目标是尽早发现错误,避免它们影响生产。

一个可能的策略是:放慢发布速度,增加手动测试。但更常见的策略是:专注于为关键用户流程添加自动化测试。

这个策略不仅仅是“多加点测试”,它还告诉你要加什么类型的测试,以及如何优先安排这些测试。

这两个例子展示了好的策略如何减少决策的漏洞。它不是详细的路线图,而是一个框架,帮助你确定工作的优先级和方法。

战略思维框架

我喜欢用模型和框架来思考问题,尤其是战略问题。下面介绍三个框架,它们涉及战略的不同方面,能帮助你更好地理解战略思维。

1. 鲁梅尔特的战略核心

理查德·鲁梅尔特(Richard Rumelt)在《好战略,坏战略》这本书中提出了“战略核心”的概念。这个核心有三个部分:

1. 诊断:找出实现目标的最大障碍。不是列出所有问题,而是找出最关键的那个。比如,在测试的例子中,诊断可能是:“我们的测试覆盖率看起来不错,但测试并没有覆盖用户实际使用系统的方式。”

2. 指导方针:这是你应对挑战的总体方法。它帮助你决定做什么、不做什么。在测试的例子中,指导方针可能是:“专注于测试端到端的用户流程,而不是单个组件。”

3. 一致的行动:这是你根据指导方针采取的具体步骤。它们需要协同工作。在测试的例子中,行动可能是:
   - 为关键用户流程构建端到端测试;
   - 添加生产监控;
   - 改变事件审查流程,关注用户影响。

这个框架帮助你从诊断问题到制定具体行动,确保每一步都围绕核心目标。

2. 为赢而战

第二个框架来自《Playing to Win》这本书,基于作者在宝洁公司的经验。虽然它更偏向业务和产品战略,但对工程师也很有用。这个框架要求你回答五个问题:

1. 你成功的愿望是什么?(成功是什么样子的?)
2. 你会在哪里玩?(你关注哪些问题领域?)
3. 你将如何取胜?(你的独特方法是什么?)
4. 你需要什么能力?
5. 需要什么样的管理系统?

在测试的例子中,这个框架可能是这样的:

  • - 成功愿景:成为我们领域内最值得信赖的服务。
  • - 玩法:关注用户交互流程,甚至超越离线处理系统。
  • - 如何取胜:通过自动化测试发现真实用户流程中的问题。
  • - 所需能力:端到端测试框架、自动化测试基础设施、生产监控等。
  • - 管理系统:自动化检查、定期可靠性审查、事件分析等。

这个框架迫使你做出权衡。比如,你选择通过自动化测试取胜,就意味着你不会依赖大量的手动测试。

3. 三个视野

有时候,很难平衡当前的工作和长期计划。为什么我们要花时间维护一个可能一年后就会被淘汰的系统?

麦肯锡的“三个视野”模型把战略展望分成不同的时间范围:

  1. - 视野1(H1):优化现有系统和流程。通常是0-2年内的任务,但在初创公司可能更短。
  2. - 视野2(H2):关注新兴机会。通常是2-5年内的任务,但在初创公司可能更早。这些任务与现有系统相关,但代表新功能或服务的扩展。
  3. - 视野3(H3):创造全新的能力。这些是长期的大胆尝试,可能和现有产品或架构完全不同。

举个例子,假设你在处理一个老旧的单体服务,你可以这样分解工作:

  1. - H1:稳定现有系统,清理技术债务,增加监控和测试覆盖率。
  2. - H2:服务分离,确定服务边界,构建内部API,创建微服务部署基础设施。
  3. - H3:完全过渡到分布式架构,实现自动扩展和自我修复。

每个视野的工作都为下一个视野打下基础。你可能同时在三个视野上工作,只是回报的时间不同。

总结

这些框架帮助你更清楚地理解“战略性”到底是什么意思。当别人告诉你“要有战略性”时,他们其实是希望你建立一个决策的结构和系统,而不仅仅是做出决策。

鲁梅尔特的“战略核心”、“为赢而战”和“三个视野”这些框架,帮助你把复杂问题分解成可操作的步骤。它们指导你诊断问题、定义制胜方法,并平衡当前的工作和未来的机会。

但记住,无论执行得多好,糟糕的战略还是糟糕的。好的战略仍然需要好的战术和强大的执行力。