现代软件播客标志康威定律。敏捷和DevOps之间的关系。自治与对齐。控制反转。“松散敏捷”的虚假承诺。评估团队健康状况的困难。变更管理的关键角色。为什么你不想买“一盒敏捷”?物理架构对团队生产力的惊人影响。花的重要性。

这些只是New Relic开发者所宣扬的一些重要主题Tori Wieldt.我和布伦特米勒New Relic的波特兰工程总部的首席工程师和建筑师,在最新一期的New Relic Modern Software播客中。

你可以听下面的插曲,得到所有的插曲自动订阅新Relic现代软件播客或者在下面阅读我们对谈话的完整成绩单,以获得清晰度:

New Relic是嵌入式播客中附带论坛的主持人。但是,所表达的内容和观点都是参与者的观点,并不一定反映新Relic的观点。通过主办播客,New Relic并不一定采用、保证、批准或认可其中引用的信息、观点或产品。亚博最新版直播

弗雷德里克•保罗:布伦特,你能跟我们说说你在New Relic的角色吗你有什么背景,你是怎么加入我们的?

布伦特·米勒:我的背景有点不寻常。我不来自COMP SCI背景。我的培训实际上是植物进化生态学家。我在研究植物性爱的演变时获得了硕士学位。(鲜花很棒,它们非常重要,因为它们使我们的大部分食品。)

我现在在新遗物的角色是我是组织建筑师。当我加入公司时,我是一位UI工程师,多年来,随着我在工程方面变得更好,我最终成为一名建筑师,然后随着我们经历了两年前的大雷格尔呼吁项目高档我了解到,我对这种组织设计工作有一个真正的热情。所以大约九个月前我枢转成为作为一个组织建筑师的技术架构师。

弗雷德里克:组织架构师到底是什么?

布伦特:这是个好问题,我还在努力回答。如果你不熟悉的话,康威的法律指出,您所生产的软件将反映构建软件的组织内的通信模式。着名的例子是,如果您有四支团队构建编译器,则会使用四碳编译器。作为新遗物的建筑团队,我们拥有将技术责任分配给团队。由于康威的法律,如果我们预计要生产良好的建筑,我们必须拥有合适的所有权来生产适当的架构。所以我所做的工作是人类,组织和代码之间的交叉点。它在所有三个中都在玩,所以我们可以优化结果。

弗雷德里克:我认为这是很有趣的,我们正面面对。大多数组织都这样做吗?

布伦特:我的经历是没有。我认为业界正在考虑这些问题,但很少有公司实际解决这个问题的公司正面,真正试图做点什么。

Fredric:带着这个想法,让我们开始今天节目的主题:规模化敏捷。这句话对你来说意味着什么?

布伦特:敏捷实际上是一个非常有趣的话题。关于它的含义有很多争论。人们谈论Scrum,他们谈论极限编程,他们谈论看板这些都是它的不同方面。对我来说,敏捷就是紧密的反馈循环和强烈的自决权。如果你能做到这两点,你就能在非常短的时间内做出很多决定。

如果您将其与我们习惯作为行业运送软件的方式对比 - 这是非常多的瀑布 - 项目需要两年时间才能完成。好吧,到两年来的时间,你是两年前设计的东西。它仍然是您今天在市场的正确解决方案吗?

Tori Wieldt:是永远吗?

布伦特:一个很棒的问题。在敏捷思维中,你要做的不是说“让我们发布两年内可以发布的产品”,而是说“两周”。两周内我们能发货什么?”

所以每两周你就有机会检查你的产品,看看它是否不错,看看你是否走在正确的方向上,并随时修改你的计划。通过做很多很多的小决定,你实际上减轻了大项目的风险,你可以每两周交付一些有用的东西。

这就是敏捷的是和在团队层面,这很容易看出它的工作原理。在组织层面,它实际上是一样的。它是关于学习心态,非常短的迭代,以及随时调整。

tori:另一个流行词是“DevOps”。请告诉我敏捷和DevOps之间的关系?你能只做其中一个而不做另一个吗?

布伦特:至少在我看来,它们实际上是非常正交的。它们是非常不同的东西,我认为如果你两样都做,你会得到最好的结果。

DevOps意味着打破软件开发团队和操作团队之间的传统壁垒——由开发软件的人来操作软件。这意味着,如果您正在编写处理高吞吐量事务的业务逻辑,您将使其变得高效,因为您不想在半夜被分页。在devops之前的世界里,别人会被呼到,所以你不会在意。DevOps非常有帮助。它能生产出高质量的软件。

