在本周的播客 What the Dev? 中,我们采访了 Miro 的敏捷布道者 David Ross,讨论了当今人们对敏捷的一些误解,以及敏捷自早期以来是如何发展的。
以下是该对话的编辑和删节版本:
您认为人们在进行敏捷开发并认为自己理解它之后,到现在发生了哪些变化?在这个新的现代时代,他们必须考虑什么?
我从事软件开发已经近 20 年了,对于我来说,观察 15-20 年前的敏捷意味着什么以及今天人们对它的看法是一个有趣的演变。我只记得在我参与的一些最初的敏捷转型的早期,这在很大程度上是关于遵循流程并忠于特定框架,无论是 Scrum 还是看板或任何情况。通过遵循这些框架,你越接近完美,你就越接近上帝,就像你可以声称的那样更加敏捷。
当然,我们忘记的是,敏捷价值观和原则没有规定任何特定的框架或方法。您应该将人员和交互置于工具和流程之上。好吧,如果你强制执行流程并要求人们通过工具进行交互,那么从一开始就违背了敏捷的许多非常基本的价值观。
我们也遇到了问题,因为很多人进入了这个行业,也许这些人没有接受过充分的培训,或者在真正的、良好的敏捷实践中没有足够的经验,而且那里有很多糟糕的敏捷实践。您知道,获得为期两天的证书的人会说,嘿,我现在要进来,在这个团队中实施 Scrum 流程,并指导他们提高敏捷性,但这并不是成功的秘诀。
DevOps、价值流管理、你你,都是如此,这些只是模糊的、非规范性的流程。但没有人说你必须做 X、Y 和 Z 才能实现敏捷,或者做完整的 DevOps,或者做价值流。这有点像,好吧,我们只是把它留给你,采用你想要的,扔掉你不想要的,我们并不是要墨守成规。但是,我认为多年来这加剧了这些市场的混乱。那么我们现在所处的位置,你正在谈论演进到这个现代时代,是什么在影响它?它只是云原生计算吗?是人工智能吗?以上都是吗?
我觉得敏捷达到了这种顶峰,人们发现他们并没有真正获得敏捷转型所承诺的价值。他们没有看到对客户的价值,也没有看到对团队的价值。而且,你知道,纸牌屋开始有点崩溃了。老实说,关于敏捷的一件事是你必须拥有同地办公的团队,所以这是在新冠疫情期间被牺牲的一头圣牛,因为同地办公的团队是不可能的,而我们不再在那个世界了。
老实说,从我的角度来看,敏捷的发明是为了解决软件开发中一个非常具体的、明确的问题,即软件开发交付,并确保您不会经常错过最后期限,并且能够提供适当的价值水平。我认为其中很多问题已经得到解决,敏捷也已经超出了软件开发的范围。人们逐渐意识到,这并不是一种放之四海而皆准的方法。它需要更具适应性。它需要更加务实,少一些规定性。
这就是我们现在的处境。我觉得我们正处于敏捷紧缩和重塑的时期。人们开始发现规范性框架并不适合他们。我采访过的许多客户都在不断发展并提出自己的定制方法。他们可能使用不同的词汇、不同的语言,但他们仍在做敏捷的事情,但 10-15 年前的人已经认不出他们了。
你引入了云原生计算,现在你有很多移动部件,它不仅仅是一个整体的代码库,而且你正在调用 API,你正在使用 Kubernetes、容器。所有这些复杂性都会改变事物的外观,那么这些事物如何影响人们进行敏捷的方式,以及他们必须针对这些类型的事物做出哪些调整?
我认为他们已经脱离了规范性框架,很多时候他们只是在适应。老实说,这确实是他们一直应该做的事情。你不应该是规定性的,你应该能够调整你的流程,即使它对于你开始使用的框架来说并不纯粹,你也可以朝这个方向前进。因此,我认为人们正在摆脱那些框架中定义的角色。我认为这可能是一件好事。你知道,你是一名产品负责人,或者你是一名 Scrum 大师,或者所有这些类型的人,我认为摆脱规定性的头衔是我看到他们所做的一件事。
此外,使用不太严格且更灵活的工具集。因此,如果您尝试在一组非常定义的工具中运行所有内容,并且这些工具定义了您的工作流程,那么这是非常严格的,我觉得对于很多很多公司和很多团队来说,他们正在尝试找到更好的方式来组织自己并使用更灵活的工具集支持他们的工作方式。
人工智能如何影响敏捷开发?
好吧,你知道,如果我可以说有人知道这个问题的答案,那我就是在撒谎,对吧?我们仍处于这场革命的早期阶段。但我可以预见人工智能的潜在结果和潜在影响,它会影响团队规模吗?如果您一般考虑敏捷团队,他们过去规定理想的规模是六加或减三,并且您必须具备这些特定的技能。也许团队规模会稍微缩小,一个团队中可能会有一两个开发人员,然后他们可以编排一系列人工智能代理,这些代理可以完成其他专家本来可以完成的大量工作。过去,比如 QA 或特定的数据库任务或类似的事情。所以我绝对认为这会影响团队组成、团队结构和团队规模。
我认为这也会产生真正影响的另一件事是,一些已完成的任务的单调性可能会被人工智能接管。你在所有行业都看到了这一点,对吧?这意味着什么?这意味着它将释放敏捷团队中真正有才华的人来进行更高层次的战略思考。你知道,人工智能还无法做到的事情。也许有一天它会做到这一点,但今天它无法做到这一点,因为它需要进行战略思考,思考他们正在构建的东西的人性化维度,并确保它被引导向这个方向。实际的编码工作或测试工作可能会由某种形式的人工智能接管,但我们将有能力将我们的精力集中在那些更高阶或更复杂的活动上。
所以你真的必须单独做好准备。你必须具备自己的技能,还必须知道如何与人工智能合作,因为如果这些人工智能将成为你的助手,或者他们将成为你团队的嵌入式部分,你必须知道如何能够编排和运行一系列人工智能代理,这些代理将完成其他人类以前可能完成的工作。所以我真的认为这将会发生。这对于 Scrum master 来说具体意味着什么?我认为 Scrum master 必须再次向不同的方向发展,更多地关注人的因素。
我们一直说 Scrum 大师也是敏捷教练,但我们并没有真正把这一点放在心上。我觉得这是 Scrum 大师在这个能够指导人类并拥有高情商的新时代真正需要接受的东西。人工智能没有情商。我们做到了。因此,我们需要能够确保我们团队中的人员得到支持,并拥有他们协作和取得成功所需的资源,然后将苦差事留给人工智能。