Over a million developers have joined DZone.

Role Playing in Agile

According to Gil Zilberfeld, we need to downplay our role obsession and instead focus on building all the needed skills in the team.

· Agile Zone

Learn more about how DevOps teams must adopt a more agile development process, working in parallel instead of waiting on other teams to finish their components or for resources to become available, brought to you in partnership with CA Technologies.

1c53u91When I first took on product management, I started learning techniques like how to understand the market, strategy, SWOT analysis.

While I didn’t write proper user stories, I prioritized requirements and was there for the team to describe scenarios, answer questions, updates on news, test the application, and give feedback. My time was split between doing product management and product ownership. I didn’t see any difference between them.

After doing this for a while, I’ve stopped doing the classic product management tasks and concentrated on user feedback. Turns out, user feedback points more to what we need to do (or not do) than theorizing (read: gambling) on roadmaps. Who knew?

Still, my view of what my job is didn’t change. It included both outbound and inbound activities. Today, the teams I coach, have Product Owners (who use to be product managers), and I advise them to take this view as well. Yet, I’ve been smelling something is off with that setup. I couldn’t put my finger on it, until recently.

A One-Two Punch

A few months ago, I went to Practical Agile‘s Advanced Product Owner workshop. (Disclaimer: the Practical Agile people are partners for work, friends and all around awesome people.) The content of that the workshop aligned with my vision of the PO and PM and covered topics from personas to prioritization.

As discussions started to come up, I saw that they were significantly more PO-minded rather than PM. People wanted to know how to write better stories and how to manage backlogs better. There was a lot less interest in product management skills.

Something felt out of place, yet I couldn’t say what.

The second event that made it clearer, was Melissa Perri's keynote at Lean Agile Scotland. (Disclaimer: Melissa Perri is a great trainer, speaker, friend, and all around an awesome person.) Melissa’s talk was about how product owners have lost the product management focus. Instead of doing product discovery, by talking to users and customers, they spend their time, wait for it, writing stories.

No matter how good you get with internal product ownership, if you don’t interview the users, you’ll probably be building the wrong thing, maybe in a better way. That requires product management, not product ownership skills.

Light bulb!

Split Personality

If you check the Scrum guide’s definition of the PO, you’ll see information on working with the development team. The only hint about actual product management is in the magical and vague word “value.” That’s it. Everything else is about backlog management, prioritizing, and helping the team, which is very valuable.

Imagine if the PO is there only one day a week to support his or her team. That wouldn’t work.

What if the PO is there four days a week for the team? That doesn’t leave much room to product management. That won’t work as well.

The role is simply too big.

With the success of Scrum (and sometimes the dysfunctional implementation of it), companies have separated the roles. Analysts go to interview users, create roadmaps, and choose the features to implement, while the Product Owners help the team in their own little circle. However, that means they are now just part of a waterfall that starts with the decision makers.

The Agile team cannot do any discovery, but can only execute an already decided plan.

Third Punch’s the Charm

Developers. Testers. Managers.

All those are skill-intensive roles. Sometimes too big to fit the bill, and then we have two options.

Our default option is to create a new role. Like DevOps. Or automation tester. Or front-end developer. Or architect. We like to put things in boxes and give them names. We then like to put people in those boxes, and people identify with the roles, so it’s a win-win.

Until the new box  feels up with work. Work that may not be effective.

Remember the PO who’s not doing product management anymore? She’s writing stories for four days a week. After all, she needs to convince management the role is worthy, or the DevOps person who starts writing superfluous automation platforms when they may not be needed.

The more effective option is what we did with developers and testers. Grow the team to include skills and knowledge to do the work. Spread those around, regardless of roles, and focus on getting the job done.

In the case of the product discovery, that means enough capacity to do enough product management and product ownership in the team. We go back to the whole team Agile approach.

Agile Role Play

In her talk, Melissa said that Agile is not enough because we need to add the product discovery into the development cycle. Instead of being just an execution methodology, to be a complete product development framework.

What is agility, though? It is an organization capability to respond to the market. That includes the whole product development cycle. Agile doesn’t need extension. We need to downplay our role obsession and instead focus on building all the needed skills in the team.

Discover the warning signs of DevOps Dysfunction and learn how to get back on the right track, brought to you in partnership with CA Technologies.

Topics:
agile ,roleplaying ,scrum ,product owners

Published at DZone with permission of Gil Zilberfeld, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}