【翻译】播客。苏珊娜-凯撒谈连接沃德利映射、领域驱动设计和团队拓扑之间的关系...

Charles Humble与来自德国汉堡的独立技术顾问Susanne Kaiser进行了交谈,她支持企业建立社会技术系统。他们探讨了她将Wardley Mapping与领域驱动设计和团队拓扑学的观点相结合的想法,以及这如何与围绕社会技术系统和优化快速流动的更广泛的想法相吻合。

订阅亚马逊音乐|苹果播客| 谷歌播客|Spotify

关于受访者

Susanne Kaiser是来自德国汉堡的独立技术顾问,支持企业建立社会技术系统。她热衷于将Wardley Mapping、Domain-Driven Design和Team Topologies联系起来,作为设计和建立适应性系统的整体方法,以实现快速的变化流。苏珊娜以前曾担任过创业公司的首席技术官,拥有计算机科学背景,自2002年以来在软件开发和软件架构方面有丰富经验。她是《领域驱动设计的自适应系统、Wardley映射和团队拓扑结构》一书的作者。流程的架构"(Addison-Wesley Signature Series (Vernon), 2022)。

资源提到了

Wardley Mapping,Simon Wardley的
领域驱动设计。Tackling Complexity in the Heart of Softwareby Eric Evans
Team Topologiesby Matthew Skelton and Manuel Pais
Implementing Domain-Driven Designand Domain-Driven Design Distilledboth by Vaughn Vernon
Strategic Monoliths and Microservicesby Vaughn Vernon and Tomasz Jaskula
Learning Domain-Driven Designby Vlad Khononov
Wardley Maps Community Hub(GitHub)
Domain-Driven Design Crew(GitHub)
Ben Mosior(网站)
Learn Wardley Mapping(网站)

Full transcript

Introductions

Charles Humble:

大家好,欢迎来到 "黑客机关 "的第二集,这是集装箱解决方案公司的WTF is Cloud Native团队的播客。通过这个播客,我们的目标是把一些最有经验的软件工程领导人聚集在一起,和他们谈谈他们的经验,包括建立和领导高绩效的软件工程团队等话题。我是Container Solutions的主编Charles Humble,在这一集里,我邀请了Susanne Kaiser。苏珊娜曾担任过创业公司的首席技术官,她有计算机科学的背景,在软件开发和软件架构方面的经验可以追溯到2002年左右。她现在作为一个独立的技术顾问工作,也许她最出名的工作是将Wardley Mapping、领域驱动设计和团队拓扑结构联系起来。而这将是今天节目的重点。苏珊娜,欢迎来到播客。

苏珊娜-凯泽:

非常感谢你邀请我。

你能不能先给我们介绍一下什么是Wardley Mapping,以及为什么我可能想使用它?

Charles Humble:

谢谢你。很高兴你能来参加这个节目。我们以前在WTF上谈过一点关于Wardley Mapping的内容,我将确保在节目说明中链接到相关文章。但你能不能先给我们介绍一下什么是Wardley Mapping,以及我为什么要使用它?

Susanne Kaiser:

是的,Wardley Mapping本身是一个战略框架,是由英国的研究人员Simon Wardley发明的。Wardley Mapping帮助设计和发展有效的商业战略,它是基于对形势的认识和战略周期的运动。根据西蒙-沃德利的说法,战略周期是对变化以及我们需要如何应对变化的一种表述。它由五个部分组成。目的,也就是我们业务的原因。景观,也就是组织运作和竞争的环境,用Wardley地图来显示。我马上会回到这个部分。然后是气候,这些是外部力量,是影响我们景观的外部规则,我们无法控制。然后是理论,这些是每个行业都可以应用的普遍原则,无论其背景如何。

然后是

领导力,这些适合我们环境的战略决策,这就是我们塑造或影响景观本身的地方。

苏珊娜-凯撒:

