One Real-Life Product Owner Team

Written by Mike Cottmeyer Wednesday, 30 March 2011 04:20

Okay… enough of the theory.  I want to share with you guys the roles involved with one of the Product Owner teams I’m working with right now.  I’ve listed each role and why we added these people to the team.

As always, interested to know your thoughts:

  1. Chief Product Owner – The CPO provides strategic product direction to the Product Owner Team and interacts directly with each individual Scrum team as necessary.  The CPO’s primary responsibility is to interface with each of the other Product Managers, gather their requirements, understand their business drivers, understand their high level timelines and make business focused trade-offs that deliver the most value to the business, given the time and cost constraints, and measured throughput of the team.  The CPO can pull other Product Managers into the Product Owner team, or even the individual Scrum teams, as necessary to communicate business goals to the team.
  2. Architect – The Architect provides strategic technology direction to the Product Owner team and interacts directly with each individual Scrum team as necessary.  The Architect’s primary responsibility is to make the significant architectural decisions that impact the long-term direction of the product, or those design decisions that have impact across multiple Scrum teams.  The goal with the Architect’s participation is to make the decisions that cannot, or should not be made at the team level.  This role should defer as many design decisions to the individual Scrum teams as possible.  The Architect will also help the PO team to understand the cost of features we might add to the backlog, and work with Product Management to develop solutions that can be delivered within the time, cost, and ROI constraints of the business.
  3. Project Manager – The Project Manager manages the overall plan and makes sure that the mechanics of the Product Owner team are happening as necessary.  The Project Manager will manage release level communication with external stakeholders; facilitate meetings as necessary, and work to help people come to consensus in the best interest of the overall product.  This person will understand the velocity of each Scrum team, and how their progress supports on-time delivery of the release, relative to the size of the backlog.  They will work across the Scrum teams to understand organizational constraints and impediments, and either get these issues resolved, or make recommendations on how the overall delivery capacity of the team could be improved.
  4. Business Analyst – The BA’s role is to provide domain knowledge in her area of expertise, facilitate the participation of other Business Analysts as necessary, work with Product Management to elicit requirements as necessary, work with Product Management and the Product Owner team to define acceptance criteria, and maintain the prioritized product backlog.
  5. Systems Engineer – The SE’s role is to provide technical domain knowledge in his area of the product.  The SE will facilitate participation of other Systems Engineers as necessary, and work with the Architects and Team Leads to document any design constraints that either guide, or limit the options of the individual Scrum teams.
  6. Quality Assurance – QA’s role is to provide domain knowledge in the area of testing and facilitate the participation of other QA engineers as necessary.  The QA representative has the job of assessing the readiness of the user stories from a testability perspective and providing guidance on how to break down user stories in a way that makes the job of the test engineers easier and results in better quality, easier to maintain, code.
  7. Technical Leads/ScrumMasters – These folks are not part of the core team, but may participate as necessary in the backlog grooming process.  Their participation in the Product Owner team is primarily a formal feedback mechanism to help the Product Owner team understand team level impediments and coordinate dependencies between teams.

Collectively, these people are responsible for decomposing the backlog in a way that can be easily consumed by the team in sprint planning.  The Product Owner team will also provide an early, high-level estimates so that we can quickly determine a release candidate scope.  The Product Owner team will bring the release candidate scope to the team for final validation, breakdown, and estimation prior to making either a final release decision, but definitely before anything get’s pulled into the sprint.

It’s early for this particular team, but I think we’ve got all the right pieces in place, and are on our way to getting this team of folks to gel.  As I said, always welcome your comments.

Product Owner Team… Who Needs to Play?

Written by Mike Cottmeyer Tuesday, 29 March 2011 10:14

To answer this question, you have to first ask ‘who amongst the field of candidates is required to make the user stories independent, negotiable, valuable, estimateable, small, and testable?’  These attributes are called the INVEST principles (created by Bill Wake, popularized by Mike Cohn):

  1. Independent – User stories are the lowest level of functional decomposition.  They are expressed in the canonical form of ‘as a <user>, I want some <product feature>, so that I get some <business value>.  They are lightweight expressions that remind us to have a future conversation with the business.  By writing user stories that are independent, we allow the business to change direction with minimal cost and impact to the emerging product.
  2. Negotiable – User stories are not detailed specification.  They are not a precise guide for how we are going to build the product, or even what we are going to build.  User stories should be high level enough that we can fine-tune both the business implementation and the technical implementation of the requirement.  This attribute gives us room to inspect and adapt as we learn about the emerging product.
  3. Valuable – User stories are written in the language of the business.  They represent an increment of product that can be demonstrated to a potential customer of the system.  This attribute can be contrasted with a technical task that might have value, but is irrelevant to the business user of the system.  Value has to be in the eye of the business stakeholder.
  4. Estimateable – This attribute implies that the team has enough knowledge about how the user story will be developed (and tested) that they can provide a high-level estimate for how long the user story will take to implement.   As the user story is about to be pulled into the sprint, the user story must be well known enough that the team can provide a detailed estimate at the task and hour level.
  5. Small – You might also express this attribute as ‘sized appropriately’.  The idea is that user stories are intended to be small enough that a team can do several within the course of a two-week sprint.  Small user stories allow us to test the software and get feedback from our customers early.  Early delivery allows us to rapidly reduce the risk that we are building the wrong product or that we are accumulating unnecessary technical debt.
  6. Testable – Testability of a user story is defined up-front before we pull the user story into the sprint.  This means that we know the conditions of acceptance before we start working on the requirement.  We know what it will take to satisfy our customer’s need and how we will verify that those needs have been met.

