我的演讲视频

你在这个网站上找到的大部分内容都是写作,但我知道很多人喜欢视频体验。我还没有从事视频制作,这是一项困难的工作,我觉得不值得做。但我确实会做演讲,而且这些演讲现在经常被拍下来。所以我把这一页放在一起,把我参与的所有演讲和其他视频材料放在一起。

我重复演讲,所以几个演讲有多个视频版本可供选择。我还在这个页面上放了一些有用的链接,以帮助你比演讲本身更深入地探索。


敏捷软件的艺术

“这个房间里有多少人参与过在项目过程中需求发生重大变化的软件项目?”

敏捷本质与流利

敏捷软件开发的基本要素,以及在学习过程中如何获得流畅性

细节

自从我们撰写敏捷软件开发宣言以来,已经有十多年的时间了,敏捷的迷因比我们所期望的更成功。但就像任何成功一样,语义扩散也有其常见的危险。我试图通过描述敏捷软件开发的本质来对抗这种疾病:更喜欢适应性规划而不是预测性规划,更喜欢人而不是过程。

然后我描述敏捷流畅模型,我发现它是思考敏捷团队如何变得熟练的有效方法,以及当你成为敏捷技术的熟练用户时,你通常要经历的步骤。

进一步的阅读

xConf - 2014

英国曼彻斯特

YouTube - 25分钟

goto - 2013

阿姆斯特丹

YouTube - 25分钟(✂)

XConf - 2019

曼谷

YouTube - 24分钟(✂)

为什么敏捷软件有效

为什么敏捷方法如此有效?

与尼尔·福特

细节

Neal Ford和我在巴黎USI(2010)上做了一次演讲,讨论了敏捷工作的原因(而不是如何工作)。本文探讨了使敏捷有效的一些核心力量,而不是研究技术。我们特别关注交流和反馈的作用,以及它们在敏捷环境中是如何相互作用的。

遗憾的是,视频似乎被截短了,在谈话中被切断了。我还不知道怎么把完整的视频发布出来。

USI - 2010

巴黎

YouTube - 43分钟

敏捷宣言:10年后

细节

我做这个演讲是在我们写了敏捷宣言.我列出了我们写宣言的历史背景,解释了为什么语义扩散我们的经验是其成功的必然结果,认为那些说他们不关心敏捷的人通常是错误的,并强调了我们在敏捷思维中看到的一些有趣的新活动的两个领域。

进一步的阅读

敏捷连接- 2011

拉斯维加斯

YouTube - 27分钟(✂)

重新审视敏捷宣言

我们应该扼杀敏捷软件开发吗?

与Dave Thomas, Jez Humble, Katherine Kirk和Tatiana Badiceanu

细节

2014年,“务实”的Dave Thomas对敏捷软件世界的现状感到恼火,他说敏捷已经死了.奥尔胡斯的goto会议的组织者,他一直积极探索者敏捷的风格感到这是一个好机会让他和自己一起,两个作者的宣言,与一些人一直在接收端——使用和扩展敏捷方法。

进一步的阅读

goto - 2014

奥尔胡斯

YouTube - 105分钟

张开大口的末日决口"

软件开发中最重要的因素是用户和开发人员之间的交流

和丹尼尔Terhorst-North

细节

这是我和同事在QCon 2007上做的一个主题演讲丹尼尔Terhorst-North.我们都认为开发人员和他们的客户/用户之间的差距是软件开发中最大的问题。(我们将其称为鸿沟,但这个词已经被滥用了。)现在我们来谈谈这个差距,为什么它很重要,以及我们需要做什么来跨越它。特别是,我们认为中间业务分析人员的传统角色充当渡船,而我们真正需要的是能够在开发人员和他们的客户之间直接联系的桥梁(分析人员可以构建和维护该桥梁)。这是我最喜欢的联合主题之一,因为我认为这个主题很重要,而且丹是如此令人兴奋的联合演讲者。

