4. srpna 2013 / batusek
In the last couple of months I have witnessed several debates about the Product Owner position. Should PO be from the customer organization of from the development organization? I found out that my point of view is different from other people in Agilia. Therefore I decided to put my thoughts on paper.
Why do you think that authors of Scrum decided to use the term “Product Owner” rather than “Customer”? There is a reason behind it – product owner has more responsibilities than customer. I will demonstrate it on three model situations.
Let’s imagine we develop packaged software – we will have thousands of customers using our product. Which of them is going to be Product Owner? All of them? Impossible. We need someone in our organization to play that role and decide which requirements are more important than others. Of course he should be in close contact with potential users. Of course he should understand who the users are and what their needs are. But he must be from the development organization.
Short term development for one customer
Let’s say we do a one-time project for one customer. Then it is surely beneficial when that customer becomes a Product Owner, isn’t it? Well, not really. The customer is surely able to decide which user requirements are important and which of them should be implemented first. But we need more. Users are not the only stakeholders of the project. If we are expected to maintain the product after deployment we must make it well … maintainable – customer will not care about logging and troubleshooting support – these are not user stories for him (and she is probably not IT expert anyway) – but internal Product Owner will – maintenance costs influence our organization ROI in the project. And there might be other internal requirements – marketing will want big company logo in the product so that he can use it as a reference, engineering will want to implement a reusable accounting component which they will later use for further customers. Good internal product owner can prioritize these requirements. Product owner from the customer organization cannot.
Long term cooperation with one customer
So what if we have a customer and we cooperate in multiple subsequent projects with her? For example, imagine IT department develops an internal product for other divisions of the same company. Then the customer is interested in maintainability of the product (because otherwise further development can be slowed down). She can get enough IT experience over time to understand technical difficulties of reusable components. And so on. Is now better to have Product Owner at the customer side?
To be honest this is the only configuration where I can imagine customer being a Product Owner. But before you setup your project think about it twice. For example, aren’t there any ideas from the existing project which you could sell to other customers? Who will collect these ideas and develop this business? Remember that the development organization has different goals than the customer organization. Even if they are very similar they are not the same (this should not hold for internal development – goals of all divisions should be aligned).
To summarize – I believe that the best place for a Product Owner is at the boundary of the development organization – in close contact with users and the customer(s) and still able to communicate with development (see picture). Don’t take me wrong. I believe Product Owner is a business role. He should be able to maximize ROI by investing into the most profitable features. I only claim that to recognize what the most profitable features are he must stem from the development organization.