Topics in Scrum

An Overview of Scrum for Agile Software Development

As a brief introduction, Scrum is an agile process most commonly used for product development, especially software development. Scrum is, however, a general-purpose project management framework that is applicable to any project with aggressive deadlines with complex requirements and a degree of uniqueness. In Scrum, projects progress via a series of iterations called sprints. Each sprint is typically 2-4 weeks long.

Scrum Overview - Introduction to Scrum Terms

An introduction to Scrum would not be complete without giving details on all the Scrum terms that you will come across. This section of our Scrum overview lists all these terms and gives you some brief details with a link to more detailed information.

A typical scrum team has between five and nine people, but Scrum projects can easily scale into the hundreds. Scrum can easily be used by one-person teams and often is. The team does not include any of the traditional software engineering roles such as programmer, designer, tester, or architect. Everyone on the project works together to complete the set of work they have collectively committed to complete within a sprint. Scrum teams develop a deep form of camaraderie and a feeling that “we’re all in this together.”

The product owner is the project’s key stakeholder and represents users, customers and others in the process. The product owner is often someone from product management or marketing, a key stakeholder or a key user.

The ScrumMaster is responsible for making sure the team is as productive as possible. The ScrumMaster does this by helping the team use the Scrum process, by removing impediments to progress, by protecting the team from outside, and so on.

The product backlog is a prioritized features list containing every desired feature or change to the product.

At the start of each sprint, a sprint planning meeting is held during which the product owner presents the top items on the product backlog to the team, and the Scrum team selects the work they can complete during the coming sprint. That work is then moved from the product backlog to a sprint backlog, which is the list of tasks needed to complete the product backlog items the team has committed to complete in the sprint.

Each day during the sprint, a brief meeting called the daily scrum is conducted. This meeting helps set the context for each day’s work and helps the team stay on track. All team members are required to attend the daily scrum.

At the end of each sprint, the team demonstrates the completed functionality at a sprint review meeting, during which, the team shows what they accomplished during the sprint. Typically, this takes the form of a demonstration of the new features, but in an informal way; for example, PowerPoint slides are not allowed. The meeting must not become a task in itself nor a distraction from the process.

Also at the end of each sprint, the team conducts a sprint retrospective, which is a meeting during which the team (including its ScrumMaster and product owner) reflect on how well Scrum is working for them and what changes they may wish to make for it to work even better.

Note

The term “backlog” can get confusing because it’s used for two different things. To clarify: the product backlog is a list of desired features for the product. The sprint backlog is a list of tasks to be completed in a sprint.

A Visual Introduction to Scrum

Graphically, Scrum looks something like this:

Click image to enlarge. Image is also available in other formats and sizes.
 

This graphic is an introduction to the essential elements of using Scrum for agile software development. On the left, we see the product backlog, which has been prioritized by the product owner and contains everything desired in the product that’s known at the time. The 2-4 week sprints are shown by the larger green circle.

At the start of each sprint, the team selects some amount of work from the product backlog and commits to completing that work during the sprint. Part of figuring out how much they can commit to is creating the sprint backlog, which is the list of tasks (and an estimate of how long each will take) needed to deliver the selected set of product backlog items to be completed in the sprint.

At the end of each sprint, the team produces a potentially shippable product increment — i.e. working, high-quality software. Each day during the sprint, team members meet to discuss their progress and any impediments to completing the work for that sprint. This is known as the daily scrum, and is shown as the smaller green circle above.

As you can see from this Scrum overview, there is a lot to take in. Each of the Scrum terms has its own page so be sure to click through to learn more about each part of the Scrum process.

Introduction: Scrum Agile Trainer, Coach, and Consultant Mike Cohn

Mountain Goat Software founder Mike Cohn is a Scrum and agile specialist. Along with Scrum inventor Ken Schwaber, Mike was a co-founder of the non-profit Scrum Alliance, which is dedicated to worldwide support for Scrum and Scrum practitioners. Having run his first Scrum project in 1995, Mike is among the most experienced of Scrum trainers and coaches. He is also a co-founder of the non-profit Agile Alliance. To learn more about Mountain Goat and Mike Cohn, please read Why Mountain Goat?