QCon - 2007

伦敦

infoQ - 56分钟

丹尼尔·特霍斯特·诺斯(Daniel Terhorst-North)帮助我解释了为什么桥梁比船夫更好


软件架构

与Birgitta Böckeler在工艺会议上发表

建筑是重要的东西,不管它是什么。

自从敏捷方法出现以来,关于软件架构在敏捷项目中应该扮演什么角色(如果有的话)一直存在着深刻的争论。这在很大程度上取决于您认为架构应该是什么。

使建筑问题

什么是架构,为什么它如此重要

细节

我被要求在OSCON做一个14分钟的主题演讲来解释为什么建筑是重要的。我觉得最好的办法是,在我最喜欢的拉尔夫·约翰逊的邮件列表文章的指导下,从探索这个令人尴尬的术语的含义开始。一旦我完成了这些,我就开始关注设计耐力假说的经济论证。bet188足球

进一步的阅读

OSCON - 2015

波特兰或

YouTube - 14分钟

培养体系结构

在一个自治团队的世界里,架构扮演着什么角色?我们如何让它发生?

与贝Bockeler

细节

我们越来越多地看到组织正在转向一个由自治团队所关注的世界业务功能.这有助于软件开发的响应性,并专注于业务结果。但是,这给架构留下了什么角色,无论是在团队中还是在更广泛的组织中?

我们认为架构仍然很重要,但必须基于指导而不是命令和控制。在团队内部和团队之间培养这种思维需要以下几个方面的工作:

  • 理解业务环境
  • 优先考虑跨功能需求
  • 开发一套架构原则
  • 使用鼓励对齐的实践,例如技术雷达
  • 将决策记录作为产品的一部分

工艺会议- 2019

布达佩斯

YouTube - 48分钟

软件设计经济学bet188足球

在设计上花费精力是为了提高生产力——快速交付特性bet188足球

细节

通常,人们认为软件设计需要更高的工艺和质量。bet188足球我的观点是,这种道德论证是错误的,相反,我们应该关注经济学。大多数软件工作都会随着时间的推移而变慢,因为糟糕的设计决策的权重会拖累我们的团队。bet188足球对设计的关注可以减少甚至扭bet188足球转这种情况。

我发现技术债务的隐喻是思考糟糕设计后果的好方法——我们是支付利息还是偿还本金。bet188足球有些人认为技术债务不是草率设计的结果,但我指出,技术债务来自各种原因,即使是最好的团队也会产生一些。bet188足球

进一步的阅读

敏捷连接- 2011

拉斯维加斯

YouTube - 27分钟(✂)

思想工作事件- 2013

旧金山

YouTube - 22分钟(✂)

敏捷者和架构师:盟友而不是对手

架构师应该在敏捷项目中扮演一个重要的角色。

与丽贝卡·帕森斯

细节

在2008年旧金山QCon大会上,Rebecca Parsons和我做了一个关于敏捷方法如何与企业架构团队合作的演讲。目前,敏捷项目团队和架构团队之间存在很多不信任和冲突。我们将深入探究为什么会这样,并探索这些团体可以合作的方式。

QCon - 2008

旧金山

infoQ - 44分钟

丽贝卡是Thoughtworks的首席技术官。我们合作过几次谈话,各种著作,还有Thoughtworks雷达,以及我公司的技术方向。

关于六角轨道的对话

六角架构,选择如何与数据库交互,以及如何使用像Ruby on Rails这样的框架进行设计bet188足球

与巴蒂尼Janakiraman

细节

这是我和Thoughtworks最资深的开发人员之一Badri Janakiraman关于Rails应用架构的讨论。我们首先讨论六角架构的概念和数据库在企业应用程序中的角色,尤其是Ruby on Rails应用程序。这些原则决定了是使用活动记录模式还是数据映射模式来组织与数据库的协作。然后,我们开始讨论如何使用像Rails这样的全栈应用程序框架,在将其作为一个平台或一套组件之间进行选择。

