The principles of agile require a way to implement them, and Scrum provides that. Project managers use Scrum to determine who will do the work, how it will be done, and when it will be completed. According to the 2020 Scrum Guide (248 KB, PDF), this framework “helps people, teams, and organizations generate value through adaptive solutions for complex problems.”
Scrum is centered on small, self-organized teams that work in short bursts, called sprints. These sprints form the backbone of the development process, allowing teams to ship more frequently and meet customer demands for continuous updates. This process helps to maintain regular release schedules and control product risk. Ultimately, Scrum relies on these small teams of skilled professionals to meet their goals.
Developers are the team’s center, since they carry out the sprints. They are adaptable, deadline conscious, and collaborative. Developers perform the essential work of the project.
The product owner — a job description and not the product’s actual owner — represents customers and stakeholders in the team. The product owner develops and communicates the product goal, coordinates the product backlog (essentially the team’s to-do list), and maximizes the value of their team’s work.
The Scrum Master is accountable to the product owner and developers, serving each party differently. Scrum Masters make sure their teams adhere to Scrum policies, help to create a positive working environment, and address problems that arise during sprints. Scrum Masters also help the product owner define goals, manage the product backlog, and maintain communication lines.
Work flows through a Scrum in sprints, or short periods during which the team completes one aspect or iteration of the project. Sprints usually last 1–4 weeks, and teams move from sprint to sprint, completing each iteration of their software until the entire project is completed.
Scrum further relies on three key properties, also known as artifacts. These artifacts contain the necessary task information to advance the project. They are as follows:
- Product backlog: This represents a list of work the Scrum team must perform on the entire project. The product backlog is the defining document of a project, and the product owner and Scrum Master collaborate to update and refine it.
- Sprint backlog: Each sprint has a list of tasks to be completed, which the sprint backlog tracks. To complete a sprint goal, developers work from the sprint backlog.
- Product increment: These represent completed goals. Developers create increments when their work reaches a releasable standard known as the “definition of done.” Developers can achieve multiple increments within each sprint, with each increment getting the team closer to product release.