Introduction to Scrum

These notes were extracted from several sources on the web. They contain bits of copyrighted materials collected here for classroom use under the "fair use" doctrine. They are not to be published or otherwise reproduced, and must be maintained under password protection. They are only an outline, not intended to be a complete reference. For more detail, follow the links to other sources on the Web. A good starting point is the Wikipedia article, second in the list of references at the end of this file.

The scrum image is from en.wikipedia.org.

Context for Scrum

Review: Unified Process

Context: UP Iterations

Agile

Scrum

Scrum Lifecycle

*

Elements of Scrum

Scrum Iteration = Sprint

  • A fixed (short) period of time to develop a deliverable product, or a potentially shippable product increment
    • Length varies by organization
    • 3-5 weeks, typically about one month
  • Includes design, coding, testing, and documentation
  • Once started, only the scrum team can add or remove items in sprint backlog
  • Is terminated abnormally when sprint goal no longer makes sense
*

Scrum Artifacts

User Story

Captures system behaviors that have business value.

To get there, it asks 3 questions:

  1. Who?
  2. Does what?
  3. And why?

Template:

As a <type of user>,
I want <some behavior from the system>
so that <some value is achieved>.

"As a student
I want to purchase a parking pass
so that I can drive to school."


For more detail on user stories, project work estimation, and planning see the separate notes.

Product Backlog

  • Prioritized list of work to be performed on a product
    e.g., required features, wish-list items
  • Items typically documented as user stories
  • Anyone can contribute backlog items
  • Product owner responsible for prioritization, based on business value
  • Team members responsible for estimating development effort


Typically maintained as a spreadsheet.

*

Image from www.mountaingoadsoftware.com.

Sprint Backlog

Scrum Board

Agile (Scrum) Burn-Down Chart

  • Tracks progress of Sprint
  • In terms of tasks
  • Maintained by ScrumMaster
  • Visible to whole team

More examples:
(1) (2)

Scrum Meetings

Sprint Planning Meeting

Attended by customers, users, management, the Product Owner, the Scrum team.

Actually two consecutive meetings

  1. Set the goal
  2. Plan tasks & create the sprint backlog list
*

Sprint Planning Meeting Goals

*

Sprint Planning Meeting Agenda

Daily Scrum

  • Daily 15 minute status meeting (timeboxed)
  • Participants: just the development team
  • Each team member answers:
    • What have you done since the last Scrum?
    • What do you plan to do between now and the next Scrum?
    • What, if anything, blocks or impedes your further progress?
  • All are welcome, but only "pigs" speak
  • No PowerPoint!
  • For synchronization not problem solving!
  • Same time and place every day
  • Team stands in a circle facing each other
* Team decides punishments for tardiness (.e.g, money, push-ups, hanging rubber chicken around neck)

Image from www.danko.org.

Daily Scrum of Scrums

Sprint Review

Sprint Retrospective

*
  • Held at end of each sprint cycle, right after the sprint review
  • Just team members and PO (no "chickens" or other uninvited guests)
  • Everybody speaks
  • Reflect on the past sprint
  • Look for concrete suggestions to improve process
  • Two main questions:
    • What went well?
    • What could be improved in the next sprint?
  • Three hour time limit

Sprint Retrospective Outcomes

  • Goal: consensus on how to make the next sprint better
  • Products:
    1. List of action items for team (internal to team)
    2. List of action items for Scrummaster (external, involving rest of organization)
  • Each item must include reasons
*

Examples of action lists

Some sources say this meeting is part of a one-day workshop, which begins with the sprint review in the morning, and concludes with the sprint retrospective in the afternoon.

The objective of this meeting is continuous process improvement, by identifying adjustments that will make the next Sprint better.

Each team members tells about the high and low points of the Sprint:

The expected output is two lists of action items (with stated goal/reason for each action)

The goal is consensus on what to do next

A critical aspect is that the feedback must be followed up, or the meeting will be a waste, and the next will not be taken seriously

Scrum Roles

Scrum Roles: Chickens vs. Pigs

*
Pigs are committed to delivering Sprint Goal:
  • Product Owner
  • ScrumMaster (Facilitator)
  • Team
Chickens are involved but not committed:
  • Stakeholders (customers, vendors)
  • Managers
  • may attend some Scrum meetings as observers
  • may also "consult" (provide information and advice)

Only the "pigs" are considered "Scrum roles". The Chickens may have a stake in what goes on, and may attend some meetings, but are not counted as participants on the Scrum process.

"Roosters" -- people who strut around wanting to be important, but who not only are uncommitted but offer only uninformed, unhelpful opinions -- are viewed as unproductive.

See the full story with this classic cartoon at http://www.implementingscrum.com/2006/09/11/the-classic-story-of-the-pig-and-chicken/.

For the whole series of cartoons about the Scrum development method, go to http://www.implementingscrum.com/section/blog/cartoons/.

Product Owner

*
  • Responsible for communicating goal
  • Sets development schedule by prioritizing backlog
  • One person in this role ensures that only one set of requirements drives development
  • Can be influenced by committees, management, customers, sales people, but is the only person that prioritizes
  • Works with others to estimate items on Product Backlog
  • Eliminates confusion of multiple bosses, different opinions, and interference
  • Product manager, CTO/CEO, or other high-level stakeholder

Scrum Master

*
  • Responsible for success of Scrum
  • Represents management to the project
  • Shields the team
  • Resists adding new features
  • Removes obstacles
  • Establishes practices and rules
  • Ensures everyone plays by the rules
  • Ensures code inspections happen
  • Runs daily Scrum meetings

Note: The "Customer/Product Manager" shown in the image here is not considered a "Scrum role". It is only pictured to show the role of the Scrum Product Owner as interfacing to such external entities.

Scrum Team

Extensions: Additional Roles

The additional roles are suggested as improvements in http://www.pragmaticsw.com.

Summary

*

Image reproduced from www.connectit.nl.

References