进一步的阅读

聚会- 2014

视频- 22和28分钟

灵活的架构

什么是体系结构,为什么它很重要,我们如何确保它发生?

Dishman与莫莉

细节

软件架构是一个定义不清的概念,从建筑行业借用了一个不恰当的术语。我们认为架构是对系统最重要属性的选择,重点是那些很难改变的东西。架构是可以随着系统的发展而发展的东西,但只有通过努力和关注来确保它得到照顾。我们可以通过结合最初的设想和持续的努力来做到这一点。

(达拉斯的视频包括了长达65分钟的问答。)

2015年O'Reilly软件架构大会

波士顿

YouTube - 38分钟

Thoughtworks Rethink - 2014

达拉斯

视频- 40分钟(✂)

持续交付

构建软件,这样您就可以随时部署当前的代码,降低风险并获得更快的反馈

细节

持续交付现在正成为有效软件交付组织的中心实践。这次演讲解释了它的工作原理、部署管道的角色、持续交付和持续部署之间的区别,以及一些重要的组成部分。它还涵盖了持续交付的三个主要好处:减少部署风险、可信的进度和用户反馈。

进一步的阅读

xConf - 2014

英国曼彻斯特

YouTube - 17分钟

架构没有建筑师

架构既重要,也不需要传统的软件架构师

在Erik Dornenburg

细节

软件架构师这个头衔有很多内涵,通常不是很好。开发人员会想到那些住在象牙塔里,已经忘记如何编写代码的人。项目经理认为技术人员在为模糊的技术目的服务的计划中追求完美。然而,对于任何软件项目的成功来说,架构都是至关重要的,特别是当前对微服务架构的兴趣。

我们认为,我们可以在没有传统建筑角色的情况下支持好的建筑,引入技术来获得好的设计和可持续的应用。bet188足球

CraftConf - 2016

布达佩斯

视频- 47分钟

Microservices和架构

Microservices

微服务成为2014年最热门的软件架构

细节

20分钟关于微服务的介绍性演讲。我将介绍微服务的定义,将其与更整体的方法进行比较,并概述在部署微服务应用程序之前必须正确处理的重要事项。

进一步的阅读

去柏林——2014年

柏林

YouTube - 26分钟

哎唷!晚上- 2016

悉尼

YouTube - 28分钟

xConf - 2014

英国曼彻斯特

YouTube - 24分钟

我的巴士穿上这个看起来大吗?

我们对SOA主流进行了无礼的批判,并提出了一种替代方法

与吉姆韦伯

细节

我的同事Jim Webber在企业中采用轻量级和面向业务的方法进行集成方面,已经建立了良好的声誉。他也是一个非常有活力和娱乐性的演讲者。所以在2008年的QCon上,我既紧张又兴奋地和他一起站在舞台上做主题演讲。他做了一场精彩有趣的演讲,并在其中穿插了一些严肃的花絮。然后我们就投入进去了——可能是在演讲前喝的酒的帮助下。我们将讨论企业集成的历史、自认为强大但实际上只是臃肿的系统的增长、敏捷思维的作用、web的影响(包括Jim关于web为什么被发明的独特理论),以及这是如何导致guerrilla SOA的。

QCon - 2008

伦敦

infoQ - 42分钟

基础设施代码

用可执行代码定义基础结构配置

细节

我成长于铁器时代,在那个时代,新服务器必须作为物理机器来订购,但现在我们生活在云时代,新服务器可以在几分钟内按需启动。为了利用云时代的速度和灵活性,我们必须重新思考如何管理基础设施。

基础架构代码保持基础架构定义为可执行形式,然后可以像任何其他代码工件一样进行管理,并保持在版本控制中。这提供了更准确的文档,以及基础设施,可以遵循与应用程序代码相同的构建和测试规程。这允许我们在保持更大程度的一致性的同时,扩展到更大的基础设施配置,减少变更的风险,并允许我们快速支持新的需求。

