Scrum is an Agile method (an iterative and incremental approach) for completing complex projects. Scrum was originally formalized for software development projects, but works well for any complex, innovative scope of work.
Why is it called Scrum?
The Scrum Guide is the official Scrum Body of Knowledge. It was written by Ken Schwaber and Jeff Sutherland, co-creators of Scrum. The current version is Scrum Guide Version 2013.
The Scrum framework is summarized in the Sprint Cycle (see Figure).
A Sprint Cycle consists of the following steps:
− A Product Owner creates a prioritized wish-list called a Product Backlog.
− During Sprint planning, the team pulls a small chunk from the top of that wish-list, a Sprint Backlog, and decides how to implement those pieces.
− The team has a certain amount of time, a Sprint, to complete its work – usually two to four weeks – but meets each day to assess its progress (daily Scrum).
− The Sprint Burn Down chart shows implementation progress during a single Sprint. − Along the way, the ScrumMaster keeps the team focused on its goal.
− At the end of the Sprint, the work should be potentially ready to hand to a customer, put on a store shelf, or show to a stakeholder.
− The Sprint ends with a Sprint Review and retrospective.
− As the next Sprint begins, the team chooses another chunk of the Product Backlog and begins working again.
The cycle repeats itself until sufficient items in the Product Backlog have been completed, the budget is depleted, or a deadline arrives. Which of these milestones marks the end of the work is entirely up to that specific project. No matter which impetus stops work, Scrum ensures that the most valuable work has been completed when the project ends.
The two main roles in Scrum are the Product Owner, who represents the customer and manages all requirements (adds requirements with a detailed description, prioritizes requirements and plans releases); and the ScrumMaster, who helps the team to follow Scrum process. The ScrumMaster facilitates the daily Scrum meetings, manages any problems, supports the Product Owner, and removes obstacles to team progress.