让无聊的计划

7分钟阅读 2021年1月24日,

你可能熟悉的概念选择枯燥的技术。如果你不,我会等待您阅读优秀博客的丹·麦金利启发急需调整技术来平衡与稳定的“创新”。我来把这个更上一层楼,并讨论如何“无聊”应该不仅适用于你的技术选择,而是你的计划。

几个月前我曾对他们的管理链。他们担心这一事实管理链总是推以不可预知的方式交付。团队感到非常高的压力,尽管他们从事的项目都是长时间运行的基础设施改造的一部分。为什么如此紧张?为什么,他们问,是计划没有了吗?为什么这不是无聊吗?

为什么这不是无聊吗?

它可能会说一些关于我关注的区域,平台工程*,“为什么这不是无聊”会出现。你看,通常当人们在这种情况下,他们指责一切但缺乏规划的问题。在工程,这是一个共同的信念,足够清晰的愿景,其余的部分工作将会井井有条。易于理解的目标和聪明的工程师,这个想法是,你可以相信,人们会努力这一愿景忠实并提供一些伟大的事情。在极少数情况下,这确实似乎工作。毕竟,一半的招聘过去的智慧是“雇佣聪明的人离开他们的行动。“魔法可以发生在一个小,上进心强又一群人建立一个新的事情朝着一个明确的目标。

然而,这个概念建筑时向一个宏大的远景分解构建底层软件,其他工程师依靠。为更好,更糟的是,平台通常是我们推动新事物的地方其他的公司。平台是一个大变化的定义令牌用于创新。你想搬到Kubernetes ?你会花很多时间弄清楚如何在您的环境中运行得很好,开始。你想支持大规模monorepo整个公司?你好创新令牌无处不在,当你试图让它规模和执行好你所有的工程师和他们想要使用的语言。说到新语言,你想介绍生锈,或者O 'Caml,或者哪怕只是c++ 17 ?这个平台必须支持它。

在你走之前指责支出所有的创新平台团队公司的令牌,记住这些计划通常由别人。如果平台不支持Kubernetes,一些团队将决定建立阴影基础设施,因为他们相信它将解决这个问题他们必须处理数万microservices,然后它将土地圈的平台与没有工作一年之后,让它容易操作,但所有的操作预期。我们的目标是建立足够的你当你意识到你需要的能力,它的存在,或者可以以最小的大惊小怪,这是可靠的。

新技术值得无聊的计划

因为我们经常在新技术,我们欠的是自己和我们的客户在其他方面很无聊。和最重要的方式,一个平台的团队可以通过写无聊是无聊的计划。

很高兴有一个视觉的未来的平台。实现这一愿景,一个非平凡的我们的工作不仅仅是建立新的大,可伸缩的、复杂的软件基础设施,但把每个人从上一代的软件基础设施给下一代。升级编程语言、操作系统、图书馆。OpenStack Kubernetes,从on-prem移到云端,从maven巴泽尔,svn git。迁移从旧的存储系统,优化了一种罕见的遗留usecase,到一个新的存储系统高可用性和性能。

使这些变化发生,在后台,有趣的地方和无聊的部分。如果你没有一个平台工程师,你不应该看到有趣的部分。有趣的部分是,我们去为我们的工作负载优化内核表现良好。有趣的部分是我们构建自动故障转移,这样我们就可以满足可用性需求的工作负载。有趣的部分是许多补丁我们可能回inevitably-broken开源项目贡献,世界上一半的人在一起,但仍似乎并不理解如何使用的fqdn。有趣的部分是我们理解深深依赖我们的技术堆栈,机会和限制,构建解决方案为我们的客户解决限制和开启新的机会。

当我们不参加无聊的部分,使我们的计划可预测的,有趣的部分变成额外的压力上的压倒性的焦虑在这些举措。当你制定计划开始和结束的愿景”我们将每个人都移动到公共云,这将是伟大的,”你会发现自己在精疲力尽的情况下运行所有旧的基础设施,试图找出新的云的东西,和处理顾客感到困惑和愤怒,他们想要做的事似乎没有完全工作在世界。

对比这个团队将这一愿景变成无聊的计划。他们从一个小的概念,或许单个应用程序迁移和学习的过程。然后他们做这项工作的老平台上的其他应用程序,看看哪些是类似于现在的云。他们使用这些用户让他们迁移和运行,同时获得安慰与这个新环境,发现有趣的问题。他们写下他们学习,所以每个新一步迁移建立在过去,和其他可以在没有一个巨大的知识转移。团队专注于最困难的部分,他们是否弄清楚数据镜像,或者修复缺陷的一个流行的开源项目,并摆脱焦虑的开销明天想知道正在发生什么。用户也可以自由的压力不知道当他们需要将工作,因为团队沟通计划,占这个迭代的过程,学习,逐步迁移。

战略计划是明显的和简单的,甚至是无聊的

做无聊的计划是一个基本的步骤,获取擅长设置工程策略。策略经常被混淆创新愿景在科技领域,但他们是一样的。有一个未来的愿景和识别潜在的创新是有价值的在构建伟大的战略,但战略,依靠未经证实的灵丹妙药并不好策略。好的策略识别现状的问题,提出了一个原则性的方法来克服它,然后向您展示一个连贯的路线图。策略不是使人眼花缭乱的业务,在业务的的核心问题,解决方案就会变得简单明了。好的策略提供了清晰,使枯燥的计划。

成为伟大的技术战略,首先要善于无聊的计划。弄清楚这个问题你克服你的计划。明确每个阶段的工作原理:

  • 我们如何知道当我们在探索模式中,我们怎么知道当我们准备提交一个方向吗?
  • 我们和我们的用户吗?我们了解他们是如何使用我们的系统,和我们做了计划,占他们的需求?
  • 有什么问题我们现在专注于解决,哪些问题我们离开担心另一天吗?
  • 我们怎么知道如果我们误入歧途,什么是护栏,里程碑,或指标告诉我们这个计划是否需要审查吗?

你的团队需要清楚以上的最终状态和希望聪明的工程师将不可避免地让你在那里。在希望失败的计划计划,形成;希望不是一个计划。计划变化不断失败的计划。当你的计划是不断变化的,它表明你正在计划,表达肯定你没有,或者你没有做你的研究,得到正确的确定性。这是浪费时间和一个团队中的不必要的压力。

所以领导人,你欠你的团队,你的用户,免费从暴政和压力的不确定性。你必须做这项工作超出视野,创建具体的行动,使枯燥的计划。

*我以前定义的平台工程,但简单的描述是“所有的软件基础设施工程依赖。“你的操作系统、存储系统、分布式计算框架,和软件开发工具可能都属于这桶。需要澄清的是,然而,一切都在这篇文章中往往适用于任何团队,是纯粹的绿地以外的产品开发工作,特别是当他们做的工作有很多下游影响用户的系统。

喜欢这篇文章吗?你会喜欢我的书,经理的路径,可以在亚马逊和Safari在线!我也推荐这本书好的策略,糟糕的策略对于那些想要改善他们的战略技巧。

特别感谢评论者包括列夫,本,西尔维亚,胡安,扎克和CK

Baidu