进一步的阅读

哎唷!晚上- 2016

悉尼

YouTube - 16分钟

事件驱动架构的多种含义

在我的职业生涯中,我遇到过被描述为“事件驱动”的架构。但我发现这个短语有很多不同的含义,我将其归结为四种模式的组合。

细节

2016年末,我参加了一个高级Thoughtworks开发者的架构峰会,探讨了我们在“事件驱动”的标题下所做的各种工作。我们证实了这个短语会导致完全不同的结果,经常被混淆在一起。相反,我们发现专注于四种模式很有帮助,我们可以更精确地定义它们:

  • 事件通知:通过事件进行通信的组件
  • 基于事件的状态传输:允许组件在不调用源的情况下访问数据。
  • 事件的采购:使用事件日志作为系统的主记录
  • CQRS:拥有一个独立的组件,用于从存储的任何读取器更新存储

进一步的阅读

goto - 2017

芝加哥

YouTube - 50分钟


TDD死了吗?

TDD死了吗?

David Heinemeier Hansson在2014年RailsConf上发表了一篇具有煽动性的演讲,并引发了一系列的Hangouts讨论,当时他、Kent Beck和我讨论了TDD在软件开发中的角色。

聚会- 2014

视频- 5个视频加起来3¼小时


数据的变化

演化的数据全景图

与丽贝卡·帕森斯

细节

我们在2012年伦敦QCon大会上的主题演讲着眼于数据在我们生活中扮演的角色(它所做的不仅仅是变得更大)。我们先来看看数据世界是如何变化的:它正在增长,变得更加分散和互联。接下来我们将讨论行业的反应:NoSQL的兴起、向服务集成的转变、事件源的出现、云计算的影响以及可视化发挥更大作用的新分析。我们来快速了解一下现在数据是如何被使用的,Rebecca特别强调了发展中国家的数据。最后,我们考虑所有这些对于我们作为软件专业人员的个人责任意味着什么。

进一步的阅读

QCon - 2012

伦敦

infoQ - 47分钟

事件的采购

以使用版本控制的方式对待所有数据

细节

事件溯源是一种处理更新的方法,它存储描述更新的事件,然后处理该事件以更改当前应用程序状态。事件日志然后成为信息的权威存储,允许您删除任何应用程序状态并从事件存储重新构建它们。本质上,这是版本控制系统所采用的方法。使用事件源可以带来审计、查询历史状态、调试和分发等方面的一些优势。

进一步的阅读

  • 文章我2005年的一篇文章更详细地解释了这项技术

哎唷!晚上- 2016

悉尼

YouTube - 28分钟

无模式

通常当人们说一个数据结构是无模式的时候,他们是错的。有一个基模,它只是一个隐式基模。

细节

现在有很多关于无模式数据库的讨论,但几乎总是有模式的。隐式模式看起来很灵活,但通常更糟糕,因为它使弄清楚如何使用数据变得更加困难。当人们想要无模式时,他们通常需要的是Variable State,这对于定制字段和非统一数据结构很有用。

进一步的阅读

goto - 2013

阿姆斯特丹

YouTube - 25分钟(✂)

思想工作事件- 2013

旧金山

YouTube - 26分钟(✂)

NoSQL概论

介绍NoSQL数据库,包括数据库的类型、一致性问题以及它们在数据存储中扮演的角色。

细节

“NoSQL”一词的起源是twitter聚会的一个话题标签,但它们变成了对关系数据库20年霸主地位的最严重挑战。由于名称的偶然性,它们涵盖的范围很广,但没有太多定义——但将它们中的许多组合在“”的名称下是很有用的Aggregate-Oriented数据库

NoSQL数据库带来了关于一致性的问题,但值得记住的是,即使使用ACID事务,我们仍然需要经常管理应用程序中的并发更新。许多NoSQL数据库支持分布式数据的能力使一致性进一步复杂化,导致CAP定理在一致性和可用性(以及响应时间)之间进行权衡。这种权衡基本上是一个业务决策,而不是一个技术决策。