所以一般来说,战略周期更多地反映了一种应对变化的时间概念。因此,我们越是了解我们的目的,越是了解我们的格局,并且能够预测变化,我们应用的理论原则越多,我们就可以更快地应对变化。无论是由影响我们景观的气候模式从外部引入的变化,还是当我们进入领导层和我们正在改变景观本身时从内部引入的变化。然后这就导致了竞争优势,是的,它使我们在市场上与竞争对手区分开来。所以这就像Wardley Mapping一样,一言以蔽之。

Charles Humble:

这感觉有点类似于价值链图谱。

什么让Wardley Mapping与众不同?

Susanne Kaiser:

价值链图谱更像是试图找出为客户提供价值所需的东西,比如说。并试图找出沿途的瓶颈问题。因此,对于沃德利测绘本身来说,价值链本身也是沃德利测绘的一部分,但它更多的是关于我们的价值链是如何发展的。例如,当我们回到Wardley地图时,它代表了景观和组织的运作,它由代表价值链的Y轴和代表进化阶段的X轴组成,从左到右,从创世纪,有全新的东西,然后是定制构建,然后是产品和租赁,如现成的产品,开源软件解决方案,然后是Wardley地图最右边的商品和效用。所以你在这里做的是,首先,你试图推导出一个由用户组成的价值链,用户可以是你的客户,可以是股东,商业伙伴,内部用户,等等。

Susanne Kaiser:

然后,

他们有什么样的用户需求?所以他们想要解决什么样的问题。因此,这就是我们建立产品的主题领域,而为了满足用户的需求,需要哪些组件?它可以直接满足用户的需求,也可以通过促进价值链上的其他组件间接地满足用户的需求。因此,它们被绘制在我们沃德利地图的Y轴上。然后我们把这些组件沿着进化通道从左到右绘制出来,正如我所说的,比如从创世纪定制产品和租赁等等。所以我们使用的是当时的特征。因此,当一个组件通过演化阶段演化时,他们的特征也会发生变化。例如,在Genesis中,我们在左边处理不断变化的、罕见的、鲜为人知的组件,而当它通过进化阶段向右边发展时,它可以变得越来越工业化,然后我们在右边处理非常成熟的、稳定的、广为人知的组件。

Susanne Kaiser:

例如,如果我们绘制我们组织当前状态的景观,就是我们把组件和我们目前在我们组织中使用的进化阶段。这有助于我们识别不稳定性和相关风险。例如,组件在进化阶段上的分布,它们直观地显示了价值链的平衡和稳定程度。例如,如果你在成熟的标准化组件的基础上建立你的定制的易变服务,然后位于地图的右边,这就提供了稳定性。但如果你反其道而行之,所以如果你有稳定的服务,在价值链的右边,而它们是建立在不稳定的组件之上,然后主要是在创世和定制构建上,这使你的业务面临着不确定性、不稳定性、频繁变化和更高的失败可能性。

Susanne Kaiser:

所以有一件事你可以识别不稳定性和相关风险。然后,它还可以帮助你识别效率的差距。因此,例如,如果我们在组织中使用的组件的演变阶段与市场上的组件不同,这可能表明存在效率差距。因此,举例来说,在目前的状态下,如果我们使用的是定制的组件,但市场上的组件是作为商品提供的,我们就落后了,可能会遇到潜在的低效率。而差距越大,我们的组织效率就可能越低。因此,这也可以帮助你识别和评估你目前的不稳定和潜在风险或不稳定和潜在风险的情况。也可以识别你想避免和减少的效率差距,因为效率低下也会阻碍你的创新能力或任何快速变化的流动,也会阻碍你的绩效交付。

Charles Humble:

我认为这是一个迷人的想法,Wardley Mapping。我非常喜欢的一点是,它把那些战略对话非个人化了,如果有人对某种方法特别投入,有时会变得相当激烈,而且会开始感觉到相当个人化。我确实参加过高管团队的会议,在那里事情变得相当激烈。绘制地图的有趣之处在于,它在某种程度上使这个过程变得相当协作。

Susanne Kaiser:

没错。

Charles Humble:

我发现地图本身其实是很容易被扔掉的,但是在一起工作绘制地图,并对你所在的位置有一个共同的理解,这有很大的价值。这是一个非常强大的想法,我认为。

