敏捷的死亡?

在这个版本的雷达列中,我们检查敏捷周围的大图片,看看它的意思和它没有什么。

通过迈克Loukides
2020年3月2日
四月雷达列

我读过一篇关于敏捷的死亡.这不是我看到的第一篇声称敏捷已死的文章,我相信这也不会是最后一篇。

声称敏捷已经“死亡”的问题在于埃本休伊特在谈话中对我说:“在它成为自己的模仿之前,没有运动已经成功了。”这是一个完美地适用于敏捷的辉煌。什么是现代敏捷?迷恋立宪。迷恋对编程。迷住单元测试。Scrum迷恋简短的爆发工作。(在80年代,我为一家有很多预期Scrum的公司工作。我所能说的是他们非常不健康。给我买啤酒,我可能会告诉你更多。)这些都没有他们自己,但他们都错过了这一点,特别是当他们成为一个仪式时。(已经长时间的立刻会议?是的,是的,被邀请参加那些。拒绝在第一个之后出席。)更频繁地,恋物癖的结果是 - 什么都没有。 A few existing practices are re-named, a few new rituals are created, and work goes on exactly as it did before—but now it’s “agile.” That kind of Agile needs to die. I won’t be among the mourners.

学习更快。挖掘更深。看到更远。

加入O'Reilly在线学习平台。立即获得免费试用,并在飞行中找到答案,或掌握新的东西和有用的东西。

了解更多

有一件事我没有看到,而且比其他任何东西都更能体现敏捷的价值,那就是客户(无论它是如何构思的)和开发人员之间的持续对话。这是很重要的。敏捷不是,也从来没有让开发人员更快地编写软件。(Scrum可能是……)敏捷是关于让开发人员与真正的用户和客户进行定期和反复的接触,这样项目就不会不可避免地偏离方向,产生一些东西(用Douglas Adams的话来说)“几乎,但也不是完全不像茶”。

我不是一个敏捷的原教旨主义,甚至是一个严肃的敏捷福音传教士。但这值得一段时间思考敏捷宣言它意味着什么,甚至可能思考它。如果您参与了80年代和90年代的专业编程,您可能会记得它是如何激进的(并且在许多商店,仍然是)将软件开发人员与用户和客户联系。领结?怪人和书呆子?他们可能会告诉客户,他们想要的一些功能是不可能的!他们可能会说实话!那么销售会做什么?

事实证明,如果你想让软件工作,开发人员必须与需要软件工作的人交谈。你不能把它留给销售人员或营销人员。你不能创建一个“产品负责人”,并说这是他们的工作——因为,“产品负责人”本身往往没有与客户有意义的接触。(真实故事:在以前的公司,一名销售人员基于一个不仅不可能实现,甚至毫无意义的功能完成了一大笔销售。我们很幸运没有被起诉。)当项目因为某些需求没有被正确理解而偏离轨道时,您需要尽快修复它——而不是在长达一年的开发过程之后。如果敏捷的第一原则是与客户频繁的交互,那么它的第二原则(也是一个紧密的推论)就是频繁的中途修正。那些中途修正总是比到达终点并发现您已经构建了错误的东西要少一些痛苦。这是关于“敏捷”一词含义的一个重要线索。这不是为了让软件开发人员更快地编写代码。 It’s about learning when you need to change direction, and then doing it. It’s about correcting small mistakes before they become big ones, before they’re amplified by a multi-year, multi-million dollar budget.

所以我真的不想听到敏捷不适用于大型项目等。I don’t care what you call it, but large projects (a) are rarely successful, regardless of the methodology, because they (b) get overloaded with a lot of features that nobody needs but that sound good, and (c) forget what the customer or user really needs or wants. Large projects are necessary, but they have a momentum that tends to drive them off course. Once a project starts going in the wrong direction, it tends to keep going in the wrong direction. That was true before Agile (didn’t Isaac Newton say that?), and will remain true after Agile. Agile provides the tools to keep those projects on track; whether those tools are used, or only get lip service, isn’t the fault of the methodology.

大约二十年后敏捷宣言是写的,敏捷面临着一些挑战。最重要的是发现如何与数据科学和人工智能项目合作。这些项目的开发时间表并不像传统软件那样可预测;它们以奇怪的方式延伸“测试”的含义;他们不是确定性的。开发软件的进展往往是缓慢,增量和相当得很好的理解。在两周(或您选择的任何间隔)中有一些东西有关的是合理的。通过AI,您可以轻松地花几个月搜索一个模型 - 并在另一个谚语中显示出一个立式会议“更多的实验,没有取得进展”,直到有一天它的工作。(也许适当的AI项目的衡量标准是实验本身,而不是致力于Git的代码。)