NoSQL数据库是现代数据需求的重要选择,但不是唯一的选择。我们现在正处于通晓多种语言的持久性我们必须根据特定的数据访问需求选择我们的数据存储技术。

这是我最受欢迎的演讲(最初的goto Aarhus视频有超过75万的浏览量)。

进一步的阅读

goto - 2012

奥尔胡斯

YouTube - 54分钟

NoSQL Matters - 2013

科隆

YouTube - 63分钟

什么是NoSQL,它是数据库的未来吗?

NoSQL和一致性

NoSQL数据库如何改变我们对数据库一致性的看法?

细节

大多数NoSQL数据库迫使人们以不同于关系世界的方式思考一致性问题。面向聚合的数据库自然地消除了关系系统中对事务的一些需求。数据库事务并不能阻止我们处理并发更新中的问题。向数据添加分布增加了我们需要处理的一致性问题。CAP定理主要是关于分布式系统中一致性和可用性(实际上是延迟)之间的权衡——这种权衡主要是一个业务决策。

(这个演讲是我的一致性的一部分NoSQL对话介绍,并复制了那次演讲的材料。)

进一步的阅读

思想工作事件- 2013

旧金山

YouTube - 19分钟(✂)


软件开发应该对世界产生什么影响?

不只是代码猴子

我在敏捷软件开发中遇到的最大问题,以及随之而来的问题。

细节

这是一个微妙的谈话。通常我喜欢用标题和摘要来描述演讲内容,但这次演讲是一段旅程,我不想告诉你们我要去哪里,而是和我一起探索地面。我想说的是,它从我在采用敏捷软件开发时遇到的最大问题开始——用户、分析师和程序员之间交互的本质。它继续探索这些角色,提出了关于程序员与用户的关系,我们对他们的责任,最后是我认为程序员需要面对的两大挑战。

OOP - 2014

慕尼黑

YouTube - 24分钟

敏捷澳大利亚- 2014

墨尔本

infoQ - 31分钟

去柏林——2014年

柏林

YouTube - 22分钟

我们击败大规模监控的责任

软件开发者有义务保护互联网上的隐私

在Erik Dornenburg

细节

软件专业人士不能认为自己仅仅是听命于资助者的要求,我们要对我们的软件如何影响我们的用户和更广泛的社会负责。即使我们认为我们没有什么要隐藏的,我们的隐私是必要的,以保护那些防止腐败和允许社会进步的讨厌的人。电子邮件向在线服务的转移导致了令人担忧的电子邮件供应的集中,这使得对我们的一种重要通信形式进行大规模监控变得更容易。即使看似无害的拦截也可能导致严重的问题,因为关于我们的这些信息对企业很有价值,即使对政府无害。

我们需要通过扩大电子邮件加密的使用来减少这些问题,这样大规模监控的成本就会变得令人望而却步。这方面的挑战主要是用户体验和软件打包方面的挑战,而不需要对密码学有很好的理解。

(这个演讲的前12分钟是我的Not Just Code Monkeys演讲的压缩版本。)

进一步的阅读

goto - 2014

奥尔胡斯

YouTube - 52分钟

在过去的几年里,我和Erik Dörnenburg讨论了软件架构、TDD,以及现在我们开发人员在维护互联网隐私方面必须扮演的重要角色。

访谈:网络隐私

Erik Dörnenburg, Ola Bini和Tim Bray

goto - 2014

奥尔胡斯

YouTube - 28分钟


21世纪的软件设计bet188足球