Susanne Kaiser:

另外,我想,对话是你从中得到的最大价值,并产生共同的理解。所以,比如说,如果你分享地图,而你没有参与对话来创造它,有时你会看它。是的。这听起来很有趣,但它是什么意思?

查尔斯-汉博:

对。是的,没错。

Susanne Kaiser:

所以有时它更多的是围绕着对话,并产生一个共同的理解。我想,这是创建Wardley地图的最大好处之一。

对你来说,Wardley地图和领域驱动设计之间有什么联系?

Charles Humble:

Simon Wardley自己说,"所有的模型都是错的,但有些是有用的"。创建地图的价值在很大程度上在于对你的企业所处的环境达成共识。我认为,这就是价值所在。那么,对你来说,沃德利地图和领域驱动设计之间有什么联系呢?

苏珊娜-凯撒:

哦,它们在多个方面都适合在一起。所以,一个较小的部分是,用户和你的价值链的Wardley地图的用户需求代表了你的地图的锚,所有的后续组件都与之有关。在领域驱动设计的背景下,它们也代表着问题领域。另一个方面是,你可以使用用户需求来划分它,或者你可以处理问题域并将其划分为更小的部分,即子域。所以并不是每个子域对业务的价值都比其他的子域相同。因此,有不同类型的子域,如核心、支持和通用。而核心域是软件的这一部分,是提供竞争优势的问题域的一部分。这是你在战略上投资最多的系统部分。然后是支持核心领域的辅助子域,是组织成功的必要条件。但在那里你更应该注意购买现成的产品或使用开源软件。

Charles Humble:

然后是

通用子域?

Susanne Kaiser:

那是许多商业系统都有的,例如,认证和支付。所以它们不是核心,它们没有提供竞争优势,但企业没有它们就无法工作。而你可以使用领域驱动设计的这些子域类型,核心、支持和通用,并将它们映射到进化阶段。所以这是另一个部分。因此,例如,我们必须创新的战略投资最多的核心领域,他们通常进入定制的创世纪的演进阶段,因为这是我们必须战略投资最多的领域。配套的子域并不提供竞争优势,而且市场上已经有了解决方案。然后进入产品和租赁的演进阶段,如果这是不可能的,那么我们就得定制,然后进入定制构建。但是我们不应该在系统的这一部分进行大量的投资。

Susanne Kaiser:

然后是

通用的子域,存在着,通常市场上已经有解决方案。因此,购买现成的产品或使用开放源码软件或外包给商品供应商,应该适用于通用子域。因此,这就是子域类型与演化阶段的映射,它们在这里非常合适。还有一个方面,当我之前谈到不稳定性的时候,也是上下文的映射,关于领域驱动设计的有界上下文之间的依赖关系。所以我首先谈到了子域,把一个问题域分割成更小的部分。子域,我们在领域驱动设计的战略设计的问题空间中,发现了核心领域。

然后,在

有边界的上下文中,我们切换到领域驱动设计的解决方案空间,在那里,我们实际上是在做高水平的软件设计决策,然后在那里解决问题。

Susanne Kaiser:

所以,在理想情况下,一个子域可以被映射到一个有边界的上下文中,有边界的上下文本身形成一个围绕领域模型的边界,并形成一个掌握目的和自主权的单位。而在这些有界的上下文之间,我们有依赖关系,这些在领域驱动设计中是带有上下文地图模式的,解决了它们之间的变化耦合。那么,这之间的依赖关系是什么级别的。所以它们可以是松耦合的,也可以是紧耦合的,它与模型传播或团队关系有关,比如说。而当我们有上下文地图模式时。所以当我们在做上下文地图和战略领域驱动设计的时候,我们可以看到当我们把这个放在有界的上下文和它们之间的上下文地图模式的Wardley地图上,那么我们就可以直观地看到有问题的依赖关系,有可能导致紧耦合的变化。

Charles Humble:

你能举个例子说明你的意思吗?

Susanne Kaiser:

