In the Scrum method of agile software development, there are three fundamental roles: the Product Owner, the ScrumMaster, and the team. Because it is the most demanding of the three Scrum roles, I’ll begin by discussing the Product Owner.
Within the Scrum team, the Product Owner is the single individual who is responsible for the success of the project. The Scrum Product Owner communicates his or her vision to the software development team, outlines work to be completed in the backlog, and prioritizes it based on business value. Of course, he or she must also work closely with stakeholders (to ensure their interests are reflected in the product) and the software development team (to ensure the product is developed on time and within budget). As such, the Scrum Product Owner must be freely available to the development team to provide direction and answer questions.
However, this mix of authority and availability to the team makes it difficult for the Product Owner to resist the temptation to micro-manage. Because the Scrum method of agile software development values self-organization, it is the Product Owner’s responsibility to respect the team’s ability to complete its work based on its own plan. This means that a Product Owner cannot add work mid-sprint. Even if requirements change or a chief competitor takes a product to market that renders plans irrelevant, the Product Owner must wait until the next sprint planning meeting to redirect a team’s trajectory. (You can imagine how difficult it is to maintain a hands-off approach to management when deadlines draw near and customers make last-minute demands.)
Moreover, the Scrum Product Owner is responsible for constantly considering what activities will yield the highest business value. This means making difficult – even unpopular – decisions during the sprint planning meeting. But, again, because the Product Owner is the single individual who takes the heat if the project fails, he or she must aggressively stake out what aspects of a product are critical, when they are built, and so on. Just as the team has a responsibility to deliver the negotiated work to the Product Owner, the Product Owner is obliged to deliver the product to the customer, according to the customer’s specifications.
Using Scrum to manage agile software development is the leading strategy to help teams reduce risk and associated costs, while increasing the quality of a team’s releases. Through an emphasis on communication and collaboration, Scrum brings everyone together–from developers to stakeholders–to build a better product.