敏捷就是紧密的迭代和反馈循环,不管有没有DevOps,你都可以做到这一点。我认为他们是互补的,除了你可以没有另一个没有做一个。

弗雷德里克:你能说一点吗?我们的走向更敏捷的架构的经验?

布伦特:在我们有敏捷转型之前,我们正在做我所说的“松散敏捷”。我们的团队遵循了很多敏捷仪式:我们每天都有站立,我们会做演示,那种东西。但我们不一定有学习文化来支持真正的敏捷流量。

正如我们经历了转型的那样,我们必须在关闭这些反馈循环并真正产生所需的学习文化,以使我们需要敏捷过程所需的学习文化。有很多关于谁显示的问题,他们如何给出反馈?让我们真的拨打这一点,我们都必须在门口离开我们的EGO,所以我们可以参加反馈。在使转型发生的情况下,有很多个人和组织增长。

弗雷德里克:你提到了高档项目,那是我们几年前的一次大重组,我们重新组织了所有的团队,让我们的工程师,必需的我们的工程师选择他们将成为一部分的团队。你能说一下这一点,这是如何帮助我们追逐自主和同时对齐的双胞胎的,这似乎对我来说似乎是矛盾的?

布伦特:我们在组织设计中有很多想法我们把它放到了高档项目中,我们有几个目标要实现。

首先是控制的反转。在一个典型的组织中,高管做出决定,他们将这些决定传达给当地团队的层次结构。本地团队使用这些决策,然后建立代码。

在控制系统的反转中,当地团队正在做出决定。这是一个更好的解决方案,因为它们是问题空间的专家。他们最接近这个问题。在100,000英尺级别的行政人员对这些问题的了解没有同样的理解。随着控制的反演,地面上的人们做出决定,他们将决策传达给执行。

弗雷德里克:这是自主部分。对齐部分怎么样?

布伦特:在我们的转型前系统中,决策向下移动,信息向上移动。你必须把它翻转过来。因此,信息必须从高管那里传递下去。因此,高管现在的工作是为团队提供做出良好决策所需的环境。

例如,他们提供关于竞争格局的信息?我们的进入市场团队是如何将我们的软件带入这个领域的?他们将这些信息提供给当地的团队,这些团队可以做出重要的决定,因为他们拥有所需的所有信息。自治是当地的决策,但你必须围绕北极星制定路线。管理者的工作是为团队提供一个好的目标,让所有人都朝着这个目标努力——这就是我们平衡这两个方面的方法。

弗雷德里克:是否有任何课程对于通过我们经历的其他公司来说是有用的,即使他们没有规划一个项目高档式调整?

布伦特:我们在这里学到了一些东西。首先,你必须让每个人都接受改变之前的变化。他们必须在你开始讨论变化是什么之前就知道变化即将到来。变更管理是任何敏捷转换的核心,如果您没有正确地进行变更管理,您的转换将最终失败。

我们学到的另一个教训是,当你开始谈论像“团队自主权”这样的术语时,这是一个非常困难的术语,因为每个人对这个术语的含义都会有不同的看法。

弗雷德里克:一世我觉得这意味着让我想做什么就做什么,这可能会给整个组织埋下隐患。

布伦特:这就是我喜欢独立,而不是自主的。我使用的类比是生物学家,是看你身体中的所有细胞。我坐在这里与你交谈,我正在搬家。所有10万亿的细胞正在协同工作,以使这成为可能。

这只有在它们是自主的,但又尊重来自外部环境的信息流的情况下才有可能。你的神经系统正在向肌肉组织发出信号。肌肉细胞接受这些信号并对其进行处理。他们也在做自己的事情。每一个肌肉细胞都有自己的新陈代谢。当我们体内的细胞停止自主活动,开始独立活动时,这就是癌症。这就是癌症的本质——细胞不再受外界信号的影响,开始无限制地繁殖,你就得了肿瘤。

独立性和自主权是非常不同的。我们现在正在做很多工作来正规化界限的自治;团队控制与他们只需要做的事情,因为我们是更大的系统的一部分。

弗雷德里克:在这种情况下,你如何鼓励团队创造积极的变化,让他们自治但不一定是独立的?

布伦特:其中一些是过程。您知道,您创建了澄清人们可以制作的决策的流程。但我们真正发现的是我们的新内部产品组织手册。

tori:我偷看了。我印象深刻。这个很酷。

布伦特:它很大,但它描述了我们对组织应该如何运行的最佳思考。我们试图制定关于自治边界的隐性规则。

弗雷德里克:这是我们要在某个时候向全世界发布的东西吗?

布伦特:可能。如果你还记得阀手册“成了大事。这是我们可以使用我们的产品组织手册的事情。它代表了我们对软件产品如何发货的最佳思考。

弗雷德里克:实际上是进入我的下一个问题。我们如何识别我们在这件事上的表现如何?

布伦特:很多都反映在执行方面。在我们进行敏捷转变之前,我们正在筹备一年一度的大型用户会议,Futureestack.我们在制作一个有吸引力的演示版本时遇到了很大的困难。

我们的很多团队都被控结。他们有相互依赖性。我们有钻石的依赖问题落在我们的网站工程团队特别艰难的方式。没人能做成任何事。然后我们进行了敏捷转换,这花费了很多时间。然而,当它完成时,我们不仅为自己的停机时间付出了回报,而且还超越了我们对下一年的FutureStack的预期。

你可以在执行死刑的那一面看到。速度加快,你就会开始运送更多的东西。这确实是主要的度量标准:作为一个产品组织,我们通过交付软件来交付价值,所以要看看软件交付,看看你做得如何。

弗雷德里克:但这只是问题之一。你提到的另一个问题是团队健康。这是怎么起作用的?

布伦特:我们坚信,一个团队比一个人做得更好。现在我们来完成任务与工作而不是个人。

但是作为一个团队的努力,对吧?在早期的启动时,作为工程师,我会得到一个项目,我会从开始完成项目。这太棒了。不需要协调。需要很少需要的沟通,因为这一切都在我的脑海里。我可以做到这一切,对吗?

但如果你是在一个4、5、6、7、8、9、10人的小组里,那么游戏就完全不同了。你们必须建立彼此的信任。你们必须团结一致。建立一个稳固的团队对于我们系统的成功非常重要,因为团队是我们系统的基石。

我们看着我们的系统,意识到并不是我们所有的团队都做得这么好。因此,我们决定弄清楚发生了什么,并产生一种系统的方法来评估团队的健康状况,这样我们就可以知道应该把精力集中在哪里。

在进行系统评估之前,有些团队会被认为遇到了麻烦,或者实际上遇到了麻烦,然后举手说,“我需要帮助”——然后高管们就会一头扎进去帮忙。他们的意思。不过,在这种情况下,最终结果并不总是您想要的。所以我们试图建立指导方针,围绕一套标准建立团队健康。

弗雷德里克:这些标准是什么?仅仅是生产力的问题吗?有没有更柔和的测量?

布伦特:我们已经将这些指标分解为六个主要主题:健康管理,健康软件,健康的文化,重点关注价值,有效的交付和自决。

前三个主要是关于什么使一个健康的软件团队,它们几乎适用于任何地方。我们有一种包容的文化,每个人都可以参加会议,诸如此类。健康的软件是,你是否有太多的页面,你的东西是否可靠,你是否有过期的安全漏洞?诸如此类的事情。

第二三点——有效交付、关注价值和自我决定——是关于我们非常特殊的组织设计的。你的团队在做产品管理决策时是否关注业务价值?这就是第一类。

第二个,有效交付,是您是否有良好的软件开发实践,以便您可以定期和频繁地交付高质量的软件?第三个方面,自我决定,就是你是否有足够的知识来帮助你的团队做出好的商业决策?

我们通过在REORG期间将产品管理人员置于团队中的产品管理人员来实现了这一目标,但只需在团队中拥有产品经理并不意味着您实际上是制定自己的决定。我们真的试图评估它是否正常工作。

弗雷德里克:既然我们是新遗迹,我们不得不问,在这个过程中数据和监控的作用是什么?我们如何跟踪我们做得如何?

布伦特:以我的科学背景,我喜欢所有的数据。我们生成了来自我们所有团队的数据——一些是定量的,一些是定性的,并以匿名的方式汇总这些数据,这样我们就能够看到我们整个系统的全貌。这真是太棒了,因为当我把这些数据展示给我们的组织领导时,他们看了之后说,“哦,我知道问题在哪里。”以下是我们最想做的三件事。”我们能够通过这种方式推动系统发生积极的变化。我说的是“积极的改变”,但我们还不知道这种改变是不是好的,因为我们只是在执行。但我们能够从整体上理解我们组织的形态。

我们能够驱动积极变化的第二种方式是评估,这是与团队进行非常详细的讨论,以促进每个团队的自我评估。讨论结束后,我们要求每个小组为自己制定一份健康计划。所以我们问他们:“你的优势在哪里?”你的缺点是什么?你在哪里需要帮助?在接下来的六个月里,你打算怎么做才能让你的团队更健康?有哪些事情是你完全可以控制的?”

在要求团队做到这一点后,每个团队都是为自己推动的变化。在组织层面,我们正在驾驶变化进入系统。它实际上很大。这就是为什么我们只每六个月这样做一次,因为如果我们往往比那更常见,那将是太多的。

弗雷德里克:所以这不是一个常数,而是一个快照?

布伦特:现在,是的。我在我的脑海里,我们可以在那里每周或两两个人以非常轻便的方式检查团队的脉搏。你想做的一件事与他的团队健康评估是理解的之前一支队伍一旦崩溃就会走向崩溃。如果你每六个月才看一次,你会错过大部分。恭喜,我们错过了,对吧?(插头New Relic的代理,高速采样很重要!)

tori:在我上次访问到波特兰,我在给客户提供办公室旅游时签名,你谈到了如何改变办公室的物理对齐来帮助团队。你会谈谈这一点吗?

布伦特:项目前期,重点放在个人身上。每个人都有各自的工作任务,我们通常有这种开放的座位安排,随处可见。座位安排太糟糕了。因为疾病会传播,所以会导致缺勤。由于声干扰,很难集中注意力。

正如我们专注于团队并开始构建新的空间,我们想,“让我们实际上建立团队空间。让我们建立我们的空间,帮助我们的团队更成功。“因此,我们开始将队伍建设到波特兰的空间 - 有一个带有门的房间关闭。这很重要,因为它保持噪音。它为团队提供了一个墙壁的空间,即永久,所以他们可以把东西放在墙上。如果您的团队有工作协议,您可以将它们放在墙上。如果你有一个大目标,你可以驾驶,你可以把它放在墙上。

您可以创建一个丰富的信息。所有客房均拥有两台电视显示器,可以挂钩到您的监控软件,以便您可以看到您的新遗物仪表板。你在房间里有白板。你真的不需要留下你的房间。如果您有一个团队会议,每个人都刚转过身来,面向房间的中心,他们有团队会议。

我们还把团队房间和一个小房间结合起来。会议室有一个完整的视频会议的AV设备,可以容纳大约一半的团队成员。如果你要和你的经理一对一,你只要去你的会议室。你需要和其中一个工程师配对,你不想打扰你空间里的其他人,就进去吧。如果你的团队这样做了暴徒编程,你只需要使用主空间。我们正在努力创造一种环境,让这些团队可以非常独立,并拥有一个真正支持他们所能做的最好工作的环境,这就是促进合作和沟通。

tori:哇,那很酷。

弗雷德里克:是否有任何其他结论,我们达到了这将有意义地分享给我们的听众?

布伦特:敏捷很难。您的敏捷转换永远不会完成。这就像安全;你没有检查软件上的一个盒子并说:“我的软件现在安全。”

这是一个持续的过程,当你采用敏捷心态时,它是关于连续学习和快速反馈循环。您的系统将更改更多,而不是少。人们必须为此做好准备。

弗雷德里克:你是说我不能订购一盒敏捷吗?

布伦特:可以订购一盒敏捷!有许多供应商会为您做到这一点。但是一盒敏捷永远不会非常适合你,因为它不会考虑到你的特殊情况,你的文化,你的人民。一位非常好的敏捷顾问 - 有很多人在那里 - 将来到你和你开发适合你的敏捷盒。那么你可以有你定制的盒子。

如果你喜欢你听到的,一定要订阅New Relic Modern Software播客iTunesSoundCloud., 或者缝纫机

注意:现代软件播客的介绍音乐是由此提供的Audionautix

fredric@newrelic.com'

Fredric Paul(又名Freditor)是New Relic的总编辑。他是一位屡获殊荣的作家、编辑和内容战略家,曾在ReadWrite、AllBusiness.com、InformationWeek、CNET、Electronic Entertainment、PC World和PC|Computing担任高级编辑职务。他的文章发表在《麻省理工技术评论》、《Omni》、《Conde Nast Traveler》和《新闻周刊》等杂志上。查看贴子

有兴趣为New Relic博客写作吗?亚搏体育登入网送我们一个球场!!