Click here to Skip to main content
13,404,383 members (38,847 online)
Click here to Skip to main content
Add your own
alternative version


169 bookmarked
Posted 18 Aug 2003

What is SCRUM?

, , 18 Aug 2003
Rate this:
Please Sign up or sign in to vote.
A concise summary of SCRUM, one of the "Agile Methods"



SCRUM is a loose set of guidelines that govern the development process of a product, from its design stages to its completion. It aims to cure some common failures of the typical development process, such as:

  • Chaos due to changing requirements - the real or perceived requirements of a project usually change drastically from the time the product is designed to when it is released. Under most product development methods, all design is done at the beginning of the project, and then no changes are allowed for or made when the requirements change.
  • Unrealistic estimates of time, cost, and quality of the product - the project management and the developers tend to underestimate how much time and resources a project will take, and how much functionality can be produced within those constraints. In actuality, this usually cannot be accurately predicted at the beginning of the development cycle.
  • Developers are forced to lie about how the project is progressing - When management underestimates the time and cost needed to reach a certain level of quality, the developers must either lie about how much progress has been made on the product, or face the indignation of the management.

SCRUM has been successfully employed by hundreds of different companies in many different fields, with outstanding results.

You will find many similarities between SCRUM and Extreme Programming, but one of the major differences is that SCRUM is a fairly general set of guidelines that govern the development process of a product. For this reason, it is often used as a "wrapper" for other methodologies, such as XP or CMM (Capability Maturity Model) - that is, it is used to guide the overall process of development when using these other methodologies.

SCRUM Values

The SCRUM values are derived from the Agile values of software development.

  • Individuals and interactions over processes and tools - processes and tools are helpful, but they will do you no good if the team does not communicate and collaborate in a constructive fashion.
  • Working software over comprehensive documentation - documentation is important, but what's most important is to have working software.
  • Customer collaboration over contract negotiation - you are not just looking to get a contract and get money that way - you are solving the customer's problem.
  • Responding to change over following a plan - if the requirements or perceived requirements changed, so should the plans and design.

The SCRUM Process

Figure 1: General SCRUM Process

The scrum process has 3 main phases.


In this phase, the project is planned and high-level design decisions are made.

Sprint Cycle

Figure 2: The SCRUM Sprint Cycle

The sprint cycle is an iterative cycle of about 3-4 weeks, in which the actual development of the product is done. It starts out with a Sprint Planning Meeting to decide what will be done in the current sprint. Then the development is done. A sprint is closed with a Sprint Review Meeting where the progress made in the last sprint is demonstrated, the sprint is reviewed, and adjustments are made to the project as necessary.

The sprint cycle is repeated until the product's development is complete. The product is complete when the variables of time, quality, competition, and cost are at a balance.

  • Develop the product further - implement, test, and document.
  • Wrap up the work - get it ready to be evaluated and integrated.
  • Review the work done in this sprint.
  • Adjust for any changes in requirements or plans.


In this phase, the product's development is brought to a close, and the product is released.

The Scrum Team

The SCRUM team consists of 2 groups - the interested team, which consists of people who are interested, but who will not be doing the work, and the working team - people who are interested, and will be doing the work on the project.

A team typically has no more than 6-9 working members, although SCRUM has been successfully used with more members. If there are more members than manageable, the project should be broken into multiple sub-projects, each focusing on one, self-contained area of work (one for QA, one for documentation, etc.). There should be people to act as bridges - that is, to attend the meetings of more than one SCRUM team, and act as a communication bridge between the teams. Members of teams that are closely related/involved with each other should sit in on the other teams' SCRUM meetings.

The leader (SCRUM Master)

The team's leader is called the Scrum Master. He should be one of the members of the working team - that is, he should be one of the people who is actually doing the work on the project. The SCRUM Master measures progress, removes impediments, and leads the team meetings.

Commonly Used Terms


The product is developed in a series of 1-to-4-week iterations, or sprints. Before a sprint is begun, a Sprint Planning Meeting is held to determine what features are to be implemented in that sprint. The sprint has 4 major steps:

  • Develop the product further - implement, test, and document.
  • Wrap up the work - get it ready to be evaluated and integrated.
  • Review the work done in this sprint.
  • Adjust for any changes in requirements or plans.

Product Backlog

A prioritized list of all the desired changes to the product being developed, put together by the product owner. See Figure 2.

Sprint BackLog

