Scrum is one of many "agile" approaches to complex projects. The basic idea is:

  1. Team commits to delivering a working product on a particular date (not more than 30 days in the future)
  2. Team builds the working product
  3. Team demonstrates the working product on the predetermined date
  4. Feedback from stakeholders is given to the team during the demonstration

One iteration of the above steps is termed a Sprint. Development of a product is the result of many sprints; however, at the end of each sprint, a working product is demonstrated and inspected.

Complex projects involve lots of uncertainty.

Scrum seeks to manage this uncertainty by focusing on short cycles of activity that result in a shipable product. The product must address a portion of the problem the project is designed to target.

These short cycles help manage uncertainty by:

Uncertainty is addressed by upholding three tenants:


Complex projects involve lots of people. Scrum focuses on the organization of the Scrum team and the roles within the Scrum team. Team members serve one or more the following roles:

Separate team member should be assigned to the role of Scrum Master, Product Owner Proxy, and notetaker. These assignments should change each sprint so that each team member has an opportunity to experience each role in at least one sprint.


Complex projects involve lots of tangible things. These things include:


Complex projects involve lots of events. Scrum requires a specific set of events and proscribes a finite duration and purpose for each. Each sprint is composed of the following events:

1)A Product Backlog Item is a unit of deliverable work that can be completed in no more than one sprint. In order to be complete, the PBI must contain clear acceptance criteria.