In most organizations, the knowledge necessary to break down user stories in this manner is not contained within a single individual.  With more complex products, there is usually a team of people required, some of which, may or may not be assigned directly to the team.  At scale, quite often we are dealing with business and architecturally significant dependencies, which must be managed across teams.   In these more advanced scenarios, we have a Product Owner Team that sits above the Scrum teams and builds the backlog with greater awareness of the whole system.

The Product Owner Team must be relatively small and empowered, but have all the people necessary to serve the role of Product Owner for the team.  This group must be able to decompose the product backlog according to the INVEST principles.   This is a big job and usually implies that the Product Owner team has representation from at least: Product Management, Project Management, Architecture, Development, Quality, and Business Analysis.

Success Criteria

The measure of success for the Product Owner team is simple.  Does the Product Owner Team have an understanding of the entire scope of the release, and do they have enough sufficiently groomed backlog to keep the team busy for at least two sprints?  If both of these conditions are met, the Product Owner team is doing its job.   As we build persistent cross-functional teams that stay together over time, and these teams establish a stable and predictable throughput… the marriage of the prioritized product backlog and the team’s velocity… will allow for fast, highly accurate release planning.

Next post, I’ll explore a bit one of the Product Owner teams I’m working with now, what roles we included, and why we included them.  

Atlanta Scrum Meetup: Emergent Architecture

Written by Mike Cottmeyer Monday, 28 March 2011 05:47

One of the biggest issues folks struggle with (when adopting agile) is balancing the ‘need’ for up-front planning with the idea that the best architectures emerge over time.  How do we balance the need to inspect and adapt with the desire to know what we are going to deliver, when we are going to be done, and how much things are going to cost when we get there.

To me, this falls into the category of ‘non-trivial problems’, so I pulled out the big guns.  I asked my good friend Brian Sondergaard, the Director of Architecture at Fiserv, to see what he could do to help us untangle some of the underlying issues.  I provided the abstract… Brian provided the presentation.

Here is the abstract I asked Brian to speak to:

“How do we handle the balance between the big up front plan, the ivory tower EA team, with the need to inspect and adapt and respond to the emerging needs of our customers? Brian Sondergaard, the Director of Architecture at Fiserv, will do the talk.”

Here is the presentation Brian came up with:

Brian did an excellent job… you guys should check out his presentation!

Why a Product Owner Team?

Written by Mike Cottmeyer Monday, 28 March 2011 04:23

The Product Owner Team is a construct used in many larger agile implementations to deal with the challenges of the Scrum Product Owner at scale. The specific makeup of the product team is highly dependent on the unique needs of the organization, and thus there doesn’t seem to be much consensus around how this team should be implemented. That said… collectively, the people assigned to this team share the role of the Scrum Product Owner. To understand the role of a Product Owner team, let’s look at the role of Scrum Product Owner:

1. Create the product backlog
2. Prioritize the product backlog
3. Elaborate the requirements
4. Communicate the product vision
5. Represent external stakeholders
6. Participate in Scrum meetings
7. Inspect sprint outcomes
8. Change direction as necessary
9. Communicate progress
10. Terminate the sprint or release

While I might have one person that serves as the primary interface to the team, we are recognizing that the PO is a job that sometimes requires more than one person to do well.  Considering the Product Owner team from a slightly different perspective…. they serve as an enabler of the Scrum team (or teams) that the Product Owner might support. They are responsible for translating the needs of the business into user stories that are independent, negotiable, valuable, estimateable, small, and testable.

These user stories are ready to be consumed by the sprint teams with minimal discovery during the course of the sprint. This team is responsible for making the key decisions that the Scrum teams are not empowered to make by themselves… usually decisions where requirements dependencies span Scrum teams or where we have architectural dependencies (cross-cutting concerns) between teams.  One of my primary goals in implementing a Product Owner team is to increase clarity and reduce thrashing that often happens in larger, more complex product environments.

I’ve been advocating for Product Owner teams for a few years now.  Next post I’ll explore some of the roles and job titles that usually show up on these teams and how they play together on a complex product.  

TAG Product Management Talk

Written by Mike Cottmeyer Sunday, 6 March 2011 04:08

Wednesday, March 9th 2011, I will be giving a talk at the monthly Technology Association of Georgia (TAG) Product Management meeting, on the differences between Product Management and Product Ownership.  Specifically answering the question, is there a difference?  If you live in Atlanta or happen to be in the area, would love to see you there.

Click here for more information about the event.  

Public Training Locations

Upcoming Training Classes

2-Day Agile Requirements Course
2-Day Agile Requirements Course
April 7-8 Orlando, FL
Advanced Agile Development with Dr. Alistair Cockburn 3 Day Master Class
April 14-16 Alpharetta, GA
3-Day PMI-Agile Certified Practitioner Course
April 14-16 Reston, VA
3-Day PMI-Agile Certified Practitioner Course
April 28-30 Alpharetta, GA
3-Day PMI-Agile Certified Practitioner Course
May 5-7 Denver, CO
2-Day Agile Requirements Course
May 15-16 Alpharetta, GA
2-Day Certified ScrumMaster Training Course
May 19-20 Alpharetta, GA
3-Day PMI-Agile Certified Practitioner Course
June 9-11 Alpharetta, GA
3-Day PMI-Agile Certified Practitioner Course
June 16-18 Reston, VA
2-Day Agile Requirements Course
June 23-24 Orlando, FL
2-Day Agile Requirements Course
July 10-11 Alpharetta, GA
3-Day PMI-Agile Certified Practitioner Course
July 21-23 Westminster, CO
3-Day PMI-Agile Certified Practitioner Course
August 11-13 Alpharetta, GA
3-Day PMI-Agile Certified Practitioner Course
August 18-20 Reston, VA
2-Day Agile Requirements Course
August 25-26 Orlando, FL