A modern fable: Where the Product Owner role came from

This story is a fictional account of how the Product Owner / Customer role may have come about. It’s purpose is to illustrate why so many companies have so many problems with this role.  After the fable, the article continues with some examples showing what some companies are doing differently.

Once upon a time there was a team implementing software. They had just been staffed to a new large project which would be released as a series of releases. They met with the Business Analyst to learn the requirements of the first release. They developed a solution, then showed it to the Project Sponsor. The Project Sponsor was not happy. “This is not what I want”, he said. “You will have to redo these 3 parts completely.” And so the team reworked those parts, showed them to the Project Sponsor, and life was good.

The team started the next release, and the same thing happened. The Project Sponsor liked some of what they did, but other parts they had to completely rework.

One day when the Project Sponsor was not happy, the team said in frustration, “If you are not happy with this then come and sit with us and show us just what you want us to do”. The Project Sponsor agreed and sat with the team for a couple of days until the problems were fixed. Everyone was happy.

The team said, “This worked so well, come and sit with us all the time and tell us what to do.” The Project Sponsor said, “I cannot possibly do that, I have another job”. So the team said, “Then send us someone you trust completely to tell us what to do and agree that if our work is acceptable to that person then you will also accept the work.” The Project Sponsor agreed to do that for the next release.

The Project Sponsor sent one of the best of his staff to sit with the team full time for the whole release cycle. This was just as good as having the Project Sponsor sit with the team. When the Project Sponsor saw the finished work, he was happy.

The team said, “This is the way we should always work. There should never be someone between us and the Project Sponsor, though having one of his best people worked out.” And the Project Sponsor thought, “This is not sustainable. I cannot give up my best people forever”, but he said nothing because everything was in fact working for this project and he would worry about how to address the issue later on a different project.

That team was led by someone influential in the software development community, someone who did a lot of writing and speaking at conferences, and so the word spread. Teams with the same frustrations embraced this model and insisted on it with their Project Sponsors. A short term fix born out of frustration and immediate need, that was not grounded in root cause analysis, became a recommended solution for everyone.

Unfortunately, this story did not have a happy ending. When that project was finished and the product released to end users, they rejected it. It did not meet their needs. One thing the Business Analyst had done was work with the end users, so by removing that person from the team, there was no one looking out for the end users. The Project Sponsor and his staff were not in touch with actual end users and their needs. Ultimately this project was a failure that wasted millions of the company money.

This model of the customer sitting full time with the team, that was an impulsive solution to the problem of the team having to do rework due to the Project Sponsor being unhappy with the results, introduced two intractable problems:

  1. It is not sustainable for the business to remove Project Sponsors or members of their staff from their day-to-day work to sit full time with an implementation team to tell them what to do.
  2. It removes the voice of the end users from the project (UX as it exists today is too much about design and not enough about the actual human beings using the product. It is insufficient.)

====================================================================

What is needed is a determination of the root cause of the initial problem and fix that.  Since this is a fable, we can only guess at the root causes. These are some things I have seen in my career that have caused exactly the problems described above:

  • The Project Sponsor changed their mind at some point and did not communicate the new requirements to the Business Analyst.
  • The Business Analyst spent too much time with the end users and did not cross check the information with the Project Sponsor.
  • The Business Analyst was not trained or know how to do the role.
  • The development team ignored what they were told by the Business Analyst.
  • The development team did not review documentation provided by the Business Analyst.

I am seeing a number of different approaches to resolving these issues.

Microsoft recently published some articles about the 5 year Agile journey they have been conducting in their developer division. They have found they need 2 Program Managers for each team of about 10 implementers. (A Program Manager combines the responsibilities of Product Manager, Business Analyst, and Product Owner.) This allows each one to spend half their time on the work they need to do on the business side and half their time with the Agile team.

Menlo Innovations does custom programming. Their customers are other companies.  The customer is not on-site, the users are not on-site. Menlo has High-Tech Anthropology teams who coordinate the work between the customer, end users, and their own XP teams. Each XP team has a pair of Solution Anthropologists working with them.

A lot of projects still have a traditional Business Analyst role. But they understand that they have to train and mentor their Business Analysts. They do not just put any warm body in the role if they want that person to be effective. They typically train their Business Analysts in a broad range of skills, including things such as mediation, negotiation, and effective communication.

I just talked with a Business Analyst today who recently got a top award from her company for effectively negotiating the requirements and release schedule between the business unit that was the customer, the actual end users, and the Agile IT team implementing the solution. This was a very tricky situation, and she was personally credited for making it work to everyone’s advantage.  She is highly trained in not only Business Analysis but also in Sociology and Leadership.

In all three of these examples, the team is not getting input from one person (the customer, the Product Owner). Rather the team is getting input from the customer and many, many users filtered through one or two people who directly interact with the team.

