Scrum is not primarily about software development. It is a method for managing product development that can be wrapped around any specific technology, including software. Scrum as it exists today grew from its beginnings in Japan in the mid-1980s. The name “Scrum” is from the game of rugby and refers to a strategy used to get a ball back into play. The Scrum process is incremental, just as with other Agile methods.
The Scrum Master
“The Scrum Master is responsible for the success of Scrum” . Although Scrum defines this as a new role, in traditional projects its responsibilities are often taken on by an existing position such as project manager or team leader. The primary responsibilities of the Scrum Master are to:
◗ Ensure that the Scrum practices are followed and that the values behind Scrum drive enactment of the process.
◗ Work with management and the customer to identify the individual who will take on the role of “Product Owner.”
◗ Facilitate each of the other practices
◗ Be the interface point among management, the customer, and the Scrum team. Of primary importance are:
◗ Communicating project status;
◗ Removing impediments to progress
“Product Backlog is an evolving, prioritized queue of business and technical functionality that needs to be developed into a system”. The Product Backlog is the sum total of the work that remains to be done on the project and includes everything from major features to bug fixes. Any stakeholder in the project can contribute to the Product Backlog at any time, but it is the Product Owner who has the primary responsibility for determining the priority of backlog items.
The primary measure of progress in a Scrum project is the change in the number of items in the Product Backlog over time. It may grow in early Sprints as stakeholders gain an understanding of the system being built, but ultimately, a pattern of steady decrease in the size of the Product Backlog is expected. If this does not materialize, or if it is not fast enough, then hard decisions must be made about the project’s scope.
“A team commits to achieving a Sprint goal. The team is accorded full authority to do whatever it decides is necessary to achieve the goal” . Almost all software development involves teams. The key difference with Scrum is that the team freely commits to what they believe they can produce during each Sprint, and they are empowered to make whatever decisions they must to fulfill those commitments. This level of autonomy is foreign to most organizations.
Daily Scrum Meetings
“Software development is a complex process that requires lots of communications.
The Daily Scrum meeting is where the team comes to communicate”. The Daily Scrum (the defining feature of Scrum) is a short 15-minute meeting that takes place every working day. It is the forum where team members exchange information and others may come to listen but not speak. To keep the meeting short, all deliberation and discussion is relegated to meetings of interested people after the Daily Scrum. During the Daily Scrum, each team member answers three questions:
◗ What have you done since the last Scrum?
◗ What will you do between now and the next Scrum?
◗ What got in your way of doing work?
The third question provides the Scrum Master with the information he or she needs to be effective in removing impediments to progress and ensuring the team continues to be productive.
Sprint Planning Meeting
“Customers, users, management, the Product Owner, and the Scrum Team determine the next Sprint goal and functionality at the Sprint Planning meeting. The team then devises the individual tasks that must be performed to build the product increment”.
Each 30-day Sprint begins with this planning meeting. The critical outputs of this meeting are:
◗ Sprint Goal—The objective that is to be achieved during this Sprint.
◗ Sprint Backlog—The subset of the Product Backlog that will be completed
during the Sprint.
The Product Owner is the sole arbiter of the priority of the Product Backlog items. But only the Scrum Team can commit themselves to completing specific work. The Sprint Planning meeting is the forum where lobbying and negotiation take place. At its conclusion, all stakeholders will have agreed to a Sprint Goal and Sprint Backlog to which the Team is willing to commit.
“The team works for a fixed period of time called a Sprint”. After the negotiations of the Sprint Planning meeting, the Scrum Team has full authority to complete the 30-day Sprint by doing whatever they feel is necessary. During the Sprint, the team self-organizes and self-directs, and their authority even extends to being able to:
◗ Change the functionality to be delivered by the Sprint as long as the Sprint Goal is still achieved.
◗ Abort the Sprint if new information leads them to believe its Goal or Backlog is no longer achievable or relevant.
Assuming the team does not abort the Sprint, it ends with the delivery of the promised executable product increment.
“The Sprint Review meeting is a four-hour informational meeting. During this meeting, the team presents to management, customers, users, and the Product Owner the product increment that it has built during the Sprint”. This meeting provides a concrete picture of the progress achieved during the Sprint and lays the foundation for the next Sprint Planning meeting.
- Takeuchi, H., and I. Nonaka, “The New New Product Development Game,” Harvard Business Review, January 1986.
- Schwaber, K., and M. Beedle, Agile Software Development with Scrum, Upper Saddle River, NJ: Prentice-Hall, 2002.