35
An introduction to Scrum James Brett April 2009

An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

An introduction to Scrum

James Brett

April 2009

Page 2: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

What are we going to cover?

1. What is Scrum?

2. Scrum Theory

3. Scrum Roles

4. Scrum Flow

5. Summary & References

Page 3: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

What’s Your Experience?

The Mazda “Scrum Wagon”

Page 4: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

1. What is Scrum?

• A Framework for developing complex products and systems

• Grounded in “Empirical Process Control”

– Iterative, incremental approach to optimize predictability and control risk

• An iteration in Scrum is a Sprint

– 2-4 weeks in length

– Deliver a “Potentially Shippable Product Increment”

Page 5: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

What is Scrum?

• Time Boxes

• Self Organizing, Cross functional teams to optimize flexibility and productivity

• Agile…

Kent Beck

Mike Beedle

Arie van Bennekum

Alistair Cockburn

Ward Cunningham

Martin Fowler

James Grenning

Jim Highsmith

Ron Jeffries

Jon Kern

Brian Marick

Robert C. Martin

Steve Mellor

Ken Schwaber

Jeff Sutherland

Dave Thomas

Andrew Hunt

Page 6: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

What is Agility?

• Agility is the ability to both create and respond to change in order to profit in a turbulent business environment

• Agility is the ability to balance flexibility and stability

Jim Highsmith

Page 7: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

2. Scrum TheoryA “Framework” for developing complex products and systems

Empirical Process Control

Transparency

Inspection

Adaption

Page 8: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

1. What the team are doing

2. Progress

3. Planning and prioritization

4. Risk and Issues

“Visibility and Honesty”

Continuous Transparency Transparency

Page 9: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

1. Sprint Planning

2. Daily Scrums

3. Sprint Reviews

4. Sprint Retrospectives

Continuous Improvement

Inspection 4 defined inspection points

Page 10: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

1. Sprint Retrospective

Continuous Improvement

1 Defined adaption pointAdaption

Page 11: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

Scrum’s Core Values

Scrum

Commitment

Focus

OpennessRespect

Courage

Page 12: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

3. Scrum Roles

Scrum Team

ScrumMaster

Product Owner

Image courtesy of implementingscrum.com

Page 13: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

Scrum Team

Team deliver the product

• Self-organises

– Team decides who will do what

– Team decides how to deliver

• Estimates

• Demonstrates work results to Product Owner

Page 14: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

Scrum Team

Image courtesy of implementingscrum.com

Page 15: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

Scrum Team

• Pigs

• 5-9 people

• Empowered

• Self organized

• X functional

Page 16: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

ScrumMaster

Four Primary Responsibilities

1. Facilitate Scrum process

2. Protect the team from disturbance

3. Remove the teams impediments

4. Provide Scrum coaching

Image courtesy of implementingscrum.com

Page 17: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

Product Owner

Three primary responsibilities

1. Provide Vision and Goals

2. Maximise ROI

3. Business and Team interaction

Image courtesy of implementingscrum.com

Page 18: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

4. Scrum Flow

• Product Backlog

• Sprint

– Sprint Backlog

– Sprint Burndown

• Release Planning

– Release Burndown

Page 19: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

Product Backlog• Why?

– Defines the products functionality

• What?

– A prioritized list of “expectations” for the product.

• How?

– Enter User Stories (or use cases) which have priority, and estimate, business value and risk

• When?

– Constantly maintained and emerging

• Who?

– Anyone can contribute, but the Product Owner owns the backlog

Page 20: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

Product Backlog

Priority Backlog Item Estimate

1 As a guest, I want to cancel a reservation 5

3 As a guest, I want to change the dates of a reservation 3

2 As a hotel employee, I can run RevPAR reports (revenue-per-available-room)

13

Improve exception handling 8

…. 8

…. 30

…. 50

Page 21: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

A Sprint

• 1-4 weeks in duration

• Timeboxed

• Protected by the ScrumMaster

• Team composition is constant

Page 22: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

A Sprint

• Product Backlog

• Sprint BacklogPlanning

• Daily ScrumDevelopment

• Potentially Shippable Product IncrementReview

• Continuous ImprovementRetrospective

Page 23: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

Sprint Planning

• (1) Select highest priority items from the Product Backlog

• P.O. and Team agree a Sprint Goal

• (2) Team creates Sprint Backlog

• Breaks down Product Backlog items into tasks

Page 24: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

Defining “Done”

Analysis

Design

Coding

Integration

Perf. Test

UAT

Pilot

Live

Done?

Definitely!

Page 25: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

Sprint Burndown

Page 26: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

Daily Scrum• Same time and place everyday

• Standing, 15 mins max

• Each team member explains

1. What he/she has accomplished since the last meeting

2. What he/she is going to do before the next meeting

3. What impediments are in his or her way

Page 27: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

Sprint Review• Less than 5% of sprint duration

• Scrum Team, ScrumMaster, P.O. and Stakeholders collaborate on what has been completed

– P.O. Identifies what has been “Done”

– Team discuss problems and successes of sprint

– Team demonstrates work

– Planning

Page 28: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

Sprint Retrospective

• ScrumMaster encourages the team to revise development practices

• Inspect & Adapt

– People

– Relationships

– Processes and tools

• Indentify and prioritise the major items

– Basis of empirical process

Page 29: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

Release Planning

• Just in time planning (15-20% of normal)

• Fixed date

– 1st July Release

– Determine how much scope

• Fixed scope

– Functionality A,B,C required

– Determine release date

Page 30: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

Fixed Date Release Plan

Worst Velocity30 Story Points

Avg Velocity40 Story Points

Best Velocity50 Story Points

52 Story Points

Page 31: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

Fixed Scope Release Plan

Velocity 20 Story Points

52 Story Points

Page 32: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

Release Burndown

Image courtesy of mountaingoatsoftware.com

Page 33: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

Release Burndown

Image courtesy of mountaingoatsoftware.com

Page 34: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

5.0 Summary

• Scrum is empirical, iterative, time boxed development for complex products– “Inspect and Adapt”, “Visibility and Honesty”

• 3 roles– Team, ScrumMaster, Product Owner

• 4 ceremonies– Sprint Planning, Daily Scrum, Sprint Review, Sprint Retrospective

• 4 artifacts– Product Backlog, Sprint Backlog, Release Burndown, Sprint

Burndown

Page 35: An introduction to Scrum - Meetupfiles.meetup.com › 1479426 › An introduction to Scrum.pdf · 1. What is Scrum? •A Framework for developing complex products and systems •Grounded

References

www.ScrumMaster.com.au

www.ScrumAlliance.org

www.MountainGoatSoftware.com

www.controlchaos.com