为什么(一些)敏捷团队会失败

关于敏捷团队可能失败的简单解释。
321 位读者喜欢这篇文章。
team meeting

WOCinTech Chat。Opensource.com 修改。CC BY-SA 4.0

White cat

在过去的一年中,我与许多人进行了对话,这些对话似乎总是围绕着两个问题(让我非常沮丧,并导致我眯起眼睛看)

  • 贵公司敏捷化的方向是什么?
  • 贵公司为提供何种标准化(和/或框架)?

在回答这些问题之前,让我们先从一个故事开始。当我 2006 年第一次实践敏捷时,我被要求记录我们的 Scrum 流程,以便团队更好地理解它如何适用于在我们开始下一个项目之前有结束或“发布”的项目。我们想出了一个看起来像这样的可视化

Agile scrum process chart

回顾这段经历,对我来说标准化流程是完全有道理的。我们是一个小团队,我们制作的文档是在我们创建时对团队有效的东西。十二年后,我的观点发生了变化,我将这样的文档视为模棱两可或充其量是混乱中立的。最坏的情况是,它们经常被用作解决团队问题的圣杯。危险始终在于如何使用这些信息。

“看看这里——这个团队似乎做得很好,我们应该直接复制他们正在做的事情!”

团队是不同的,因为它们由不同的人和不同的情况组成。某些实践可以很容易地在团队之间共享,但在我的经验中,试图标准化流程实际上并不奏效,并给团队增加了不必要的开销。更糟糕的是,行业中认证的引入过分强调了敏捷的实施是唯一重要的,而不是团队一起试验和学习什么对他们有效。这与我们面临的危险相同,即在不理解其意图和目的的情况下捕获团队的指标并使用它们。

“这个团队在一个迭代中可以完成 60 个故事点,但这个团队只完成了 40 个。显然,有问题。”

是的,有问题,但实际上可能是“妄下结论”。将一个团队可以做的事情与另一个团队进行比较,是敏捷管理方法中最糟糕的捷径。这既是缺乏对自组织和持续团队改进背后意图的理解的症状,也是敏捷行业花费大量时间关注小型工程团队绩效的指标。解决组织其余部分如何完成工作的艰苦工作在很大程度上仍未完成。

因此,当面对这个问题时:贵公司为提供何种标准化(和/或框架)?我的观点始终首先基于以下声明

不要做对其他团队有效的事情。做对你的团队正确的事情.

Cat sitting on a router

以及更难的问题:贵公司敏捷化的方向是什么?我的回答有点含糊,但这是一个诚实的回答。如果我们不忠实于敏捷在 2001 年要求我们关注的根本真理:在团队中建立信任和透明度,以便他们可以在安全和开放的环境中协同工作以加速学习,我们将一事无成。如果我们不首先努力理解为什么和需要什么,就试图将流程强加于他人,我们将一事无成。

有人可能会在看到上面的图片后想,“在路由器过热之前把猫从路由器上弄下来”,而没有先问,“猫为什么坐在那里?”我可以移除猫来解决问题,或者,我可以为猫提供一个冬季加热床,这样当天气寒冷时,它背部腿部的关节炎就不会那么难受,从而消除问题。

团队的 3 条指导方针

Cat in a laundry basket

我相信你现在正在想,“好吧,Jen,这并没有真正解决我们最初提出问题的原因。”许多与我谈论敏捷主题的人经常感到被现状所困,就像这只猫一样。我理解这一点——我也曾有过这种感觉。有时,我仍然有。为了帮助解决这个问题,我要求与我合作的团队遵循一些指导方针,我也提倡其他团队也采纳这些实践。

跟踪和分享你的工作,以便组织中的其他人可以理解你在做什么。

这里的关键不是你在跟踪工作(尽管这是一个额外的好处!),而是你以外的其他人可以理解你为什么要这样做。如果你不能向不参与细节的人沟通客户价值,你真的理解它吗?此外,能够凭经验解释你将如何衡量你完成的工作的影响,也具有重要价值。这遵循简单的用户故事格式:作为客户,我需要这个功能,以便我可以实现这个结果 之后是:我们知道我们将通过这些定性和定量测量来交付此结果。

“以终为始”这句话是真理。

持续努力改进你作为个人和团队的实践。

这包括你的团队和产品完成工作的流程以及你的工作职能。如果你是一名工程师,学习一些关于编码的新知识并实践它。如果你是一名项目经理,尝试一种你读到的新的引导技术。流程不仅仅是指你在跟踪系统中移动卡片的方式。确保你公开地与你的团队讨论那些不奏效的事情——无论是与人员流程还是技术流程相关。没有这种承诺,流程和技术将会变得陈旧。