At Microsoft, the Program Managers are responsible for being closely in touch with the market and the end users, and they bring that knowledge with them when they sit with the team. The same is true of the Solution Anthropology teams at Menlo and the well-trained experienced Business Analysts I meet.

We do not have to remove a business SME or Project Sponsor from their full-time jobs to make Agile work. We need to provide trained, experienced people who know how to negotiate the best results for the customer, the users, and the teams who implement the solutions.

Geri Speaking at Better Software Conference East Orlando

The conference schedule is here:
http://bsceast.techwell.com/schedule/grid

If you are at the conference, be sure to come to my working session on Wednesday – “Observation: The Key to a Great User Experience” – and say hi! We will be practicing some different observation techniques during the session :-)

I am also available at the meet the speaker tables at lunch on Wednesday and Thursday, and available at presenter 1-on-1’s on both Wednesday and Thursday.

Hope to see you there!

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).

Using Kanban to Organize Your Work

A lot of our Business Analysis work is very much the same from one project to another. Because we do the same tasks over and over, it can be useful to organize the work on a Kanban board.

A Kanban board is used to control the amount of work you have in progress at any particular point in time. It also shows the status of the work and how you have it prioritized. It is an excellent way to communicate with your manager and your team exactly what you are working on. At the same time, it is very simple to create, maintain, and review.

First describe a sequence of work. For example, if I were writing user stories for a project, once I have identified a set of user stories my sequence of work might look like this:

  1. Generate ideas
  2. Write the basic user story
  3. Write the acceptance criteria
  4. Review the user story with the product owner and set its priority
  5. Review the user story with the project team and get a size estimate
  6. Review the user story with a test professional and write scenarios
  7. Review the user story with a UI designer and create mockups

Each item on the list will become a column on my Kanban board.

Kanban1

Next, think about how much work in progress makes sense for each column. The idea column can probably be unlimited. How many ideas do you want to work on at the same time to write user stories for them? How many user stories do you want to work on at the same time to write acceptance criteria? What you will do with these numbers is control how many user stories you are working on at the same time. For the columns you want to limit, add that number to the column. I have big numbers for the Product Owner and Team reviews because those reviews are comparing a set of user stories to each other and so they work better with a large number of user stories. I have a small number from idea to user story because I have found that most of the time one idea turns into many user stories.

Kanban2

Finally, use the Kanban board. I have purchased 3-sided presentation boards from an office supply story and put the kanban labels across the top. Then I use sticky notes for the items in the column. I can set the presentation board on the end of my desk where I can see it and I can easily take it to meetings to share with others.

I start with generate ideas. I will use whatever techniques make sense to come up with a list of ideas of what to do in the project. I write each one on a sticky and put them on the board under generate ideas column.

Kanban3

Then I pick one that looks important and move it into the Write User Story column. This shows I am working on turning that idea into some number of user stories.

Kanban4

I write each user story on an index card styled sticky note. I can post them under the idea in the write user story column.

Kanban5

I will move no more than 5 of those user stories into the Write Acceptance Criteria column because that is the next thing to do and I will work on no more than 5 at a time. If there were more than 5 user stories, the rest wait in the previous column. They are on hold until I get the first 5 done. Also, I move fewer than 5 user stories. 5 is the maximum I set on the column.

Kanban6

Some people like to use red colored dots to put on items that are waiting, and sometimes make a note about what they are waiting for. This can be very useful when you are waiting for someone else to do something. You can show that your work is blocked and it is obvious to everyone.

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.

….

If you need to learn to write user stories and scenarios, and want to know the problem areas to avoid, I have put together a tutorial on exactly how to do this.

This tutorial is part of my new Small Bites series, so you know it is focused on just what you need to know, short, and streamable on mobile.

The topics covered are:
* When and how to write a user story and where to put it
* The user story card
* When and how to write acceptance criteria and where to put them
* When and how to write scenarios and where to put them
* Using spreadsheets, use case diagrams, and activity diagrams (flow charts) with user stories
* Splitting user stories that are too big

Many people tell me they can only do training while waiting in line, or listening while driving. So I put the package together so you can download, stream, or both.

Many of you spent more on coffee today than you will spend on this tutorial.

Get it here: Writing User Stories, Acceptance Criteria, and Scenarios

Enjoy!

Geri

Writing the Project Purpose

Have you been on a project where people just argue all the time about the features or the scope? Or a couple of the developers come up with software that contradict each other? Or no one seems to know what they are doing? Or maybe the team questions why this project is being done at all?

I have come across these kinds of things in a lot of projects. Let’s take a look at a real world example and show what you can do to fix these kind of problems.

No one knows what the project is about
====================================
One year into a 4 year project, I was invited to take over as Senior Business Analyst and Assistant Project Manager. The team had really been struggling with determining which requirements were part of the scope of this project and which were not. There were a lot of arguments going on between the Project Sponsor and the various stakeholders about what the project was supposed to deliver. The project should have been much further along after one year, but it kept being delayed while everyone tried to figure out what they were supposed to be doing.

