Complex software projects have no shortage of moving pieces, making the Agile methodology a logical approach to keep everyone heading in the right direction.
Though there are several roles on a scrum team, there is only one that provides the "single source of truth." Within the Scrum framework, the Product Owner is THE key stakeholder of a project. It is imperative to set clear expectations with your product owner about how they will be working with the team.
This is especially essential if you are working with a product owner who is new to product development and the agile methodology. A clear product owner contract not only ensures that everyone is on the same page about roles and responsibilities of the product owner and scrum master, but it also provides a written set of expectations of everything you need from your product owner for your team to become successful.
So here are a few things that you should have in your product owner contract:
Expectations for availability in the initial few sprints: Like most agile teams, the initial few sprints require a lot more input from the product owner. Mention in the contract, the number of hours you will need from the product owner, in the initial few sprints to create a backlog.
The product owner shall be a single source of truth for the project: This means that the scrum master will speak directly to the product owner even if there are multiple stakeholders on the product. We want to make sure that the product owner understands that she will guide the vision of the product and that the scrum master will not be responsible for regularly speaking with multiple people, who might have different priorities.
Product owner to set availability for the team: The product owner ideally should be present at essential team meetings like the sprint planning meeting, the retrospective, the mid-sprint check, and the sprint demo. It helps to discuss the timings for these meetings so that it works for everyone. In a co-located team, the product owner could be a part of the daily standup as well.
Set the times and days for the above meetings and have them in the team calendar to ensure everyone is on time.
The product owner is responsible for prioritization: The product owner should set goals and priorities for the team. The scrum master could help the product owner do this exercise of prioritizing and goal setting. Still, ultimately, it is the product owner's responsibility to decide what the priority for the next sprint should be, taking into account the feasibility of those items.
Available during core hours: Many decisions that the team needs to take daily, could be simplified if the product owner is accessible. If the product owner is based in a different time zone than the team, then the team could agree on certain overlap hours, to ensure that the team can collaborate with the product owner, regularly.
Provide feedback during the sprint: Instead of waiting till the end of the sprint to demo stories, encourage the team to demo stories as they are completed during the sprint. Set expectations with the product owner about this, and agree on a time frame within which the product owner can provide feedback so that the team can incorporate the feedback as early as possible.
I highly recommend that you discuss all of the above points with the product owner, and then have them in a contract that is shared with them.
This will ensure that you can always go back to the contract to make sure that the product owner and the team stay on track to ensure the success of the team.