如果你在Genesis的自定义构建中拥有一个有边界的上下文,并且你正在与Genesis和自定义构建中的有边界的上下文进行整合,那么你正在与,正如我之前所说,与一个不稳定的上游有边界的上下文进行整合,这需要大量的关注。如果你在它们之间有上下文地图模式,这本身已经导致了紧密的变化耦合。那么你就处于这样一种情况:你必须保持你的下游受限上下文,它可能在沃德利地图的右边。你需要保持这个稳定,而这有可能会把你的注意力从建立客户价值拖到不断处理风险资源上。还有一些其他的情境图模式,比如它们是如何被放置在沃德利地图上的,哪些受约束的情境是以何种方式相互作用的,那么你能不能对潜在的有问题的依赖关系给出一个指示呢?

Charles Humble:

然后和战略设计是否也有联系?

Susanne Kaiser:

战略设计也有助于应用沃德利地图的理论原则。所以,当我们在应用战略设计的时候,我们已经在应用Wardley Mapping的理论原则了,这是战略周期的一部分。例如,在领域驱动的设计中心,领域专家和开发团队之间的紧密合作,也支持对商业领域的分析和挑战假设。这是Wardley Mapping的理论原则。通过合作,我们获得了领域知识,这让我们了解了业务领域的细节和另一个理论原则等等。所以有很多理论原则是领域驱动设计帮助我们自动应用的。所以这也是领域驱动设计和Wardley Mapping总体上帮助我们很好地结合在一起的另一部分。

在构建自适应系统时,你喜欢从团队拓扑中引入什么观点?

Charles Humble:

然后我在节目的顶部提到,你也参考了团队拓扑。实际上,我们将在下个月邀请该书的合著者之一Manuel Pais参加节目,一切顺利的话。我希望我不是在试探命运。但是,在建立适应性系统时,你喜欢从团队拓扑结构中引入什么观点?

Susanne Kaiser:

是的,所以我喜欢用Wardley地图作为讨论的基础,反映你的当前状态,但也设计你的未来状态。这就是我喜欢从团队拓扑学的角度出发,把你的Wardley地图放在手边。然后,它可以帮助你确定,例如,适合我们的变化流,因为为了优化更快的变化,我们需要知道最重要的变化发生在哪里,有变化流。所以有不同类型的流。我们有任务、角色、活动、客户群、地理相关的流的类型,这些流可以因组织而异。当你有一个Wardley地图时,用户的需求,例如,他们是以活动为导向的变化流的良好候选人。因此,当我们试图优化快速变化流时,我们可以使用用户需求来识别这些变化流。

Susanne Kaiser:

然后,

当我们进一步深入Wardley地图的价值链时,我喜欢引入的下一个领域,例如,当我们来到这方面的边界环境时,谈论团队拓扑结构找到合适的团队边界,然后我们可以使用边界环境本身。另外,非常好地定义了所有权的边界,而且它们作为合适的团队边界,比如说流对齐的团队的边界。因此,这是我喜欢引入的另一个方面。还有一件事是关于优化团队的认知负荷。这是团队拓扑的另一个方面,因为如果团队的认知负荷在很大程度上被超过,那么就会导致交付瓶颈,导致质量问题等等。因此,我们需要优化团队的认知负荷。

例如,

通过限制组件的数量、大小、类型和复杂程度,或限定的环境,一个团队可以处理。

Susanne Kaiser:

我喜欢把这个放在那个方面,当我谈到优化团队认知负荷时,我们也可以再次使用Wardley Map作为基础,得出一个启发式的方法。所以,比如说,如果一个团队拥有受限的环境或一般的组件,位于我们Wardley地图的左边部分,他们面临着频繁的变化,行动的路径不明确,有不确定性,有高度的不确定性。因此,对于位于Wardley地图左边的部分,团队认知负荷往往会更高。而当你在Wardley地图的右边有组件时,你就会遇到最成熟、最稳定、最明确的行动路径的组件,那么潜在的团队认知负荷就会降低。因此,这意味着一个单一的团队可以拥有更多或更大的约束性上下文的组件,这些组件驻留在产品和租赁和商品中,而不是在创世纪和定制构建中。因此,这是我喜欢引入的一件事,将其与Wardley Map结合起来。