A list with items that will be completed in the current sprint, taken from the product backlog. See Figure 2.

Daily SCRUM Meeting

A 15-minute SCRUM meeting is held every day. The SCRUM Master asks the three questions, and all members of the team and interested parties take part and give feedback. The meeting should be held at the same place every time, so that people know where to go.

Unit Testing

A unit test is an automated test that ensures that the functionality required for a certain area of a project is implemented, and that there are no breaking changes that have not been taken into consideration. See for a list of unit testing frameworks for different languages/platforms.


Impediments are things that get in the way of the progress of the project. The SCRUM Master is responsible to look for and remove these obstacles so that they do not slow down or impair the project.

3 Questions

The Scrum Master asks the developers 3 important questions at every SCRUM meeting:

  1. What have you accomplished since the last meeting?
  2. Are there any obstacles in the way of meeting your goal?
  3. What will you accomplish before the next meeting?

Product Owner

The person who commissions the project, and defines the requirements and priorities for the product.

Sprint Planning Meeting

A meeting at the beginning of a sprint where the sprint is planned. Items from the Product Backlog are selected to be completed in the sprint, based on the priorities set by the Product Owner.

Sprint Review Meeting

A sprint is closed with a Sprint Review Meeting where the progress made in the last sprint is demonstrated, the sprint is reviewed, and adjustments are made to the project as necessary.

Key Players/Authors:

Jeff Sutherland is one of the originators of SCRUM, and was one of the first people to apply SCRUM to a real-life project.

Ken Schwaber is one of the originators of SCRUM.

Mike Beedle has successfully used SCRUM in numerous large-scale projects, and, together with Ken Schwaber, wrote the book Agile Software Development with SCRUM.




SCRUM tutorial, XP with SCRUM, case studies, SCRUM certification 

SCRUM Alliance

Part of the Agile Alliance site family, and has a large article base on SCRUM. 

Mountain Goat Software's SCRUM section

A good introduction to SCRUM. 


The SCRUM Development Process

A detailed and definitive paper on SCRUM. 

Introducing an Agile Process

Covers the issues involved with introducing an agile methodology to a development team or company. 

<A name=ComparingRUP,XP,andSCRUM:MixingaProcessCocktailforYourTeam28>Comparing RUP, XP, and SCRUM: Mixing a Process Cocktail for Your Team

Compares different agile methodologies, and helps you determine what methodology or mix of methodologies is right for your team. 


Agile Software Development With SCRUM

A close look at SCRUM, with numerous case studies. A must-read for managers and developers alike.

Agile Software Development Ecosystems

A look at various Agile software development systems, including SCRUM. Numerous case studies, and interviews with some of the leaders in the Agile development arena.

SCRUM In Practice

The Upside of Downsizing

A case study on a situation where SCRUM helped to make a development project a success even though the development company was downsizing. 

Does Agility Work?

Some stories of success with SCRUM 

Agile Meetings

This is an article on agile meetings, with a large section on how agile meetings helped real-life teams to prevent problems by communicating with each other. 


XProgramming Unit Testing Downloads Section

Links to downloads of unit testing software for most common languages. 


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Authors

Marc Clifton
United States United States
Marc is the creator of two open source projects, MyXaml, a declarative (XML) instantiation engine and the Advanced Unit Testing framework, and Interacx, a commercial n-tier RAD application suite.  Visit his website,, where you will find many of his articles and his blog.

Marc lives in Philmont, NY.

J. Dunlap
Web Developer
United States United States
My main goal as a developer is to improve the way software is designed, and how it interacts with the user. I like designing software best, but I also like coding and documentation. I especially like to work with user interfaces and graphics.

I have extensive knowledge of the .NET Framework, and like to delve into its internals. I specialize in working with and MyXaml. I also like to work with ASP.NET, AJAX, and DHTML.

You may also be interested in...

Comments and Discussions

GeneralRe: this is nonsense Pin
Aerofreno26-Jan-11 2:58
memberAerofreno26-Jan-11 2:58 
GeneralRe: this is nonsense Pin
Dan Butcher15-May-12 6:03
memberDan Butcher15-May-12 6:03 
GeneralRe: this is nonsense Pin
Marc Clifton15-May-12 6:11
protectorMarc Clifton15-May-12 6:11 
General3 practical questions about scrum Pin
bjdodo13-Sep-10 3:35
memberbjdodo13-Sep-10 3:35 
Dear All,

