What is Scrum?
Scrum is a project and work management framework that is under the umbrella of Agile Development concepts. Scrum’s fundamental strengths lie in the creation of clear responsibilities and accountability within the software development workspace and in the creation of self-managing, self-organizing development teams.
In the most basic sense, Scrum works like this:
- The Product Owner decides what he or she wants in the product and creates a list of items called the Product Backlog. This list changes constantly and is maintained by the Product Owner.
- The Product Owner prioritizes the Product Backlog as he or she sees fit, putting the items wanted first on the top of the backlog and positioning items of lesser importance further down on the list. Again, prioritization occurs on an ongoing basis.
- The Product Owner describes the meaning of the highest priority items with the Scrum Team, who determine how they will build the item and express that means in terms of tasks called the Sprint Backlog. This process is called the Sprint Planning meeting and it is supported by the Scrum Master.
- With the Sprint Backlog containing as much as the Scrum team feels they can actually do during the next Sprint, or iteration, they begin work, using the Sprint Backlog as a guide.
- Every day during the Sprint, the team comes together for a brief, 15-minute meeting called the Daily Scrum meeting where they quickly review their current situation and, if necessary, modify their plans based on what they discussed.
- At the end of the Sprint, the team holds a Sprint Review meeting with the Product Owner. Completed software is demonstrated and the Product Owner either approves it, allowing the software to go into the product, or rejects it, requiring the backlog item to go back to the Product Backlog for completion during a future Sprint.
- The process repeats at step 3 with the Product Owner helping the Scrum team understand the remaining highest priority items on the Product Backlog in preparation for the next Sprint.