Wednesday, November 6, 2019

Scrum is setting you up to fail!

The amount of debates where agilists claim, "But Scrum addresses <this topic> already!" - then proceed to quote a sentence, or even a single term from their framework's rules are staggering. The phrase, "we need to be pragmatic, and Scrum is idealistic" heats up the debate.

My take: 
In some cases, frameworks like Scrum are helpful. By themselves, however, they aren't. They provide no helpful guidance and rely on the strong assumption that the solutions to an organization's core problems already exist within the team' sphere of control. 
This assumption is borderline insane, because people wouldn't need a rule or framework for something they know how to do.

Even in regards to my article about demand, I got the reply, "Scrum does address the issue. That's what you got a Product Owner for." and "SAFe uses the term 'Demand Management' at Portfolio level, therefore SAFe has a solution." - I say that this is about as helpful in practice as stating, "We have the cure for cancer already. That's what scientists are for: They even use the term cancer research."
Yes. And: What exactly is the solution to the problem beyond assigning responsibility or attaching a label somewhere?

Let's focus on Scrum, just to be talking about something specific.
In all fairness, many Scrum practitioners state, "Scrum doesn't solve your problems, it only highlights them" - which is my answer to everyone who would claim that "Scrum does address this already.Maybe you get a label. You don't get a solution. Scrum itself has no helpful answers, not even the hint of a direction.

Scrum's dangerous assumptions

Scrum makes a lot of strong assumptions. Most of the time, these assumptions are just not valid and will cause a Scrum adoption to shipwreck.
These are all examples of conditions that Scrum is simply assumed to have:

No blocking organizational issues

Scrum can only work when the surrounding organization is at least basically compatible with Scrum. Scrum's assumption is that you are well aware of how to ensure that:
  • Organizational processes are fundamentally compatible with agile development
  • A meaningful portfolio strategy exists
  • Demand funneling "somehow works"
  • Individual incentive schemes don't get in the way of team or organizational goals
  • The organization improves where it matters
  • You have stable teams
And what if not?

Unproblematic contracts

Scrum teams must operate in an environment where developers and customers share common goals, and developers are contractually enabled to maximize organizational value. Scrum assumes that you have a contract situation where:
  • There is no functional split between different organizations (e.g. outsourced manual test - or worse, outsourced users)
  • Financial incentives encourage optimizing around value rather than activities
  • The team meets all legal requirements to deliver all required components
  • The development organization benefits from producing better / more / faster outcomes
And what if not?

People get along

Scrum assumes people can and will communicate with a goal to create value.
You have to know by yourself how to achieve the following states:
  • No communication gaps where significant information gets lost
  • Stakeholders care and show up to provide essential feedback
  • Managers understand and avoid what demotivates the team
  • People have a sufficient level of trust to raise issues and concerns
  • When all things fail, people focus on learning and improvement, avoiding blame.
And what if not?

Development issues

Since its inception, Scrum has removed all aspects of technical guidance. As such, there's now the hard assumption that:
  • Teams have the necessary skills to produce a "Done" Increment
  • Teams know about quality engineering practices
  • The team's software isn't a steaming pile of ... legacy
  • Teams are able to produce a meaningful business forecast
  • Teams can cope with technology shifts
And what if not?


The danger of these assumptions

To assume that none of these problems exist is idealism. If you make these assumptions, you will shipwreck.
To assume you can safely operate Scrum when multiple of those problems exist, you're also going to shipwreck.
To assume that attending a Scrum training course equips you to take on this gorilla is also going to shipwreck.

To assume that Scrum has a solution to any these problems is false hope or snake oil, depending on perspective. Scrum assumes that they have already been solved - or at least, that you well know how to solve them. Scrum tackles none of them.


What if not

The Scrum Guide has no guidance on any of these topics, as all of these problems are assumed to be manageable and/or solved in a Scrum context.
Where these problems are significant, Scrum isn't the droid you're looking for.

2 comments:

  1. My view: Scrum is no prescription to succeed in a simple system context. Change, adaptation and org system "evolution" is an open ended process.
    Transparency, Inspect and Adapt are helpful guiding principles to me.
    Human Systems processing capacities are limited. And yes, pushing more change than the system can process (overload), is unlikely to create more changed behavior. I can use Scrum in combination with solution-oriented coaching and also apply resource-oriented coaching. And yes, most of the times we don´t start with the resources(eg psychological safety) available in an ideal world. Now what? Start with what is available. So you can´t do beautiful Scrum yet and you reap nothing of the desired outcomes. More important: What can(incl. willingness) you do (iteratively and incrementally)? What are you willing to try? Just as a visit, you can go back.

    ReplyDelete
    Replies
    1. Peter, thanks commenting.

      Yes. You can use Scrum in combination with solution-oriented coaching and also apply resource-oriented coaching. But: Do you need Scrum in order to do that? You don't. If you want to do meaningful coaching, Scrum is nothing other than an add-on. And why would you bring it in to begin with?

      When Scrum isn't targetting your key constraint, then the introduction of Scrum will be perceived as entirely ineffective. In terms of Lean, that would be "motion waste".

      If it was your own money - would you rather address the constraint of your organizational performance, or start by optimizing something other than the constraint - because "it's better to have done something than to have done nothing?"

      Delete