Susanne Kaiser:

另一件事是创建明确的所有权边界,以优化团队认知负荷,这与Wardley Map本身无关,但一个边界环境应该只由一个团队拥有。然而,一个团队可以拥有多个界限的上下文。所以这些都是我想从团队拓扑结构中引入的一些观点。然后,还要确定合适的服务,以支持可靠的变化流。在这里,我们来到了基础设施和平台相关的组件,这些组件通常处于我们价值链的低端,位于我们Wardley地图的右侧,在这里我们可以建立一个拥有这些组件的平台团队,并提供一个作为服务的平台,然后Stream-aligned团队可以轻松地消费。因此,我们可以将很多方面与Wardley Map结合起来,以建立一个适应性强的系统,并对快速变化的流程进行优化。

团队拓扑结构、领域驱动设计和Wardley Map的组合如何与围绕社会技术系统和优化快速流程的更广泛的想法结合起来?

Charles Humble:

如果可以的话,我想进一步解读一下。如果我们提高一个层次,团队拓扑结构、领域驱动设计和Wardley Mapping的组合如何与围绕社会技术系统和优化快速流动的更广泛的想法相适应?

Susanne Kaiser:

所以一般来说,单独采取的观点已经涵盖了一些社会技术和快速流动方面。例如,Wardley Mapping与理论原则,考虑到小团队、小合同、优化流程和领域驱动设计与有边界的背景及其所有权边界,或解决变化耦合的背景图等等。但在我看来,这三种观点的结合,为设计、建立和发展适应性社会技术系统提供了一个强大的工具集,以实现快速的变化流,因为在我看来,它们是相互补充和相互支持的。这也像是回到了系统思维,一个系统不仅仅是其各个部分的总和。它是它们相互作用的产物。这有助于我们在建立系统时,我们面临着建立正确的东西和建立正确的东西。

Susanne Kaiser:

这三个观点的结合帮助我们反映或考虑我们的系统作为一个整体,以便建立正确的东西。所以我喜欢这个,我们有一个更广泛的视角,从商业战略、软件设计和团队组织,因为我想,它们不能孤立地进行。从我的角度来看,它们需要结合起来,以建立一个为快速变化而优化的系统。

你如何保持对总体目标的关注?

查尔斯-汉伯:

如果我们再往上走一步,我认为对任何从事软件工作的人来说都是非常具有挑战性的,那就是当你进入一个问题的实施细节时,你会失去对总体目标的关注。你有过这样的经历吗?如果是这样,你有什么具体的建议或方法来减轻这种情况吗?

苏珊娜-凯撒:

是的,这种感觉听起来很熟悉,你很容易失去视线。我喜欢做的是,在这种情况下,我尝试走出一点,我尝试从更广泛的角度看问题。例如,我看一下以前创建的Wardley地图,其中有用户和用户需求,以及与之相关的核心领域、支持性的、通用的子领域的上下文组件,将它们映射到演变阶段。我倾向于问自己,我目前试图解决的问题是否在某种意义上满足了用户的需求,也许不是直接的,而是间接的。而如果我现在所投入的开发努力,是否值得投资?所以,我是否在一个核心领域相关的边界背景或组件上工作,提供竞争优势,或者是的,还有就是我目前所做的这个投资,是否合理,或者我是否要重新发明轮子来代替?

苏珊娜-凯撒:

所以我想问自己的问题是,我是否在定制商品和浪费时间,因为市场上已经存在解决方案了。然后在这种情况下,正如我前面提到的,那么我的效率就会降低,因为市场上已经存在几种解决方案了。具体来说,当我的竞争对手在使用市场上已有的更有效的组件时。我是否定制了一些更有效的东西,我可以使用现成的或使用开源软件的,或使用云托管服务?因此,尝试通过查看Wardley地图,找出我目前试图解决什么样的问题。我是否要重新发明轮子,或者这种开发努力是否值得投资?

如果听众想把其中一些技术引入他们自己的组织,你会建议他们如何去做?

Charles Humble:

如果听众想把其中一些技术引入他们自己的组织,你会建议他们如何去做?