I am a programmer working at a company that uses scrum. I have worked here for 10 months now but I still do not understand some of the rules of scrum. I wonder if anyone here could answer my questions.

Q1: During every sprint we are supposed to deliver a fully implemented and QA-d features. In theory it means that during the last 3 days of a sprint a developer cannot work because his work would not be tested. Also, during the beginning of a sprint in theory QA does not do anything, before the first new feature is implemented since everything was perfect at the end of the previous sprint. Of course in practice things happen differently, but this is my understanding of what we try to achieve. What is the resolution?

Q2: Our team is organized around a feature, not around technology, and we have a several layers application built on completely different technologies. Therefore in our team we have an SQL expert, some ASP.NET programmers, some C++ guys, a driver developer and some qa people (we have 11 members). We also have external dependecies, because we implement an add-on into a platform, so of course we depend on everything in the platform. Now when it comes to estimates, you can give 1 estimate (story point) to each PBI. But since we take on work based on priorities, it can happen that from 70 story points, which is our average velocity, 55 would have to be be implemented by the single SQL guy and e.g. the C++ guys do not do anything. In this situation, is there a problem with how the teams are organized, or should the PBIs be separated into "horizontal slices"? Or where is the mistake?

Q3: What is the usual way to manage team dependencies? As I have said, we are developing an add-on into a large platform. Is it something usual that every team changes code until the last minute and then there is a hardening sprint and that's it for testing? Or is it usual that we turn to dependencies/gantt charts: PBIxxx has to be implemented before PBIyyy can be picked up. In this case of course PBIxxx and PBIyyy are not vertical slices.

Thank you for all responses!

QuestionWondering how to address the issue of quoting larger projects? Pin
Scott. L.21-Jan-06 3:24
memberScott. L.21-Jan-06 3:24 
AnswerRe: Wondering how to address the issue of quoting larger projects? Pin
Marc Clifton21-Jan-06 3:34
protectorMarc Clifton21-Jan-06 3:34 
GeneralRe: Wondering how to address the issue of quoting larger projects? Pin
Scott. L.21-Jan-06 3:51
memberScott. L.21-Jan-06 3:51 
GeneralRe: Wondering how to address the issue of quoting larger projects? Pin
Marc Clifton21-Jan-06 3:56
protectorMarc Clifton21-Jan-06 3:56 
GeneralRe: Wondering how to address the issue of quoting larger projects? Pin
Scott. L.21-Jan-06 4:14
memberScott. L.21-Jan-06 4:14 
GeneralNo question Pin
Robert Goldwein26-Aug-03 2:37
memberRobert Goldwein26-Aug-03 2:37 
GeneralRe: No question Pin
Marc Clifton26-Aug-03 2:50
editorMarc Clifton26-Aug-03 2:50 
GeneralAnother spear in my arsenal Pin
Gary R. Wheeler20-Aug-03 15:46
memberGary R. Wheeler20-Aug-03 15:46 
GeneralRe: Another spear in my arsenal Pin
jdunlap20-Aug-03 15:49
memberjdunlap20-Aug-03 15:49 
GeneralRe: Another spear in my arsenal Pin
jdunlap20-Aug-03 15:54
memberjdunlap20-Aug-03 15:54 
GeneralRe: Another spear in my arsenal Pin
Marc Clifton20-Aug-03 16:00
editorMarc Clifton20-Aug-03 16:00 
QuestionIs SCRUM an acronym? Pin
Dauger20-Aug-03 5:00
memberDauger20-Aug-03 5:00 
AnswerRe: Is SCRUM an acronym? Pin
srisan20-Aug-03 8:04
membersrisan20-Aug-03 8:04 
GeneralPolling x Event-based strategies. Pin
Daniel Turini20-Aug-03 2:51
memberDaniel Turini20-Aug-03 2:51 
GeneralRe: Polling x Event-based strategies. Pin
jdunlap20-Aug-03 11:17
memberjdunlap20-Aug-03 11:17 
GeneralRe: Polling x Event-based strategies. Pin
Marc Clifton20-Aug-03 16:06
editorMarc Clifton20-Aug-03 16:06 
GeneralRe: Polling x Event-based strategies. Pin
Andreas Schliep11-Jul-05 2:43
memberAndreas Schliep11-Jul-05 2:43 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.1802120.2 | Last Updated 19 Aug 2003
Article Copyright 2003 by Marc Clifton, J. Dunlap
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid