Product Owner Role – What Scrum Leaves Out

The Product Owner role in Scrum is a well-defined description of how a single person who represents the business interacts with a Scrum team to get software or products implemented that the business wants or needs.

This is in no way a complete description of what the business has to do to reach that point, nor is it intended to be.  But too many Scrum teams think that the description of Product Owner is a complete description of the business role and do not recognize why the person they think should be in the role is seldom the right person.

So what does “the business” do?  First, we have to identify what “the business” means. In this context “the business” is how the company makes money. It can be for example a product, product family, business line, or service unit.  Sometimes “the business” is an internal unit of the company, such as accounting, that supplies necessary services to the corporation. Someone is responsible for that business, typically someone who is reporting directly to the CEO or COO of the company.

What is that business owner responsible for? This person is responsible for knowing everything that could impact business including the market, the users, the regulatory environment, and the competition. This is the person who decides when to pivot, what to do about disruptive technology, when to enhance a product, or when to remove a product from the market. The business owner makes suggestions to the C-executives about budgets and is responsible for the Return on Investment (ROI) for their business. For overhead units (those that do not make money), the business owner is responsible for providing the services in the most cost-effective manner.

Unless the business is tiny, this is not a job for one person. The ultimate business owner has a team of people who work to collect information, create reports, suggest work to be done, suggest budgets and so on. The staff working for the business owners are experts in their own areas. All of this information is reviewed by the business owner and is the input to his or her own decision making processes.

While the business owner is ultimately responsible for the business, this person is rarely involved in the details of the work to run the business. That is why they have staff to do that work. For any particular project that needs to be done, it is seldom the case that the business owner is the one who knows the details of that work, and so that person makes a poor choice to be Product Owner to the Scrum team.  Yes, this person is ultimately responsible for the vision and return on investment of the business, but that does not mean the business owner wants or needs to be responsible for the vision and return on investment of a particular initiative, nor do they have the time to do so.

So who will take on the Product Owner role for the duration of a particular initiative?  The person who is the Product Owner will be someone who has the knowledge of what needs to be done and the trust of the ultimate business owner to deliver the required ROI. This person is trusted to balance the needs of the users, the needs of the business, and what is technically possible in order to achieve the best overall result.

While the Product Owner will usually be able to make the day-to-day decisions, there may be times when he or she needs to discuss questions with the ultimate business owner. Some complex situations may be beyond the ability of any one person to handle, and so the person who is the Product Owner may sometimes need to get a team of people together to work out the best thing to do. This should never be because the person with the Product Owner role is too junior, but should be due to the size or complexity of the work.

Business owners make a big mistake when assigning very junior people to the Product Owner role. This is a role for a person with deep knowledge and understanding of the business vision and the market (or of a specific supporting domain such as accounting), and the the ability to deliver on the required ROI. People like this are very valuable to the business and cannot be converted to Product Owner as their full-time job.  Instead, they should be assigned to a specific initiative which they are best suited to guide. The work of Product Owner should take only part of their time, since they need to also spend time continuing to keep track of what may be changing that impacts their business and the specific initiative they are guiding as Product Owner.

For business units that make money for the company, the Product Owner will often have job titles such as Product Manager, Marketing Engineer, Marketing Visionary, Business Analyst (on the business side, not from IT), Solution Anthropologist, User Experience expert, and possibly even Head of Sales.  For overhead departments you might have a Lead Accountant, Statistician, Big Data Guru, Lawyer, Operations Manager, or Head of Customer Support.

Scrum teams should always keep in mind that to get someone with the knowledge and authority to be responsible for the vision and ROI, they will have Product Owners who have jobs that go far beyond the Product Owner role. The Product Owner role only describes the interaction of the business with the Scrum team, which should rarely be a full-time job (and then only for brief periods).

Why Business Analysts should write User Stories for Agile teams

I have seen so many Agile teams struggle with requirements. They do not want big documents, they think they do not need a Business Analyst. In fact, they think they will just grab the Project Sponsor and have that person sit with the team to tell them what to do.

This has not been working out so well. Except in a small number of situations, it is not going to work out very well. The reasons have to do with the environment where Agile is designed to work. If your teams are not working in the right kind of environment, then the Agile team has to adapt how they work.

Let’s look at what that environment is supposed to be, where it breaks down, and what you as a Business Analyst can do to make it work better.

How Agile is Designed to Work
===========================

If you look closely at the Agile Manifesto, Extreme Programming, and Scrum they all are based on a particular work environment. If you can set up that specific work environment, then the practices work fairly well for the programmers. There are still some missing pieces and
possible problem areas for the business, which I will discuss at another time, but the development team is very effective.

What does that work environment look like? It is really pretty simple. You have:

* a team of 10 or fewer development professionals
* the team can do all the work; specifically they do not need to get a database person, security person, tester, or ops person, they do all the work themselves
* the team is seated together in the same physical location typically with lots of white boards available
* the team works the same days and hours
* the customer (Project Sponsor) sits full-time with the team
* the same team is typically kept together over a period of years