Susanne Kaiser:

首先,你不需要从一开始就一下子全部应用。我建议从目前对你最有用的部分开始。例如,你可以像团队拓扑建议的那样,先从你的团队开始,分析他们在团队认知负荷方面的现状和遇到的交付瓶颈,并尝试先从团队角度解决他们的问题。你也可以创建一个Wardley地图,代表你目前的运营和竞争的格局。你可以创建一个代表你当前状态的Wardley Map,并将这个Wardley Map作为未来讨论的基础。所以,正如我所说的,你可以看到是否是一个不稳定的Wardley Map反映了你目前的情况,或者你是否面临着低效率,用Wardley Map可视化,并尝试解决这种情况。

Susanne Kaiser:

然后你也可以解决,正如我所说的,作为下一步,接下来的问题域,正如我所说的,用户和用户需求是代表来自领域驱动设计的问题域。然后你可以把你的问题域提炼成更小的部分的子域,然后哪些部分会给你带来更多的竞争优势。因此,在发现你的核心领域、支持、通用子领域方面,为了给你一个指示,在战略上将大部分的开发努力投入到哪里。

然后,

正如我所说的,子域最好能包含一个或在某些情况下甚至更多的边界环境。

Susanne Kaiser:

然后,这可能是下一步,设计边界环境,然后它们作为合适的团队边界,用于流式结盟的团队。然后,就像我说的,优化团队认知负荷,比如团队拥有什么样的边界上下文?

Susanne Kaiser:

然后也要确定接下来的服务,支持可靠的变化流向平台团队本身。所以有不同的方面,你不必做像自上而下的方法。当我把它介绍给其他人时,我把它作为一个自上而下的方法来介绍,但它不一定是说你需要教条地遵循这个过程。你可以从对你更有意义的地方开始。你可以先从一个平台团队开始。例如,如果你试图缩小效率差距,当你从前提基础设施转移到云迁移时,有时会出现这种情况,那么这就是你解决那些与你的基础设施有关的组件的主题领域,你首先形成,例如,一个平台团队,然后做,例如,遵循重新平台化的云迁移战略。

Susanne Kaiser:

然后在此基础上,你可以,比如说,如果你正在处理一个由单体大泥球组成的、模型混乱、边界模糊的遗留系统,你可以尝试重新构建一个有边界的环境,把它分解成更小的模块化组件,在那里你形成你的Stream-aligned团队,比如说。而有了Stream-aligned团队,如果你再比如说,遵循重构的云迁移策略。在那里,你可以与平台团队密切协作,发现新的技术堆栈,如果你不熟悉那个。而后来,可以从密切的合作到有限的合作,t然后X-as-a-服务,平台团队可以提供X-as-a-服务,然后消费未来的云服务本身。因此,目前有一些可能性,有一些机会来优化你的系统的流程。

我知道你正在为Addison-Wesley写一本关于这个主题的书。

查尔斯-汉伯:

那真是太好了。谢谢你。现在,我知道你正在为Addison-Wesley写一本关于这个主题的书。进展如何?我们什么时候能看到这本书?

苏珊娜-凯泽:

哦。是的,如何用好听的话来描述目前的状况。

查尔斯-汉伯:

那就进展顺利!

苏珊娜-凯泽:

也许这反映了目前的状况。首先,我很佩服我的编辑的耐心。它所花的时间远远超过我原来的预期,但它应该在年底出版。所以,让我们交叉手指。我还在这个过程中。所以这就是目前的状况。你的第二个问题是?

查尔斯-汉伯:

实际上你已经回答了这个问题。我们什么时候可以期待这本书出来?我想,希望是在今年年底。

苏珊娜-凯泽:

希望是的。

查尔斯-汉伯:

是的。 这就是那些事情之一,不是吗?当你开始写一本书的时候,你会想,哦,它只是像一个很长的系列文章或什么。它能有多难?答案是非常难的。

苏珊娜-凯撒:

是的。 所以我的想法在我的大脑中,所以它们是如此的模糊不清。所以这是一个像整体的大泥球。而我必须把它分解成其他人可以理解的句子。所以这个过程对我来说现在是如此艰难。而且说起来比实际做起来容易。