我的大部分演讲都是会议主题,在过去的一二十年里,我一直在做主题演讲21世纪的软件开发.标题故意含糊不清,让我可以随心所欲地谈论任何我喜欢的话题。近年来,我组织了这些主题套房的会谈,在主题时段做两三次20分钟的演讲。由于这些演讲采用视频形式,我鼓励会议将视频分开,单独发布,而不是捆绑在整个套件中。在这一页中,我分别描述了这些简短的谈话。并不是所有的视频都将这些演讲片段分开,所以对于那些结合了它们的视频,我将它们链接到视频的中间,以尽可能接近实际演讲片段的开始(这些视频被标记为“✂”)

基础设施代码

用可执行代码定义基础结构配置

细节

我成长于铁器时代,在那个时代,新服务器必须作为物理机器来订购,但现在我们生活在云时代,新服务器可以在几分钟内按需启动。为了利用云时代的速度和灵活性,我们必须重新思考如何管理基础设施。

基础架构代码保持基础架构定义为可执行形式,然后可以像任何其他代码工件一样进行管理,并保持在版本控制中。这提供了更准确的文档,以及基础设施,可以遵循与应用程序代码相同的构建和测试规程。这允许我们在保持更大程度的一致性的同时,扩展到更大的基础设施配置,减少变更的风险,并允许我们快速支持新的需求。

进一步的阅读

哎唷!晚上- 2016

悉尼

YouTube - 16分钟

事件的采购

以使用版本控制的方式对待所有数据

细节

事件溯源是一种处理更新的方法,它存储描述更新的事件,然后处理该事件以更改当前应用程序状态。事件日志然后成为信息的权威存储,允许您删除任何应用程序状态并从事件存储重新构建它们。本质上,这是版本控制系统所采用的方法。使用事件源可以带来审计、查询历史状态、调试和分发等方面的一些优势。

进一步的阅读

  • 文章我2005年的一篇文章更详细地解释了这项技术

哎唷!晚上- 2016

悉尼

YouTube - 28分钟

非确定性和测试

非确定性测试是一种疾病,它会破坏测试中的所有价值。

细节

非确定性测试是指有时通过,有时失败的测试,而不需要对底层代码进行任何更改。如果不加以处理,它们将使您的整个测试套件毫无用处。首先你需要隔离它们,然后修复它们。常见的原因包括缺乏测试隔离、异步和与远程服务通信

进一步的阅读

敏捷连接- 2011

拉斯维加斯

YouTube - 27分钟(✂)

软件设计经济学bet188足球

在设计上花费精力是为了提高生产力——快速交付特性bet188足球

细节

通常,人们认为软件设计需要更高的工艺和质量。bet188足球我的观点是,这种道德论证是错误的,相反,我们应该关注经济学。大多数软件工作都会随着时间的推移而变慢,因为糟糕的设计决策的权重会拖累我们的团队。bet188足球对设计的关注可以减少甚至扭bet188足球转这种情况。

我发现技术债务的隐喻是思考糟糕设计后果的好方法——我们是支付利息还是偿还本金。bet188足球有些人认为技术债务不是草率设计的结果,但我指出,技术债务来自各种原因,即使是最好的团队也会产生一些。bet188足球

进一步的阅读

敏捷连接- 2011

拉斯维加斯

YouTube - 27分钟(✂)

思想工作事件- 2013

旧金山

YouTube - 22分钟(✂)

无模式

通常当人们说一个数据结构是无模式的时候,他们是错的。有一个基模,它只是一个隐式基模。

细节

现在有很多关于无模式数据库的讨论,但几乎总是有模式的。隐式模式看起来很灵活,但通常更糟糕,因为它使弄清楚如何使用数据变得更加困难。当人们想要无模式时,他们通常需要的是Variable State,这对于定制字段和非统一数据结构很有用。

进一步的阅读

goto - 2013

阿姆斯特丹

YouTube - 25分钟(✂)

思想工作事件- 2013

旧金山

YouTube - 26分钟(✂)

工作流程的重构188足球比分直播

细节