敏捷为大型球队工作吗?大队呈现自己的问题,但看到嘲笑“两比萨集团”概念的作家是讽刺意味的,因为它不能为大型组织工作。他们知道这个概念来自哪里吗?我不知道有多少行代码支持亚马逊的核心业务,或者有多少软件开发人员在它们上工作,但我相信那些是非常大的数字。但是:重视文件的相互作用。通过将项目划分并保持小组来进行这些互动。您可以保持与客户不断接触的原则;你只需要注意理解你的客户是谁,以及他们的意思。(这与概念有关限界上下文(领域驱动设计)

我不认为敏捷是“完美”;在这种背景下,我甚至不知道“完美”意味着什么。我认为敏捷,如宣言中所述,指向软件开发的一些问题,并提供合理的解决方案。遗憾的是,这些解决方案在违约方面比遵守更荣幸;当他说没有成功的方法之前,Eyen是对的,直到它成为自己的模仿。但是,如果eBEN是对的,那么解决方案并不是超越敏捷,而是变得自我意识,批评我们自己的行为。为什么,当事情发生变化时它们保持不变?躺在旧的和新方法后面的权力斗争,奖励和惩罚是什么?当流程发生变化时,谁赢得了谁,谁丢失,为什么?在任何组织中,回答这些问题会说很多关于敏捷如何成为自我模仿的问题。

但是说真的,你知道敏捷的成功意味着什么吗?我们会忘记它。我们就这么做。与客户的频繁接触,团队成员之间良好的面对面沟通,以及像源代码控制和测试这样的实践,就像我们的Wi-Fi网络一样,只是在空中。我们不会为这些惯例苦恼,也不会为它们创造仪式和仪式。他们只是我们做的事。-迈克Loukides


雷达数据:最近的研究和分析

在“2020年科技领导者要关注的5个关键领域,我们研究了来自O 'Reilly在线学习平台的搜索和使用数据。这些数据包含了技术领导者需要关注和探索的趋势、话题和问题的显著信号。

调查结果包括:

  • Python是卓越的.这是O'Reilly上最受欢迎的编程语言,它占10%全部使用。Python在数据科学家、机器学习(ML)和人工智能(AI)工程师中越来越受欢迎,这推动了今年Python的使用增长。
  • 软件架构、基础设施和操作都在快速变化.向云原生设计的转变正在改变软件架构、基础设施和操作。另外:基础设施和运营是上升趋势,而DevOps是下降趋势。巧合吗?可能不会,但只有时间会告诉我们答案。
  • ML + AI已经启动,但激情已经冷却.直到2017年,ML + AI主题是平台上增长最快的主题之一。这种大型主题仍然强劲,但2018年的使用减缓(+ 13%)并在2019年显着冷却,仅增长7%。然而,在数据主题中,ML + AI已从所有使用量的22%到26%。
  • 云依旧,但有迁移的可能.云平台的强大使用率(+ 16%)占大多数云特定的增长。但2019年,云迁徙的持续利益近10%,2018年的30% - 获得另一个重要的新兴趋势。
  • 安全性正在飙升。通过增加两种安全认证的使用增加,总安全使用量飙升26%:Comptia Security(+ 50%)和Comptia Cysa +(+ 59%)。澳门金博宝商业管理人员,SYSADMINS,DBA,开发人员等有充足的安全风险,是谨慎的。

我们最近还做了一项调查数据质量的状态.正如我们所料,这个话题充满了兴趣——我们很快就收到了1900多个调查请求的回复。

关键调查结果:

  • C-Suite与数据质量有关。CXO,副总裁和董事占所有调查受访者的20%。数据科学家和分析师,数据工程师和管理它们的人占观众的40%;开发商及其经理,约22%。
  • 在它变得更好之前,数据质量可能会变得更糟。建立专门的数据质量团队的组织相对较少。只有20%的组织发布数据来源和数据沿袭。大多数没有说他们没有开始的计划。
  • 采用人工智能可以提高数据质量。近一半(48%)的受访者表示,他们使用数据分析,机器学习或AI工具来解决数据质量问题。这些受访者更有可能曲面和解决潜在数据质量问题。AI可以成为提高数据质量的催化剂吗?
  • 组织正在处理多重,同时数据质量问题.它们有太多的不同数据源和太多的数据数据。他们没有他们需要清理数据质量问题所需的资源。那就是一开始。
  • 组织中经常缺乏数据治理的构建块.其中包括基本内容,如元数据创建和管理、数据来源、数据沿袭和其他基本内容。

一定要看看我们的雷达研究和分析档案


邮寄主题:下一个架构雷达列
帖子标记:评论
分享:

获取O'Reilly基础架构和OPS时事通讯

获取O'Reilly基础架构和OPS时事通讯