Scrum's "Product Owner" Problem
rethinkingsoftware.substack.com
rethinkingsoftware.substack.com
That first sentence was enough to stop reading
"The Product Owner is also accountable for effective Product Backlog management, which includes:
- Developing and explicitly communicating the Product Goal;
- Creating and clearly communicating Product Backlog items;
- Ordering Product Backlog items; and,
- Ensuring that the Product Backlog is transparent, visible and understood. "
And if that wasn't enough...
“…the entire organization must respect their decisions.”
“The Product Owner is one person, not a committee.”
“Those wanting to change the Product Backlog can do so by trying to convince the Product Owner.”
Sounds like "sole authority" to me.
Anecdotal story:
Are product owners engineers? Typically not, and this is where the problem starts for most engineering teams doing "Scrum".
I work with overzealous POs (who aren't engineers) and since they "own" the product and the backlog (as according to that definition), they own everything. Since the PO is supposed to manage the backlog, we have POs running backlog refinement sessions where the vast majority of topics and tickets being discussed are of an engineering/technical nature (lots of stuff that is periphery to the product features such as security enhancements, build pipelines, performance, code quality and tests, etc.) and since the PO "owns" it all it is their decision/opinion what counts, i.e. they pretend to be tech-leads.
I even work with a PO who insists of writing all the engineering tickets (title/description), where no engineer can understand what the ticket is about since this person simply doesn't have the ability to clearly and concisely articulate engineering tasks.
Now, obviously people will point out that this is not a problem with Scrum but a culture issue with the organisation, and I agree (my organisation has many ingrained and deeply embedded institutional dysfunctions) but the Scrum definitions aren't helping engineering teams.
This is a special skill, which requires patience with customers and users, and a keen understanding of the domain.
It is pure fantasy to expect that anyone could wave their process wand over a team and turn out a great product just because people who are good at coding try to guess at product design.
I designed a test tool that was implemented by a small team of coders. It wasn’t until half way through the project that the senior developer suddenly realized how testers would use the tool. I know this because he told me… and that’s when I discovered that he and the rest of the team had been humoring me up to that point, confused about the features I had insisted upon. I had explained the concept over and over, and they had nodded as if they understood. Imagine having to get a group like that to independently bring a product together when apparently they couldn’t or didn’t want to savor its vision?
I started my professional career as a coder in 6502 assembly, doing video games designed by my boss. I saw first hand, in game after game, that my coding skills in no way overlapped with those needed to design a good game.
I had one idea for a game (Adventure Creator for C64) and watched in wonder as he (Dale Disharoon) turned it into a playable design.
But those handful of chefs, are indeed, actually cooks, not? Not some person who read a book on cooking and is now telling cooks how to cook...
Agile was a small manifesto that listed a set of principles, one of which was "people over processes." If the relationship between your PO and the rest of the team is not collaborative, that's not because Scrum has some dogmatic prescription somewhere in the Scrum bible that declares "though shalt grovel at the feet of your PO and accept their every command without question or suggestion"
If that's how your PO and team behaves, it's because that's how your organization set things up.
Ironically, the relationship described in the article describes "waterfall"; the very boogeyman that Scrum and Agile were a response to.
The role of PO is really just to have a final decision maker as far as how product development gets prioritized and represents THE person to ask when there are unclear product requirements. I mean, at the end of the day when you're trying to ship something, you can't always get everyone sitting down at a table to hash out how the product ought to behave, or whether or not a particular defect is severe enough to block the release.
Also as far as backlog prioritization and delegation goes, you could just as easily target the Scrum Master with the same complaints if your team has one. Although sometimes the PO and SM hats are worn by the same person ... I've seen that at a lot of companies.
I wonder if the article's author would take issue with the concept of a lead developer who has final say on what technical solutions get adopted when there are alternatives (including things like code conventions, 3rd party libraries etc.) because certain lead developers might not collaborate in the way that he thinks all should.
Pretty much every solution has alternatives and in the same manner that a PO would have final say over the product, a tech-lead would have final say over implementation. However, there is no concept of a tech-lead in scrum so what happens in most cases, the PO becomes the tech-lead. A recipe for a true dictatorship.
That’s not real Scrum!
Nor, apparently, has he seen the nightmare navel gazing when software developers run wild.