In this environment, user stories are written by the Project Sponsor. These user stories are placeholders for conversations that will occur between the development team and the Project Sponsor. They are not themselves requirements.

When the time comes to implement a user story, the team and Sponsor talk about the user story and how they will know it is complete. They will write up scenarios that describe what will happen. The developers estimate how much effort it will take to code the user story and decide if it will fit in the next iteration. If not, the user story will be split into smaller pieces. If it does fit and there is room for more work, the team repeats the process with the next user story.

Now the day comes to actually work on the user story. The team will get more details from the sponsor. They may white board a flow chart of the process, do some quick sketches of screen mockups, or make a list of business rules that need to be implemented. As the team works on writing the code they may go back to the whiteboard to discuss design issues or flow chart the flow through the code. Finally the code is complete, they test it, and release it.

….

It is easy to see that in this work environment, developing the requirements through conversations and white board sketches can work out (assuming the Project Sponsor actually knows the requirements).

But …. Does this description match what you see at work? Is the work environment described above anything like what you see at work?

My experience is that this kind of work environment is quite rare and in most companies it is not actually achievable overall. It would require a massive overhaul of the company, which would actually not be worth any benefits they might achieve. Instead, you might see this kind of work environment in small, well-defined areas of the company.

….

How is this model typically broken, and what are the consequences for requirements work?

These are the primary reasons the model breaks:
* The Project Sponsor does not have the time or the knowledge to sit with the development team and give them the requirements
* Your company is structured as silos and centers of excellence so there will be outside people, such as database, security, ops, and testing, that will be required to work with the team to complete all the work
* The team is distributed over distance and time – they cannot all work together at the same time
* There are a lot of users impacted by the work and all of them have to be considered when developing the requirements, not just what the Project Sponsor thinks needs to be done

What all of these things lead us to is the need for a requirements professional to elicit the requirements and document them in the best way to share that knowledge with people who are not physically present. For the vast majority of us, we need to document requirements because we cannot share them through conversation and white board sketches alone.

I do not mean to suggest that you have to produce big documents, nor do I think you should write all the requirements once at the start of the work effort.

….

There has been some fascinating research about the brain in recent years. What it tells us is that we as humans are genetically designed to respond to the present moment. We are not good at remembering things once the moment has passed, nor are we good at thinking of future impacts. Now clearly some people are good at those things, but most people are not.

Think about the last meeting you attended. If you did not take notes, how long did it take before you forgot what was discussed and what the action items were? Science tells us that as people leave the meeting, their brain drops a significant percentage of short term memory to leave room in short term memory for what they will be doing next.

This is why taking notes at a meeting is so important!

So even in an environment where everyone is together and having conversations, it is important to make notes of at least the decisions that were made and the action items that need to be addressed.

This is even more important when the team cannot sit together having conversations all day long. Any of the team members who are having discussions have to make notes to share with the rest of the team. Even if they can talk with the other people by overlapping work schedules, if they do not make notes for themselves, they will forget information that needs to be shared.

….

So what is the answer? I think we still need people who are trained in requirements elicitation, analysis, and a variety of ways to document information.

Here is an outline of an approach I have seen work really well:
1. The Business Analyst meets periodically with the person who is paying for the work. This might be a Project
Sponsor or a Product Manager.
2. The Business Analyst works with that person to determine the scope of the work – what are they paying for?
3. Based on that information, the Business Analyst determines what needs to be done to elicit the user stories. It might be working with the Project Sponsor or Product Manager. It might be working with various SME’s. It might be working directly with end users.
4. Before a new iteration of work, the Business Analyst works with the people who know the requirements (and often a testing professional) to develop the scenarios of a small number of user stories that will be implemented next.
5. This information is provided to the sponsor and the development team so they can determine what work will be done in the coming iteration.
6. The Business Analyst sits with the development team and determines what they need to know in terms of detailed requirements. The Business Analyst brings the right people to the team to discuss detailed requirements. In the situation where this is a lot of people, the Business Analyst may need to start work one iteration ahead of the development team, working on the detailed requirements to have them ready when the team is ready to implement them. In that case, the Business Analyst is the person that the team talks to in order to discover the requirements.
7. The Business Analyst creates just the right documentation to share the information with team members who are not local. This may be as simple as photographing sketches on a white board and posting the photos on the team’s online page.

The goal here is for the Business Analyst to work with the Project Sponsor ahead of the development team to be sure work is continuously streaming to the team. The idea is not to produce documents because some process said that every project has to have exactly those documents. Instead, you determine based on your particular situation what provides the most value.

….

It all starts with writing user stories and producing scenarios for them. Most likely the Project Sponsor will also want to collaborate with you to manage the user stories. And you, the Business Analyst, are the right person to determine how much and what kinds of documentation are needed to coordinate the work of your team.