Scrum: Failure By Design?
Scrum:设计失败?
Are we witnessing the first signs of a post-Scrum era?
我们是否正在见证后 Scrum 时代的最初迹象?
Last week, I read the ‘Scrum Is Cancer’ post on LinkedIn and today I watched the video by Maria Chec on ‘Shall We Stop Doing Scrum?’
上周,我在 LinkedIn 上阅读了“Scrum Is Cancer”帖子,今天我观看了 Maria Chec 的视频“我们应该停止使用 Scrum 吗?”
While I disapprove of comparing Scrum to cancer, there was something in the post that resonated with me. I definitely recognize the sentiment of developers not being too happy with Scrum.
虽然我不赞成将 Scrum 与癌症进行比较,但帖子中的某些内容引起了我的共鸣。我绝对理解开发人员对 Scrum 不太满意的情绪。
I don’t have hard numbers, but my hunch is that there are more developers who dislike Scrum than like it. Here is some common (anecdotal) evidence of developers not being fond of Scrum:
我没有确切的数字,但我的预感是,不喜欢 Scrum 的开发人员比喜欢它的开发人员要多。以下是开发人员不喜欢 Scrum 的一些常见(轶事)证据:
“Scrum works if executed well. I've just never seen it executed well in multiple companies.”
“如果执行得当,Scrum 就会发挥作用。我只是从未见过它在多家公司中得到很好的执行。”
“Scrum is a great way of creating jobs for non-technical people and for making non-technical managers feel very involved at the expense of productivity.”
“Scrum 是一种为非技术人员创造就业机会的好方法,并且可以让非技术经理感觉自己非常投入,但牺牲了生产力。”
“When people say they're running scrum, they aren't — but think they are, because they have a bad definition of what scrum is. I personally do not like scrum, but I've yet to find a team who actually runs it, so IDK maybe I'd be surprised.” - Reddit Thread I hate SCRUM, is it only me or other programmers as well?
“当人们说他们在运行 Scrum 时,他们实际上并没有运行,但他们认为自己在运行,因为他们对 Scrum 的定义很糟糕。我个人不喜欢 Scrum,但我还没有找到一个真正运行它的团队,所以 IDK 也许我会感到惊讶。” - Reddit 主题 我讨厌 SCRUM,是只有我这样还是其他程序员也这样?
The final comment fits with my personal experience. I’ve never arrived anywhere where they were doing Scrum right, even if they believed they were doing Scrum properly.
最后的评论符合我的个人经历。我从未见过他们正确执行 Scrum 的地方,即使他们相信自己正确执行了 Scrum。
Keep in mind that many of the companies I work with are in the Netherlands. The Netherlands is one of the leading countries in Scrum adoption globally. We have the highest number of Scrum Masters per capita. It’s still anecdotal evidence, but it does feel fishy to me that witnessing an excellent Scrum implementation is so incredibly rare. I’ve never seen one.
I’m writing this article to share some of my current thoughts on the struggles organizations are having with Scrum. I don’t claim to have all the answers, but as the years pass, I’m becoming increasingly worried that Scrum is flawed by design.
Scrum: Meetings, Meetings and More Meetings
For many developers, working with Scrum feels like spending time in way too many meetings and being forced to work in a way they don’t want to.
To me, this Scrum criticism is incredibly strange. Scrum is supposed to be a framework that revolves around empowered teams that discover and devise their own way of working. How can the very thing that’s supposed to help with empowering them feel so disempowering? It’s extremely ironic.
The common complaints I hear are too many meetings together with an obsessive focus on User Stories and Story Points. All these things are not part of Scrum, but for some reason, they often seem to go hand in hand.
To make things worse, whenever someone says they don’t like Scrum and that it feels like a lot of bureaucracy and rules, then their criticism will be simply dismissed by the community with: you’re doing it wrong.
But when so many are doing it wrong, isn’t some self-reflection by the community warranted?
What if they are right, and there’s something we can learn from the inability to roll out Scrum perfectly?
Scrum Is a Team Level Framework That Expects Your Organization to Change
Scrum consists of events, artifacts, accountabilities, values, and the rules that bind them together. All of these are described from the perspective of the Scrum Team.
This makes Scrum a team-level framework. It expects your organization to change to accommodate the Scrum Team and wrap itself around their needs. No matter how hostile your organization is to empowered teams that discover better ways of working.
Scrum doesn't tell you how your organization has to change, only how Scrum is supposed to work. Scrum describes how the Scrum Team should work together to produce at least one Product Increment per Sprint that meets the Definition of Done and the Sprint Goal.
Scrum is incredibly prescriptive on how you can best achieve that goal. Whether your organization supports the kind of team and conditions that make it possible to work in that way is not a consideration. You’re supposed to adapt your organization to make Scrum work.
What if this is simply the wrong approach that leads to dogma and teams trying to follow rules that won’t work in their current context? What if we would take a different approach? Instead of being prescriptive on the team level and clinging to how the team should be working, why not be prescriptive on the organizational level instead?
Why not do it the other way around and describe how the organization should change to accommodate empowered teams?
What Would An Organization-level Scrum Framework Look Like?
Instead of making a team-level framework that focuses on how the team should work together, why not make an organization-level framework that focuses on the conditions necessary for empowered teams?
Shouldn’t concepts like psychological safety, humble planning, and intent-based leadership be a prerequisite to be provided by the organization for empowered teams to succeed? The hard part is having the right conditions for empowered teams. Not having an empowered team knows how to follow Scrum.
Why is a framework for empowered teams micro-managing how the team has to work inside the framework? If we trust them to figure out better ways of working outside the framework, then why not inside the framework, too?
What would happen if we shifted our attention toward what the organization has to provide for empowered teams to work? Imagine that we would describe the conditions that should be created instead of describing how the teams should exactly be working. Could that possibly produce far better results?
Perhaps the Scrum Guide took the wrong approach. It could be that a team-level framework is doomed to bump into the walls of an organization that cannot accommodate the particular and finicky needs of Scrum.
Maybe we’ve got it all backward. Instead of describing how a Scrum Team should work, we should describe how an organization can provide the conditions for an empowered team to succeed.
I can tell you one thing for sure: whatever I write will be dismissed by some in the community with “It’s their fault because they are doing Scrum wrong.”
And that’s exactly the problem in the Scrum community and why we’re being referred to as ‘Process People’.
As a Dutch saying goes:
“The beam of a lighthouse does not illuminate the ground directly underneath it.”
This blind spot definitely applies to the Scrum community: in the Scrum Guide we trust and the developers are the ones suffering.
"Instead of making a team-level framework that focuses on how the team should work together, why not make an organization-level framework that focuses on the conditions necessary for empowered teams?"
“与其制定一个专注于团队如何协同工作的团队级框架,为什么不制定一个专注于授权团队所需条件的组织级框架呢?”
And now you have arrived at what Agile 2 attempts to talk about, with respect to product development!
现在您已经了解了敏捷 2 试图谈论的关于产品开发的内容!
Agility is NOT about what happens in a team. Teams are relatively easy - they are "table stakes". Agility is about the organization - the ecosystem.
敏捷性与团队中发生的事情无关。团队相对容易——他们是“赌注”。敏捷性与组织——生态系统有关。
Yeah, some good thoughts in that. Let me share another one: What if Scrum itself was adopted in way too many environments. Some, perhaps even most, of which are a bad fit: Iterating on a greenfield towards a solution for a vaguely defined problem, the 'new product development' part, is actually quite rare. Most of the time there's legacy code (brownfield), dependencies that arose on architectural and organizational levels and a lot of other stuff, that Scrum - more or less - does not care about, has not advice, no path forward (besides prescribing an ideal future state). Not to mention that it's applied in contexts that are hardly product development at all, so the value of iterating, defining Sprint Goals etc. is close to zero or at least not worth the effort. To me, Scrum is a good solution (amended by some XP practices), given the right problem. To me it seems like many skipped that step of identifying the problem/solution match.
是的,其中有一些好的想法。让我分享另一个:如果 Scrum 本身被太多环境采用怎么办?其中一些,甚至可能是大多数,都是不合适的:在新领域迭代以解决定义模糊的问题,即“新产品开发”部分,实际上是相当罕见的。大多数时候,存在遗留代码(棕地)、架构和组织级别上出现的依赖关系以及许多其他内容,Scrum 或多或少不关心这些内容,没有建议,没有前进的道路(除了规定理想的方案)未来状态)。更不用说它应用于根本不是产品开发的环境中,因此迭代、定义 Sprint 目标等的价值接近于零,或者至少不值得付出努力。对我来说,考虑到正确的问题,Scrum 是一个很好的解决方案(经过一些 XP 实践的修正)。对我来说,似乎许多人都跳过了识别问题/解决方案匹配的步骤。