Whenever I hear something like that, it is obvious to me that there is some problem with the project vision. Either it has not been shared with everyone, it is poorly described, or possibly some of the stakeholders disagree with it.

In this kind of situation, the first thing I want to look at is the project purpose or project vision to see if it is well written. Then I will interview key people in the project to see if they agree with the project purpose. I use this approach to discover what the problem is – a problem with the vision, with communication, or with lack of agreement.
….

Have you experienced something like that on your projects? I find it really frustrating to watch a team not making progress due to lack of direction and I just can not stop myself from trying to fix it.

Even though the project was already one year old, I went back to the original project documentation to discover what the project was supposed to be about. I also interviewed the Project Sponsor, Project Manager, and the key stakeholders of the project to discover what they thought the project was about.

I had the perfect excuse to do all that – I was new to the project so it was reasonable for me to ask what it was about.

I discovered that there were two, closely related projects, both of the vision documents were poorly written and confusing, and there was some of the same information describing the purpose and scope of each project. No wonder everyone was confused! Not only was the scope not clear on this project, but it was related to scope that was not clear on a second project!
….

In this situation where the two scopes were closely intertwined, I got permission from the Project Manager and Stakeholders to put both project visions together and rewrite them as if there were just one project. I analyzed the new vision, made sure it was clear and easy to understand, and got it approved by the Project Manager and the Stakeholders.

Once everyone understood the whole thing, they were able to divide the vision up into independent pieces. They actually redefined this as five new projects, each of which was well-defined and independent. That meant that instead of doing the projects one after the other, they could do all five at the same time.

We went from having one large confused team to having five small focused teams. There were no more arguments about which requirements were in scope or out of scope, no question about what was the most important thing to work on next, and the stakeholders were much more confident that they were getting what they needed.
….

What other approach might I have taken? Project 2 had not started yet, so what I had initially considered was just looking for related scope items and putting them all together in either project 1 or project 2, being careful to balance how much work was in each one based on their projected size.

In my particular situation this did not work for two reasons. First, there was a lot of overlap between the projects, so it was much easier to just put the whole set together to review. Second, the scope items were written so poorly that it was not clear which ones were related.

Before writing the project vision, I had to go back to the sponsor and stakeholders to find out what was intended by each scope item and rewrite a new set of scope items based on what was really meant. If the scope items had been well written, then it would have been easier to just move scope items between projects to remove dependencies and overlap.
….

In general, how do you fix problems with the project vision or project purpose? The basic approach is this:

  1. Review any written documentation
  2. Interview the Project Sponsor and key stakeholders
  3. Put together all the information you have learned and if there are any inconsistencies or areas that do not make sense, review the information with the Project Sponsor and together write something that does make sense.
  4. Analyze what you have written to be sure it is sensible and complete, do more research if you need to, rewrite the project vision if necessary, then verify it again with the Project Sponsor.
  5. I like to put the information into a formal statement or document so everyone gets the information the same way. This does not have to be a big document. I have worked on projects were 3 goal statements of one sentence each were enough to describe the project.
  6. Be sure to share this with everyone on the team. You will not remove the confusion unless everyone knows what the project is about.

Usually it is not much work to write a good project vision or project purpose. When it is a lot of work, that means it is even more important to do it right.

Why?

When it is a lot of work to write the project vision or purpose that is because there is a lot of uncertainty and misunderstanding. It can be a lot of work to resolve the issues and gain clarity.

Why is this important?

My project that was behind schedule after a year not only made up time, but finished early once everyone knew exactly what they were supposed to be delivering.

I see this every time that the project purpose, vision, or scope is poorly described – the team wastes a lot of time trying to figure out what they are supposed to be doing. If you spend a relatively small amount of time making sure the purpose of the project is clear, you save a lot of time for all the team.
….

If you are struggling to write a project vision, project purpose or project goal, I have put together a tutorial on exactly how to do this. This tutorial is part of my new Small Bites series, so you know it is focused on just what you need to know, short, and streamable on mobile.

Along with three short videos, there are text notes, a mindmap, three examples from real life, templates, and even a quiz.

Many people tell me they can only do training while waiting in line, or listening while driving. So I put the package together so you can download, stream, or both, and the videos are no more than 15 minutes long each (usually less than 10).

Many of you spent more on coffee today than you will spend on this tutorial. Get it here:

Writing the Project Purpose

Explore Why Business is not Benefiting from Agile

Many business people tell me “Agile is doing nothing for me. All I get from IT are requests for more of my time, money, and resources. I’m not seeing the benefit to the business”.

They tell me what they need is better engagement with customers and the ability to pivot in response to market changes and disruptive technologies.

Bring your questions to this webinar that explores why Agile is not giving you the business results you need and what you can do to make your business more responsive.

http://www.thefluidagile.com/webinars/5ThingsITdoesNotSay.html