188足球比分直播重构是保持代码库健康运行的重要技术。通常它被描述为测试驱动开发,但是在开发人员的工作流程中有很多地方可以使用重构。188足球比分直播使用它尤其重要传统上,这样当问题变得明显时,就可以立即解决。常规重构的价值不在于对工艺的要求,而在于确188足球比分直播保有价值软件的未来流的业务原因。

进一步的阅读

OOP - 2014

慕尼黑

YouTube - 27分钟

敏捷澳大利亚- 2014

墨尔本

视频- 22分钟

NoSQL和一致性

NoSQL数据库如何改变我们对数据库一致性的看法?

细节

大多数NoSQL数据库迫使人们以不同于关系世界的方式思考一致性问题。面向聚合的数据库自然地消除了关系系统中对事务的一些需求。数据库事务并不能阻止我们处理并发更新中的问题。向数据添加分布增加了我们需要处理的一致性问题。CAP定理主要是关于分布式系统中一致性和可用性(实际上是延迟)之间的权衡——这种权衡主要是一个业务决策。

(这个演讲是我的一致性的一部分NoSQL对话介绍,并复制了那次演讲的材料。)

进一步的阅读

思想工作事件- 2013

旧金山

YouTube - 19分钟(✂)

Microservices

微服务成为2014年最热门的软件架构

细节

20分钟关于微服务的介绍性演讲。我将介绍微服务的定义,将其与更整体的方法进行比较,并概述在部署微服务应用程序之前必须正确处理的重要事项。

进一步的阅读

去柏林——2014年

柏林

YouTube - 26分钟

哎唷!晚上- 2016

悉尼

YouTube - 28分钟

xConf - 2014

英国曼彻斯特

YouTube - 24分钟

敏捷本质与流利

敏捷软件开发的基本要素,以及在学习过程中如何获得流畅性

细节

自从我们撰写敏捷软件开发宣言以来,已经有十多年的时间了,敏捷的迷因比我们所期望的更成功。但就像任何成功一样,语义扩散也有其常见的危险。我试图通过描述敏捷软件开发的本质来对抗这种疾病:更喜欢适应性规划而不是预测性规划,更喜欢人而不是过程。

然后我描述敏捷流畅模型,我发现它是思考敏捷团队如何变得熟练的有效方法,以及当你成为敏捷技术的熟练用户时,你通常要经历的步骤。

进一步的阅读

xConf - 2014

英国曼彻斯特

YouTube - 25分钟

goto - 2013

阿姆斯特丹

YouTube - 25分钟(✂)

XConf - 2019

曼谷

YouTube - 24分钟(✂)

持续交付

构建软件,这样您就可以随时部署当前的代码,降低风险并获得更快的反馈

细节

持续交付现在正成为有效软件交付组织的中心实践。这次演讲解释了它的工作原理、部署管道的角色、持续交付和持续部署之间的区别,以及一些重要的组成部分。它还涵盖了持续交付的三个主要好处:减少部署风险、可信的进度和用户反馈。

进一步的阅读

xConf - 2014

英国曼彻斯特

YouTube - 17分钟

不只是代码猴子

我在敏捷软件开发中遇到的最大问题,以及随之而来的问题。

细节

这是一个微妙的谈话。通常我喜欢用标题和摘要来描述演讲内容,但这次演讲是一段旅程,我不想告诉你们我要去哪里,而是和我一起探索地面。我想说的是,它从我在采用敏捷软件开发时遇到的最大问题开始——用户、分析师和程序员之间交互的本质。它继续探索这些角色,提出了关于程序员与用户的关系,我们对他们的责任,最后是我认为程序员需要面对的两大挑战。

OOP - 2014

慕尼黑

YouTube - 24分钟

敏捷澳大利亚- 2014

墨尔本

infoQ - 31分钟

去柏林——2014年

柏林

YouTube - 22分钟

敏捷代码库的实践

构建支持敏捷项目的代码库的关键实践。

细节