也许我们在这个领域能做的最好的事情就是同意标准化,定期与整个组织分享我们如何持续努力改进以及我们用来证明这一点的指标。

注意:如果你来找我,并且羞怯地承认你的团队已经停止进行站立会议,因为团队没有看到花费时间的价值,并且整个团队在需要时为你的客户交付可衡量且清晰的价值,不要期望我会生气。我可能会问一些问题,祝贺你,然后鼓励你继续就有效的方法进行良好的对话。

Two cats in a bed

最后,如果你的工作跨越团队、社区或产品边界,请在发生冲突之前商定如何进行。

我不是在谈论实施技术背后的细节。我谈论的是定义每个人在工作中的角色,定义对话将在哪里发生,以及定义需求将如何在团队之间来回传递——在工作开始之前尽可能地建立和谐,并发现自己依赖彼此共享空间——而不会爆发猫战。随着技术继续快速创新,具有沉重跨职能依赖的团队将发现问题会变得更糟。在我看来,这是项目失败的唯一最大原因。这是最需要标准化的,因为没有标准化,就很难自动化。

做正确的事

White cat with owner

最后,我想再次强调这句话:不要做对其他团队有效的事情。 做对你的团队正确的事情。 我在职业生涯中听到的每一个失败的敏捷采用故事都建立在未能遵循这一原则之上。我鼓励每个人都接受这个想法,并在团队需要时向你当地的敏捷专家寻求帮助。

最后,当被“你必须这样做,因为某某是这样做的,而且对他们有效……”的方法接近时,回顾一下我上面定义的指导方针。大多数团队之所以陷入这种境地,是因为他们被认为没有分享他们为什么要做某事,他们没有持续改进他们的流程,也没有确保依赖关系复杂的工作以最小的日常冲突来处理。我对处于这种境地的团队的行动号召是思考他们为什么处于这种境地,以及他们应该做些什么来摆脱这种看法。

对我亲爱的同事、技术专家和敏捷专家来说最重要的是:如果你不同意我分享的内容,你可以像我的猫一样……或者你可以分享对你的团队有效的方法。

User profile image.
Jen Krieger 是红帽公司的首席敏捷架构师。她 20 多年的职业生涯主要从事软件开发,代表了瀑布和敏捷生命周期中的许多角色。在红帽公司,她领导了部门范围的 DevOps 运动,重点关注 CI/CD 最佳实践。最近,她与 Project Atomic 和 OpenShift 团队合作。

4 条评论

有时你需要指标只是为了避免追逐非问题。
有什么证据表明猫坐在路由器上会导致路由器过热?似乎猫已经以节能的方式解决了它的问题。

在互联网上搜索发现路由器在通风口被覆盖时过热是多么常见,并不需要花费太多力气。根据我自己的经验 - 猫坐在路由器上绝对会导致我们的旧路由器重置并导致服务问题,直到我们重新启动。?‍♀️

回复 作者 Greg P

Jen,文章写得太棒了!
这是我一直听到的另一个口头禅“如果敏捷对你不起作用,那肯定是你在做错什么”。这句话太不真实了....

我曾在一些公司工作过,他们的迭代计划设置为相同的长度,而不管他们正在进行什么项目。

我见过用户故事被纳入迭代而没有进行分析,例如定义以下内容:
1_ 故事的 DB 架构所需的数据
2_ 达到用户故事目标所需的活动
3_ 需要应用的业务规则
4_ 如果需要,进行设计会议
5_ 可重用性分析

如果以上用户故事细节没有实践,那么失败的风险很高。
如果我们等到在迭代中期才找到这些细节,那么由于开发人员将不得不等到细节从歧义中明确,因此也存在无法在本迭代中完成的另一个高风险。

敏捷框架并没有帮助团队如何敏捷地执行分析和设计。
它只是一个很棒的框架,用于
1_ 更好的沟通
2_ 产品演示
3_ 迭代任务计划
4_ 流程改进

我会继续使用你的口头禅并添加到其中...
“做正确的事
为了你的团队
为了你的项目
为了你的产品待办事项”

SDLC 框架或流程不会构建软件。
遵循软件工程最佳实践来执行分析、设计、编码和测试,将帮助你构建强大的软件,并最大限度地减少你在你选择遵循的任何 SDLC 框架中失败的机会。

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.