I recently attended an Agile Training course which was held by some ex-ThoughtWorks employees. I found it to be extremely beneficial and the one thing that the presenter kept hammering on is the importance of the product owner. I agreed with her on a few points and since I have never written about the importance of the product owner, I thought this would be the opportune moment to do so.
If we look at one of the four main pillars of the agile manifesto, the first one states the following:
Customer collaboration over contract negotiation
For me, the key word in that sentence would be collaboration, as without tight collaboration between the entire team and the product owner, it will be very difficult in ensuring that the product delivered is actually what was expected. This means that anyone in the team should be able to go up to the product owner and ask them any questions. At the same time, the product owner should always be available to assist them when they need clarification etc. If they find that they are too busy and don't have the time to support the team, then they either need to free up sometime for you or you need to consider finding another product owner.
In one of my previous projects, we had a product owner that was never available to ask questions or show incremental progress to get feedback. Looking back at it now, what we could have done was maybe have given them some background on how an agile project works and the importance of the product owner. With this understanding, they may have responded better to us.
Let Me Check First...
The other big issue that I see with product owners is that they don't have the required authority to approve changes or make decisions. If you often find your product owner saying something along the lines of "My boss said..." or "I like the idea, but let me check with XYZ first." then those are signs that they don't have the required power to make decisions. If they don't have this ability then you land up wasting time and delaying the team as you wait for other people to "give their blessing".
There Can Only Be One!
Related to the item above, is that there should only ever be one product owner on the team. The reason being that you want a single point of contact and you don't want to waste time talking to multiple people about a particular item. Also, if you have multiple product owners, whom do you listen to? Whose changes do you go ahead with? This often leads to more complexity that actually necessary.
Should you land up in the fortunate circumstance where the team is delivering more work than was originally scheduled then what you want to do is first show the completed work to the product owner and see if they want any additional changes. Once they are happy, you can then ask them what to start working on next. The reason for this, is that you never want to surprise your product owner. When you do demo something at the end of the sprint, they should be aware of everything you are showing and nothing should come as a shock to them.
As employees, I believe that we should always have the opportunity to seek to add value to the company. The same goes when working with the product owner. Often they will tell you want they want to be done, instead of telling you the problem that they want solved. If you question why they want that you may find a better solution to the problem. Always first try to understand the problem at hand, before just implementing the solution.
The importance of the product owner in an agile project cannot be overstated. You need that collaboration and team work in order to ensure that the best possible product is delivered. I'm not saying that it isn't possible to deliver a project without a product owner, instead, if you do have one as listed above, then things will have a much better chance of success.
Until next time...keep learning!