当人们谈论敏捷方法时,他们通常关注的是产品和项目管理方面的事情。交付小版本,从每一个版本中学习,允许团队在了解用户需求的同时快速改变方向。这允许构建在不确定环境中快速提供价值的软件。

这种工作方式有很大的价值,但要使它工作,我们需要一个支持快速更改的代码库,不仅是对其细节,而且对其整体架构。为了构建这样的代码库,我们需要几个技术实践,它们支持敏捷流畅性模型的交付区域。

  • 自我测试代码允许在我们进行更改时自信地检测错误
  • 188足球比分直播重构允许我们在不引入bug的情况下快速更改代码
  • 持续集成允许团队的所有成员在不相互干扰的情况下进行更改
  • YAGNI使软件尽可能的简单,使它更容易扩展

XConf - 2019

曼谷

YouTube - 23分钟(✂)


和其他…

面向语言编程导论

关于使用领域特定语言的早期介绍

细节

进一步的阅读

JAOO会议- 2005

奥尔胡斯

影片- 25分钟

建立新联盟

与斯科特·肖

细节

Thoughtworks经常组织“季度技术简报”——为我们办公室所在城市的社区举办公开讲座。在多伦多的QTB中,Scott Shaw和我讨论了如何在IT和业务之间建立新的关系。这解释了为什么我们认为It部门应该解散。

Thoughtworks - 2008

多伦多

74分钟

3. years.of (ruby):

细节

在2009年伦敦QCon的一次演讲中,我调查了Thoughtworks从2006年到2008年对Ruby的使用情况,在此期间我们做了41个项目。我的演讲涵盖了我们对Ruby的生产力、速度和可维护性的看法。我的结论是,应该认真对待Ruby作为开发环境的问题。

进一步的阅读

QCon - 2009

伦敦

infoQ - 59分钟

奥巴马竞选中的科技

与扎克·埃克斯利

细节

我的同事扎克·埃克斯利和我谈论2008年奥巴马总统竞选时使用的软件。我发现一个特别有趣的方面是软件与组织方法的交互方式。

进一步的阅读

QCon - 2009

伦敦

infoQ - 60分钟

发展移动实施战略

与贾尔斯亚历山大

细节

与传统网络相比,移动网络在流量中所占的比例仍然较小,但它的份额正在增长,所以我们需要考虑开发有效的移动应用的策略。我们讨论了对产品愿景的思考,将用户参与的风格分为“前倾”、“后倾”和“向下”风格;把它们积分到a跨媒体应用.我们讨论了为什么关注价值比关注流量更重要,以及覆盖你的基础的平台策略,并认为Android、iOS和Web是三个可行的平台选择。贾尔斯以我们与一家大型航空公司合作的案例研究作为结束。

进一步的阅读

Thoughtworks Live - 2013

伦敦

YouTube - 39分钟

持续交付(YOW 2011)

与第一版

细节

我们提供了一个小时的持续交付概述。主题包括持续交付的合理性、部署管道、持续集成、devops和部署策略。影片的亮点是杰斯将一个发行候选版本化身为希腊神话中的英雄。

进一步的阅读

姚- 2011

墨尔本

YouTube - 61分钟

科技卓越是什么样子的?

要在现代数字商业中取得成功,你需要一个熟练的技术组织。文化、人才和技术是如何结合在一起创造这一切的?

细节

人们所谈论的将企业转变为数字组织的一切都很好,但除非你有一个能够很好地完成工作的技术组织,否则这是不可能发生的。

Nicole Forsgren做了一项将IT绩效与组织绩效相关联的研究,以及她对Devops的研究如何确定了IT绩效的三个重要指标:部署频率、部署前置时间和平均恢复时间。彩票的一个简单例子说明了快速循环时间的货币价值。

我们观察到的高绩效技术团队的特征包括:使用持续交付,以面向业务的方式组织,以技术为主导,在信任的氛围中运作。要走得远,你需要沿着正确的方向走,但也要照顾好你的车。

TW Live - 2016

墨尔本

影片- 31分钟