Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

A business has five requirements streams, with a "stream leader" (called Product Manager, but this is an in-house term) per-stream and a backlog per-stream.

If we wanted to follow Scrum more closely, as I understand it, best practise would dictate the identification of a single product owner managing a single backlog containing requirements from all five streams (it's all just stuff to be done, right?), from which work is pulled by a self-organizing development team.

Can anyone lend any insight into how best identify the person to be the product owner and how best to explain and "sell" the modified approach to the existing stream leaders?

NB: I realize this is a very difficult question.

share|improve this question
    
How is the overall "development" team (including BAs, QAs, Product Managers) structured and who currently has access to the users and the stakeholders? Because you're going to have to take politics into account as well, whether you like it or not. –  pdr Aug 21 '11 at 11:37
2  
Product owner is a bridge between users and stakeholders on one hand, and scrum team and scrum master on the other hand. See who can become that bridge :) –  Saeed Neamati Aug 21 '11 at 12:03
    
@pdr The development team is split according to the requirements streams, with two or two-and-a-half (yes, the "and-a-half" is anathema to my personal organisational philosophy) devs per stream. There is a separate QA team servicing the merged work products. There is no discrete BA function. –  Ben Aug 21 '11 at 12:16
    
@Saeed in this context the product owner would actually be the bridge between proxy-stakeholders (the existing stream leaders) and the development team. In trying to avoid having to recruit, the product owner would most likely come from the existing group of proxy-stakeholders, possibly causing prioritization conflicts and problems with authority over the other proxies. I suppose the product owner role could be distributed across all of the proxies as a kludge. I think the only answer is to recruit someone with solid agile PO experience into the new role (which is very unlikely to happen). –  Ben Aug 21 '11 at 12:31
    
Why do you want to follow Scrum more closely? Adhering to a specific process for the sake of adhering to it is pointless. Scrum is a framework for project management. Feel free to tailor it to fit your organization and the way your people best do their work. It will yield much higher productivity and ROI than following Scrum for the sake of following Scrum. –  Thomas Owens Aug 21 '11 at 15:40

2 Answers 2

up vote 3 down vote accepted

If those "streams" produce requirements for a single system then yes, you need an overall product owner, most importantly because you need someone to prioritize the requirements.

Implementing functionality in the order in which it provides the most overall business benefit is the core philosophy of Scrum, and that's hard to do if priorities are assigned by five different people with probably sometimes conflicting goals.

That means, the product owner must have (or be given) authority over the "stream leaders" so that he can assign priorities freely. Obviously, if they have any proclivity at all towards empire-building, they will seek to prevent that at all costs. Only if they see the overall success of the product and company as their highest goal (or if the "stream leader" job is not seen as a power base) could you get them to agree by stressing that someone must take the bigger picture into account when managing the requirements.

share|improve this answer
    
A product owner role would be "new" in the context described here. Hiring someone new for the role is prohibitively complex from an organisational standpoint. My instinct would be to have the stream leaders self-identify a product owner from amongst themselves, but this would be incredibly difficult as they are all, in effect, in competition for developer resource and will want to retain their own developers (fiefdom/whatever). In my opinion the product owner role is one of the biggest unmentioned challenges in implementing scrum-like process in an organisation. –  Ben Aug 21 '11 at 12:24
    
PS: any ideas on how to swing the prevailing wind in the minds of the existing proxy-stakeholders ("stream leaders") towards nomination of a single PO, gratefully received. –  Ben Aug 21 '11 at 12:35
1  
@Ben: as I said - appeal to their hopefully existent desire to be part of an overall successful project. Or perhaps one of them can be "promoted" to be overall PO (and succeeded by someone else as "stream leader") without being biased towards their former department. Or if there is no other way to resolve things, have the "stream leaders" rotate in the role of PO (every spring, another one takes it - could help them see the bigger picture, unless they shamelessly use it to push their own agenda). –  Michael Borgwardt Aug 21 '11 at 12:47
2  
@Ben: Or a final idea: a points system where each gets a fixed number of "priority points" per sprint they can use to influence overall priorization. The one thing you must avoid is to have conflicts about requirements end in "compromises" that negate the principles of Scrum (i.e. "We'll just have to work harder so we can do both and still meet the deadline"). –  Michael Borgwardt Aug 21 '11 at 12:47
1  
Short of hiring extra people, Michael's last suggestion (points system) is the way I would go. And I'd have it marked up on a wall somewhere, so that it is very visible to everyone and even have a percentage for technical debt, where the team is the stakeholder and can assign their own priority tasks. If a stream looks like it's going to miss an important deadline, go back to the stakeholders and say "ok, you can assign more to this stream, but this is the cost of doing so." –  pdr Aug 21 '11 at 12:55

@Michael answer is one way to do it but there is also another one. In @Michael's answer the PO is above 5 stream leaders. It can sometimes work but if those five stream leaders are business persons from different departments they will hardly get someone from product development team to sit above them. They already have such person and it is usually top manager / executive.

In such scenario you can need another approach where PO is below these five stream leaders. These five stream leaders are not part of product development team - they are customers. PO is the one who communicates with customers and collect product backlog items and assign their priority based on customers needs. Sure it is up to stream leader to discus priorities of their items and assign final priorities satisfying all of them. If they are not able to do that it is up to their managers / executives to solve the problem.

This way where "stream leaders" communicates priorities among themselves to define priorities for whole backlog and not only for their items is common in Kanban.

There is one more reason why this can be desired in Scrum. Product owner should participate during development. He should be able to describe what is needed and make decisions if needed. That decision should come from knowledge about product backlog items collected from "stream leaders". Unless your stream leaders are able to participate on product development as well your product owner should be proxy between team and stream leaders. IMO this leads to better defined responsibilities.

share|improve this answer
    
Great idea, thanks –  Ben Aug 21 '11 at 18:08

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.