查尔斯-汉博:

我认为关于写作的过程,或把一个会议演讲放在一起,或写一篇博客文章或任何东西,这是一个非常有趣的事情。但这个过程是试图把你脑子里的想法提炼成对其他人有意义的东西。

Susanne Kaiser:

是的。

Charles Humble:

这是一个真正的考验,我想,我对这个主题到底了解多少。

Susanne Kaiser:

没错。是的,在脑海中有自己的想法和真正把它写下来是完全不同的,正如你已经说过的,其他人可以理解它,可以遵循它。我想,这就是当你试图把三个复杂的内容放在一起时,你想在Wardley Mapping、Domain-driven design和Team Topologies这几本很棒的书的基础上,但你不想重写这些内容。你想把它们之间的点连接起来,以及你在详细描述概念和基本原理方面走多远。然后还应用和连接它们之间的点,然后还,带来一个例子,使它对读者来说是有形的,这样他们就可以看到如何结合这个观点和连接这些点的好处,这样你就有了一个故事情节。因此,有很多信息,"哦,不,我需要带入那个。

苏珊娜-凯撒:

所以有很多领域,我想,在最后,我没有忘记,但我想带进去,但我不能。而且我猜,它需要的是,甚至在我发表之后,"不,该死的。我应该把这个也写出来。"我猜,事后也有很多遗憾。那么,让我们看看,

你会向那些也许想了解我们今天谈论的一些主题的读者推荐什么资源?

查尔斯-汉伯:

我认为这绝对是不可避免的。我的意思是,我认为你所做的任何长篇创作,我在想我的音乐,每当你推出一张专辑,当你后来听它的时候,你会想,"哦,为什么我把那个踢鼓混得太响?"或者,"我在那里想什么。"实际上,小说家尼尔-盖曼(Neil Gaiman)对小说的定义是,它是一篇长的散文写作,其中有一些错误。因此,我认为,你肯定不是唯一有这种感觉的人。但我非常期待在这本书出版时阅读它。同时,你会向那些也许想了解我们今天谈论的一些话题的读者推荐什么资源?

苏珊娜-凯泽:

当然,他们是三个视角的核心书籍。因此,西蒙-沃德利的《沃德利地图》一书,是可以得到的,它是免费的。他在知识共享许可下出版,所以你可以,我想,以各种格式下载。还有Eric Evans的《领域驱动的设计》,以及Matthew Skelton和Manuel Pais的《团队拓扑结构》。还有其他的资源,例如,Vaughn Vernon创造了一系列与领域驱动设计相关的书籍,包括实施领域驱动设计和领域驱动设计的提炼。还有,比如他的新书《战略单体和微服务》。还有,Vladik Khononov,他也为那些开始学习领域驱动设计的人写了一本很棒的书。当然,他们有很多伟大的社区驱动的GitHub仓库,例如,Wardley Mapping,这是一个GitHub仓库Wardley Maps社区。对于领域驱动设计,GitHub上也有一个很好的repo,叫做DDD Crew。所以,我们也许可以在稍后的节目笔记中加入这个。所以有很多资源。

Susanne Kaiser:

当然,例如Ben Mosior,他在Wardley Mapping方面非常活跃,而且他还提供了一些培训或教程,他把这些内容编在一起。还有其他网站也对他的主题有帮助,learningwardleymapping.com。因此,有很多资源可以用来深入研究这个话题。

Charles Humble:

这真是太好了。我将确保在本期《黑客帝国》播客的节目说明中包括所有这些链接,这些链接来自于集装箱解决方案公司的WTF is Cloud Native团队。苏珊娜,非常感谢你做这个。与你交谈总是很愉快。我总是觉得我学到了很多东西。你是一个杰出的思想家,这对我来说绝对是一种乐趣。所以非常感谢你做这个。

苏珊娜-凯泽:

非常感谢你邀请我。我非常喜欢它。

猜你喜欢

转载自blog.csdn.net/community_717/article/details/128587250