Who should be the Product Owner if client who ordered the project and development team are in two different organizations? We have had this problem on many projects so this post describes the issues we have been facing and suggests a solution that seems to work best.
On the one hand she should be from client's organization because otherwise it can easily happen that there is no single person in client organization who is responsible for the success and progress of development team. Instead there are many contacts and managers who all have varying interest areas and priorities.
However in most cases this PO is not able to dedicate much time for the team because he has other important responsibilities in his organization. Often he only provides general product vision and high level epics or themes leaving a lot ambiguities to be clarified. This in itself is of course not perfect but I assume that the need for client involvement mainly depends on the complexity/criticality of the application being built. At one side there is development of application only for internal use that supports some peripheral business processes while at the other end we have package product or application that is critical to the core business.
With client PO what I have seen usually happen is that the team starts treating some person from the team as the "product owner". In small teams he is usually also the Scrum Master and a tester or developer so now he will become even more overloaded. In addition to one person being overloaded bigger problem is that we may have other team members underloaded. Meaning that it may be harder to get all team members actively contributing to the project - not just waiting for answers/problem solutions but also showing initiative in offering solutions and digging deeper in requirements.
If we try to avoid the aforementioned problem and assign someone from the team to be the PO then we will still have to deal with client commitment. So it is recommended to have single person in client organization who is not only the one who provides initial vision and writes the checks but one who understands that the success or failure of the project depends also on his own commitment. We can call him the Product Owner but then there should be someone in the team who is assigned to be the Product Owner surrogate right from the start.
Comments (3)
Apr 16
Luiz Ribeiro says:
I see the Product Owner as whichever person who has a very good knowledge of the...I see the Product Owner as whichever person who has a very good knowledge of the application domain and of the clients' needs.
I think that ideally this is a business analyst, who has the specific job of going to the client and get as much details as possible and become a real expert on everything it needs and wants.
From what I have experienced this not a very common practice though, leaving us with the problems you mentioned... :(
Apr 19
Ürgo Ringo says:
Using business analyst as the PO is big topic. I found discussion here quite int...Using business analyst as the PO is big topic. I found discussion here quite interesting: http://alistair.cockburn.us/How+Agile+is+influencing+the+role+of+the+Business+Analyst
About business analysts in general. I guess it depends greatly on the team dynamics and the type of software being built but in many cases I'm not sure that having dedicated business analyst in the team is beneficial. Analyzing and understanding business domain is essential to software development. In most cases it is so integrated with writing code and tests that splitting it to separate responsibility is very hard without affecting the effectiveness of the team. In addition if developer puts his knowledge into code and tester into tests then where could analyst pour his knowledge into? I suppose that in most cases into documentation. Having documentation or not should be treated as just another non-functional requirement. However if it is created as a byproduct of development itself then it isn't very valuable.
Apr 19
Luiz Ribeiro says:
Of course some domains are not so complex so the BA would just be sitting around...Of course some domains are not so complex so the BA would just be sitting around.
And I do agree with you that there are some complications on having a person with this only reponsibility.
But it is tricky... what I see happening a lot is the classic 'a shared resposibility becomes nobody's reponsibility'.
We have the Product Owner who usually has also a second role, usually programmer or tester (since he/she wouldn't have much to do if his/her responsibility was solely understand the client's needs and maintain the backlog). Add this with the mentality that the team is has the shared responsibility for fully understanding the domain and what you usually have is nobody doing what the PO should really do, which is to be an expert in the client's needs, wishes and priorities.