我认为“敏捷”的方向是什么,第3部分:什么是食谱,正确的答案?

我开始了这个系列,询问“敏捷”的发展方向。 第1部分是关于我看到的4个大问题。 第2部分是为什么我们需要经理。 这一部分是关于人们如何获得更好的“敏捷”秘诀的答案。

在我们解决可能的答案之前,您需要了解您为什么选择敏捷方法

您或您的组织为什么要使用敏捷方法? 让我清楚一点:考虑敏捷方法的业务原因(或多个原因)是什么?

我经常听到这样的事情:“事半功倍”。 或者,“交付速度更快”。 或者,“成为10倍的团队”。 这些是业务原因的表达。 他们的意思是:

  • 我们的周期时间太长。 我们认为这项工作对于我们认为的价值而言太昂贵了。
  • 我们的周期时间太长。
  • 我们如何使团队表现更好?

如果您采用的是含义而不是命令后面的字眼,那么您会发现需要改变文化。 “敏捷”能做到吗?

也许。

让我们首先讨论为什么“非敏捷”会产生这些问题。

为什么存在这些问题?

如果您不是经过培训的软件人,您可能会认为打字是我们需要针对软件进行优化的内容。

不。 键入是编写软件最简单的部分。 困难的部分是:

  • 在您这么做之前,请先了解接触代码的人/团队。 该人是否留下足够的曲目或测试,以便您了解它们的含义?
  • 了解当前代码的边界。 您是否有测试,以便可以创建小型且可以安全通过的实验?
  • 如何决定如何将代码带到下一个地方,以从代码(产品)中获得更多价值。 您知道客户如何使用当前代码,以便做出正确的决定吗?

所有这些问题都与学习有关。 随着我们一起学习,我们可以创建产品。

软件的难点是学习

打字是我们构造产品的方式。 但是, 软件是在学习,而不是在构建 我们很少(如果有的话)两次创造完全相同的东西。 我们为什么要呢? 为什么不将第一件事变成库并重用呢?

创建软件时如何学习? 您遍历代码。 您可能会问其他人的问题。 您可以创建测试来查询代码。 您可以创建原型来进行小型实验。

如果卡住会怎样? 你可能会和鸭子说话 更好的是,您可以解决其他人的问题。 为什么是其他人? 因为他们有您所没有的见解。

这就是为什么配对和围攻对于软件如此有效的原因。 不是因为它们是“敏捷”的做法。 (他们不是。我早在1982年就结对了。我想我们早在1980年就加入了老虎队,在那里我们四处游荡和集群。)

当我们与其他人一起工作时,我们将学习他们如何看待产品,问题,代码和测试。 我们从他们那里学习。

这就是为什么我们不能与通过任何项目方法创造卓越的技术实践相分离的原因。 您可以执行所有所需的迭代或WIP限制。 如果不添加技术实践,则无法成功。

但这不是有效的,对吗?

如此多的经理陷入了资源效率的思考,他们不了解这一关键思想:

如果您要求团队作为一个团队进行协作,并要求他们一次专注于一件事情,而完成该事情意味着什么,那么您可以从任何敏捷方法中受益。

忙碌看起来高效。 这是无效的,因为繁忙会导致较长的周期时间。

团队学习和团队交付是有效的。

我们如何变得有效?

也许我很独特,但我不这么认为。 与他人合作时,我会变得最有效。 杰西卡·科尔(Jessica Kerr)使用了诺拉·贝特森(Nora Bateson)对交响乐的定义:由学习部分组成的学习系统。 (我敦促您从杰西卡的定义开始,阅读/观看她所说的一切。)

当我们团队合作时,我们会将过去的经验带给我们。 这就是为什么具有不同背景和经验的人会造就出一支优秀的团队

我们作为现有团队的一员学习。 我们将过去的互动和学习带给当前的团队。 这就是我们创造交响乐的方式,涟漪为我们的生活和工作付出了分红。 (这就是为什么许多寻找工作的人会寻找可以学习的人的原因。)

有效的软件团队使用流程效率 ,因此他们都可以共同学习。 他们需要实践和行使他们所有的技术才能,因此他们学习如何正确工作并不断改善产品和工作环境。 他们进行的改进越多,学习越快。

这意味着您不能将敏捷方法用作项目框架,而不能期望它能起作用。 是的,敏捷方法可以帮助您组织工作。

您必须使用技术实践以及如何组织工作才能有效。

人们为什么要搜索答案或食谱?

我认为“敏捷”的方向是什么,第3部分:什么是食谱,正确的答案?

当我像在会议上遇到人们时,我遇到的人感觉好像在承受压力。 压力更大,速度更快。 提供更大的压力。 他们的经理使用Theory X方法来确保团队完成更多的入场券并提高每个人的速度。 (个人速度?U。完全滥用这些想法。)

人们感到巨大的压力时 ,他们就会停止思考。 他们想要食谱,一个正确的答案。

问题在于每个团队都是独一无二的。 每个项目都是唯一的。 对我有用的敏捷方法可能对您不起作用。 上下文很重要。

每个团队都会产生自己的“食谱”或“答案”

您如何选择使用哪种敏捷方法? 哪些技术惯例? 这完全取决于您的上下文。 没有食谱。

但是,我们确实有原则。 回顾敏捷宣言背后原则

您现在有“不能”生活的原则吗? 您将以选择的任何敏捷方法挑战文化。

敏捷团队需要充分了解敏捷方法的工作原理,以便他们能够生成自己的“食谱”。 而且,他们需要经常反思,以便评估当前的有效性并创建实验。

我的“正确答案”是原则

如果您通过这篇文章关注我,这是我的原则:

  1. 团队协作进行工作。
  2. 使技术卓越成为团队工作的基石。
  3. 限制WIP(进行中的工作),以便每个人都可以一起学习。
  4. 随时随地改善产品和环境,因此学习更加轻松。

做这些事情,您就可以在第一段中获得所有想法:降低创建成本,缩短周期时间和提高团队绩效。

敏捷方法要求团队内部以及与需要产品的人(或代表这些人的人)进行协作。 如果您无法获得协作,那么敏捷方法会有所帮助吗?

没有“敏捷配方”。 您组织中的每个人都没有一个正确答案。 您可以使用原则来确定最适合您的方法。

到目前为止的系列:

翻译自: https://www.javacodegeeks.com/2019/08/think-agile-headed-what-reciperight-answer.html