Skip to content

scrum

Scrum is a lightweight framework for building a product in short, repeating cycles called sprints, where a small team plans a slice of work, builds it, and reviews the result before starting the next slice. The name comes from rugby’s scrum, an image of a team moving down the field together that a 1986 paper applied to product development, later adapted for software by Jeff Sutherland and Ken Schwaber, who still maintain the Scrum Guide.

A sprint is the heartbeat of the framework, usually one or two weeks long and never more than a month. Each sprint is a fixed-length container for four events:

Four stacked boxes (teal Sprint Planning on top, then Daily Scrum, Sprint Review, yellow Retrospective) joined by down arrows, with a dotted "next sprint" arrow looping back up to Sprint Planning.
The four sprint events run in order, then loop straight into the next sprint.
Language: Text
Sprint (2 weeks)
  Day 1       Sprint Planning   pick the sprint goal and the work to deliver
  Daily       Daily Scrum       15-minute check on progress toward the goal
  Last day    Sprint Review     show the finished increment to stakeholders
  Last day    Retrospective     agree one change to improve the next sprint

Three accountabilities split the work. The product owner decides what gets built and in what order, the developers build it, and the scrum master keeps the framework running and clears blockers. Three artifacts hold the plan: the product backlog lists everything that might get built, the sprint backlog holds what this sprint commits to, and the increment is the working result, whose quality bar is the team’s definition of done.

How It Shows Up in Practice

A Python developer usually meets Scrum as the cadence their team runs the calendar on, managed in a tool such as Jira, Azure Boards, or Linear. Work arrives as a user story in the backlog, the team sizes it in story points during planning, and the agreed stories become the sprint backlog the board tracks to done.

The most visible signal in daily life is the burndown chart, which plots the work remaining against the days left in the sprint. Over a two-week sprint that started with 20 committed points, it might track like this:

Language: Text
day  1: #################### 20 pts
day  2: ###################  19 pts
day  3: ################     16 pts
day  4: ##############       14 pts
day  5: ##############       14 pts
day  6: ##########           10 pts
day  7: ########              8 pts
day  8: #####                 5 pts
day  9: ###                   3 pts
day 10:                       0 pts

A line that flattens for a day or two, as on days 4 and 5 above, warns the team that the sprint goal is at risk while there is still time to act. That early warning is the kind of signal the daily scrum exists to surface.

Scrum vs. Kanban

Scrum and Kanban are both ways to run agile work, and teams routinely mix them up. Scrum slices time into fixed sprints, commits to a batch of work for each one, and assigns the three accountabilities above. Kanban keeps a single continuous flow with no required sprints and no prescribed roles, capping work in progress instead of committing to a sprint’s worth of it.

The practical tell is how each handles a shift in priorities. A Scrum team usually waits for the next sprint boundary to change direction, while a Kanban team simply reorders the cards waiting in its backlog. Whichever cadence a team picks, the point of working in small slices is the same: put a usable minimum viable product in front of users early, then improve it sprint by sprint.

Course

Test-Driven Development With pytest

In this hands-on course, you’ll see how to create Python unit tests, execute them, and find the bugs before your users do. You’ll learn about the tools available to write and execute tests, check your application’s performance, and even look for security issues.

intermediate testing

For additional information on related topics, take a look at the following resources:


By Martin Breuss • Updated June 22, 2026