Also: Customer, On Site Customer
On an Agile development team, the real customer or end user, or a stand-in for the customer or end user; a non-coding team member who has a complete grasp of the requirements and business value of the product and is responsible for prioritizing work for the team.
The Product Owner is the primary author of the user stories, owns the product backlog, prioritizes the stories, writes acceptance tests and accepts work completed by the team. On some teams, the product owner may act as a liaison between stakeholders and the team, communicating the vision of the product while ensuring the team stays on track to meet the customer’s goals. On other teams, typically involving larger projects, this role may be played by a Product Manager. In Extreme Programming, the preference is for the On Site Customer to be an actual customer, not a stand-in.
Agile coach Simon Baker elegantly describes the role of the Product Owner: “You must recognize that through your actions – writing user stories and acceptance tests, prioritizing user stories by business value, deciding which user stories are developed next, providing rapid feedback, etc – you are effectively steering the project and are ultimately responsible for the business value that is delivered. As the driving force behind the project your presence must be visible, vocal and objective.”
Tip: Some agilists enjoy referring to the Product Owner as the “single wringable neck” on a team—the person who bears responsibility for the team’s failure to meet it’s sprint or release goals. However, there is a great deal of disagreement in the professional community as to whether this notion is truly Agile, so we do not consider this level of ultimate responsibility to be native to the role’s core definition.
Certified Scrum Product Owner is a professional designation offered by the Scrum Alliance, obtained by completing a two day introductory course and passing a one hour exam.
The term Product Owner is commonly used across agile frameworks, but is native to Scrum. In extreme programming, the role is referred to as Customer, or On Site Customer.