Introduction to Agile Scrum

83
The Agile Manifesto – 2001 We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: That is, while there is value in the items on the right, we value the items on the left more . Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan

description

 

Transcript of Introduction to Agile Scrum

Page 1: Introduction to Agile Scrum

The Agile Manifesto – 2001

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

That is, while there is value in the items on the right, we value the items on the left more.

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

Page 2: Introduction to Agile Scrum

AGILE

Scrum eXtreme���Programming

(“XP”) Test-Driven Development

(“TDD”) Crystal DSDM FDD

and more…

Page 3: Introduction to Agile Scrum

The Essence of Scrum SCRUM

Produce

Inspect

Adapt

Plan

Sprint

Transparency

Page 4: Introduction to Agile Scrum

The Foundations of Scrum

  There is a cross-functional Dev Team that is stable and 100% dedicated.

  The Dev Team decides how to get the work done. It is self-organizing.   The Dev Team plans its Sprints one at a time, at the start of each Sprint.   The Product Owner decides what should be produced.   The Dev Team decides how much it can produce in a Sprint.   The Dev Team’s target in a Sprint is shared, clear, and does not change.   The Dev Team tries to achieve its target, but it may over-deliver or

under-deliver, based on how the Sprint plays out.

  Each Sprint is a timebox – its length is never extended.   Each Sprint produces a “potentially shippable product” – in other

words, thoroughly tested, defect-free, and “done.”

  There is a “Definition of Done” that specifies what “done” means.   At the end of each Sprint, we inspect and adapt product and process.

Page 5: Introduction to Agile Scrum

Development Starts Release Date Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9 Sprint 10

Feature

Feature

Feature

Feature

Feature

Feature Feature

Feature

Feature

Page 6: Introduction to Agile Scrum

Development Starts Release Date Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9 Sprint 10

Feature

Feature

Feature

Feature

Feature

Feature

Feature

Feature

Feature

Page 7: Introduction to Agile Scrum

Development Starts Release Date Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9 Sprint 10

Page 8: Introduction to Agile Scrum

Development Starts Release Date Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9 Sprint 10

“Done” – Coded, Tested, ���No Defects Remaining

Page 9: Introduction to Agile Scrum

Development Starts Release Date Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9 Sprint 10

“Done” – Coded, Tested, ���No Defects Remaining

Page 10: Introduction to Agile Scrum

Development Starts Release Date Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9 Sprint 10

“Done” – Coded, Tested, ���No Defects Remaining

Page 11: Introduction to Agile Scrum

The Relative Value of Different Features Feature 1

Feature 2 Feature 3

Feature 4 Feature 5

Feature 6 Feature 7

Feature 8 Feature 9

Typical Large-Scale Software Application

Features 1-5 Features 6-10 Features 11-15 Features 16-20 Features 21-25 Features 26-30 Features 31-35 Features 36-40 Features 41-45 Features 46-50 Features 51-55 Features 56-60 Features 61-65 Features 66-70 Features 71-75 Features 76-80 Features 81-85 Features 86-90 Features 91-95 Features 96-100

Page 12: Introduction to Agile Scrum

Development Starts Release Date

Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9 Sprint 10

100%

50%

% of Total ���Business Value

Completed

Page 13: Introduction to Agile Scrum

Product Owner Dev Team

Input from End-Users, Customers, Team and ���Other Stakeholders

ScrumMaster

SCRUM

Product���Backlog

8

9

10

11

12

“The Scrum Team”

Page 14: Introduction to Agile Scrum

Sprint 1-4 Weeks

Potentially Shippable Product

Increment

Review

No Changes in Duration or Goal

Retrospective

Product Owner Dev Team

Daily Scrum ���Meeting and ���

Artifacts Update

Input from End-Users, Customers, Team and ���Other Stakeholders

Sprint���Backlog

Product Backlog

Grooming

ScrumMaster

SCRUM

Product���Backlog

8

9

10

11

12

Responsible for maximizing the value of the work done by the Dev Team  Owns vision and goals / ROI of the work   Final decisionmaker on content and order

of the Product Backlog (the list of items needed to successfully achieve goals / ROI)

 Owns the date and scope of the Release

Responsible for doing the work   7 +/- 2 People  Cross-functional   Self-organizing

Responsible for guiding the PO and Dev Team to achieve optimal results with Scrum   3 P’s:   P rocess Owner - Teaches Scrum to everyone - Coaches everyone on how to use Scrum

to deliver maximum value and quality - Enforces the rules of Scrum - Acts as a change agent for organization

  P roblem Solver - Helps remove blocks and assists the Dev

Team and Product Owner in any way they can, to achieve the best results

  P rotector - Protects the Dev Team from disruption

Page 15: Introduction to Agile Scrum

Product Owner Dev Team

ScrumMaster

SCRUM

Role might be played by���a member of the Dev Team or ���

the ex-Project Manager. ���

We avoid having someone with a management title in this role.

“Developers” = Architects, Coders, Testers, Business Analysts, UI Designers, Doc Writers, etc.

Role might be played by Customer, Customer Representative, Product ���

Manager, Product Marketing Manager, Program Manager, Project Manager.

Page 16: Introduction to Agile Scrum

Sprint 4 Weeks���or Less

Potentially���Shippable Increment

Product Owner Review

No Changes To Goal or Timebox

Retrospective

Dev Team

Daily Scrum���Meeting Input from End-Users,

Customers, Team and���Other Stakeholders

Sprint���Backlog

Product Backlog

Grooming

Sprint Planning Meeting

Team Selects How Much���To Target

ScrumMaster

SCRUM

Product���Backlog

Detailed Plan for���Sprint

Ordered List of What’s Needed

Page 17: Introduction to Agile Scrum

SPRINT BACKLOG

Blow up 10 Balloons Measure Radius of All 10 Balloons Calculate Volumes of All 10 Balloons

Writing Requirements in Scrum

Page 18: Introduction to Agile Scrum

User Stories

  User Stories are an Agile approach to requirements  Widely used by Scrum Teams  Not required, but highly recommend

  What is a User Story?   A User Story is a short, plain-language description

of the needs of a user, centered on what they need or want to do, and why

  As a <type of user>, I want <some goal> so that <some reason>.

Page 19: Introduction to Agile Scrum

3 C’s: Card, Confirmation, Conversation

As a Customer who has booked a flight, I want to cancel my booking, So that I can receive a refund and make other plans

☐ Verify that ticket price minus applicable cancellation fee is refunded to credit card ☐ Verify that 10% cancellation fee is deducted from refunded amount for economy tickets ☐ Verify that no fee is deducted from refunded amount for business class tickets ☐ Verify that confirmation email is sent ☐ Verify that seat reservation is released

CARD

CONFIRMATION

Page 20: Introduction to Agile Scrum

  The card does not include all the detailed information needed by the Dev Team

  This is because we want to force a conversation between the Dev Team and Product Owner

  This conversation begins at the start of the project   Dev Team and Product Owner might spend a day talking

through the initial list of User Stories

  This conversation continues during each Sprint   During Sprint Planning Meeting

  Day-by-day during the Sprint   During Product Backlog Grooming

  During Sprint Review

3 C’s: Card, Confirmation, Conversation

– intentionally!

Page 21: Introduction to Agile Scrum

User Stories

  Everyone writes User Stories. The Product Owner decides which to add to the Product Backlog, and what the priority should be.

  At the beginning of a project, a Story Writing workshop is typically held. The Product Owner creates the initial Product Backlog from this.

  New User Stories are written during the project and added to the Product Backlog, as new needs appear.

  Large Stories are called “Epics”. Epics are broken down into smaller stories as they move up the Product Backlog, and get closer to being worked on.

Page 22: Introduction to Agile Scrum

Sprint 4 Weeks���or Less

Potentially���Shippable Increment

Product Owner Review

No Changes To Goal or Timebox

Retrospective

Dev Team

Daily Scrum���Meeting Input from End-Users,

Customers, Team and���Other Stakeholders

Sprint���Backlog

Product Backlog

Grooming

Sprint Planning Meeting

Team Selects How Much���To Target

ScrumMaster

SCRUM

Product���Backlog

Detailed Plan for���Sprint

Ordered List of What’s Needed

Page 23: Introduction to Agile Scrum

Product Backlog Grooming

  Each Sprint, the Dev Team and Product Owner together look ahead to the upcoming 2-3 Sprints’ worth of Product Backlog

  The Dev Team and Product Owner split large Product Backlog Items into smaller pieces

  Small enough that 1-2 people could finish in 2-3 days

  The Dev Team gets a more detailed understanding of the upcoming Product Backlog Items, by asking a lot of questions

  This enables the Dev Team to enter Sprint Planning with a good understanding of the items at the top of the Product Backlog

  Roughly 5-10% of each Sprint’s working hours are spent on Product Backlog Grooming (~3 hours for a 2-week Sprint)

  The ScrumMaster organizes and facilitates this activity

Page 24: Introduction to Agile Scrum

Sprint 4 Weeks���or Less

Potentially���Shippable Increment

Product Owner Review

No Changes To Goal or Timebox

Retrospective

Dev Team

Daily Scrum���Meeting Input from End-Users,

Customers, Team and���Other Stakeholders

Sprint���Backlog

Product Backlog

Grooming

Sprint Planning Meeting

Team Selects How Much���To Target

ScrumMaster

SCRUM

Product���Backlog

Detailed Plan for���Sprint

Ordered List of What’s Needed

Page 25: Introduction to Agile Scrum

Sprint Planning Meeting

  Conducted by the Dev Team, the Product Owner, and the ScrumMaster together

  Often conducted in 2 parts:   Part 1 – Dev Team decides how much they are going to target

  Part II – Dev Team creates a plan for how they are going to deliver it

  Popular Approaches to deciding how much to target:

  Velocity-based Once a Dev Team has a stable history of how much Product Backlog they can complete in a Sprint, they set their target based on their recent results

  Commitment-based Dev Team estimates its capacity for work during the Sprint (in hours or days, for example), then targets as many Product Backlog items as they have capacity for

Page 26: Introduction to Agile Scrum

Name Days in the Sprint Hours per Day Total Hours in the Sprint

Amitabh! 9! 5 ½ ! 50!Shahrukh! 9! 5 ½ ! 50!Aishwarya! 6! 5 ½ ! 33!Salman! 9! 5 ½ ! 50!Priyanka! 9! 3! 27!

Total 210 !Mon Tues Weds Thurs Fri

1 2 3 4

5 6 7 8

Sprint Planning

Review and Retrospective

½ day

½ day

Work Time Available

Page 27: Introduction to Agile Scrum

Name Days in the Sprint Hours per Day Total Hours in the Sprint

Amitabh! 9! 6! 54!Shahrukh! 9! 6! 54!Aishwarya! 6! 6! 36!Salman! 9! 6! 54!Priyanka! 9! 5! 45!

Total 240 !

Work Time Available

-15!-15!

Buffer (5-10%)!Product Backlog Grooming (5-10%)!

210!Total Work Time Available in the Sprint!

Page 28: Introduction to Agile Scrum

Available Time in Sprint = [your number goes here] 0 Allocated so far = minutes

Not Started In Progress Done

Page 29: Introduction to Agile Scrum

Priority Description

1 Make a cube with sides of 10cm.

2 Make a square-based pyramid. The base should be 10cm square, and the sides should be 15cm. Attach to the top of item 1.

3 Make a triangular prism. All the sides of the prism should be 6cm. Attach to the top of item 3, and then attach both to the side of item 1.

4 Make a hexagonal prism. Each rectangular side should 4cm wide by 12cm long. After completing it, stand it upright.

5 Make a triangular pyramid. Each side should be 12cm. Attach it to item 5.

Product Backlog

10

10

10

15

10

6

6

6

6

4 12

12

12 12

15

10

Page 30: Introduction to Agile Scrum

Product Backlog Item #1 Make 10cm cube

Get cardboard

Available Time in Sprint = 54 minutes

Draw six 10x10cm squares

Cut out the six squares

Tape squares together

Double-check size and quality

1 3

5 5

2

Allocated so far = minutes Not Started In Progress Done

Total: 16 mins

16

Page 31: Introduction to Agile Scrum

Priority Description

1 Make a cube with sides of 10cm.

2 Make a square-based pyramid. The base should be 10cm square, and the sides should be 15cm. Attach to the top of item 1.

3 Make a triangular prism. All the sides of the prism should be 6cm. Attach to the top of item 3, and then attach both to the side of item 1.

4 Make a hexagonal prism. Each rectangular side should 4cm wide by 12cm long. After completing it, stand it upright.

5 Make a triangular pyramid. Each side should be 12cm. Attach it to item 5.

Product Backlog

10

10

10

15

10

6

6

6

6

4 12

12

12 12

15

10

Page 32: Introduction to Agile Scrum

Product Backlog Item #1 Make 10cm cube

Get cardboard

Available time in Sprint = 54 minutes

Draw six 10x10cm squares

Cut out the six squares

Tape squares together

Double-check size and quality

1 3

5 5

2

Allocated so far = minutes Not Started In Progress Done

Total: 16 mins

Product Backlog Item #2 Make Square-based Pyramid

Draw four 10x15x15 triangles

Draw one 10x10cm square

Cut out pieces

Tape pieces

together

6 2

6 5 Double-

check size and quality

2

Total: 19 mins

35

Page 33: Introduction to Agile Scrum

Product Backlog Item #1 Make 10cm cube

Get cardboard

Available time in Sprint = 54 minutes

Draw six 10x10cm squares

1 3

Allocated so far = 50 minutes Not Started In Progress Done

TOTA

L M

INU

TES

OF

WO

RK

LEF

T T

O D

O!

Initial "Estimate!

Day 1! Day 2!

35!

40!

45!

50!

55!

60!

5!

10!

15!

20!

25!

30!

65!

70!

75!

80!

85!

0!

BURNDOWN CHART!

Day 3!

50

Page 34: Introduction to Agile Scrum

SPRINT BACKLOG

Blow up 10 Balloons Measure Radius of All 10 Balloons Calculate Volumes of All 10 Balloons

Starting the Sprint

Page 35: Introduction to Agile Scrum

Product Backlog Item #1 Make 10cm cube

Available time in Sprint = 54 minutes

Draw six 10x10cm squares

3 Cut out the six squares

5

Tape squares together

5 Double-

check size and quality

2

Allocated so far = 50 minutes Not Started In Progress Done

Total: 16 mins

Product Backlog Item #2 Make Square-based Pyramid

Draw one 10x10cm square

2 Cut out pieces

6

Tape pieces

together 5

Double-check size and quality

2

Total: 19 mins

Get cardboard

1 Pete

Get cardboard and tape

1 Pete

Draw four 10x15x15 triangles

6 Pete

Draw four 10x15x15 triangles

6 Pete

Page 36: Introduction to Agile Scrum

Sprint 4 Weeks���or Less

Potentially���Shippable Increment

Product Owner Review

No Changes To Goal or Timebox

Retrospective

Dev Team

Daily Scrum���Meeting Input from End-Users,

Customers, Team and���Other Stakeholders

Sprint���Backlog

Product Backlog

Grooming

Sprint Planning Meeting

Team Selects How Much���To Target

ScrumMaster

SCRUM

Product���Backlog

Detailed Plan for���Sprint

Ordered List of What’s Needed

Page 37: Introduction to Agile Scrum

Daily Scrum Meeting   Goal

  Enable Dev Team to update each other daily   Make all blocks visible to SM and entire Dev Team daily

  Every day, at an agreed time and place, ���Dev Team stands in a circle and reports 3 things   What did I do since the last Daily Scrum Meeting?   What will I do by the next Daily Scrum Meeting?   What is blocking me?

  15 minutes maximum   During meeting: everyone listens, no discussion   After meeting is done: discussion as needed   Product Owner can attend, but mustn’t interfere   After meeting, ScrumMaster helps with blocks

Page 38: Introduction to Agile Scrum

Product Backlog Item #1 Make 10cm cube

Draw six 10x10cm squares

3 Cut out the six squares

5

Tape squares together

5 Double-

check size and quality

2

Not Started In Progress Done

Product Backlog Item #2 Make Square-based Pyramid

Draw one 10x10cm square

2 Cut out pieces

6

Tape pieces

together 5

Double-check size and quality

2

Get cardboard

1 Pete

Draw four 10x15x15 triangles

6 Pete

Product Backlog Item #3 Make Cylinder

Draw shape

Get cardboard and tape

Ravi

Priya

Arun

3

2

8 1

Page 39: Introduction to Agile Scrum

Product Backlog Item #1 Make 10cm cube

Draw six 10x10cm squares

3 Cut out the six squares

5

Tape squares together

5 Double-

check size and quality

2

Not Started In Progress Done

Product Backlog Item #2 Make Square-based Pyramid

Draw one 10x10cm square

2 Cut out pieces

6

Tape pieces

together 5

Double-check size and quality

2

Get cardboard

1 Pete

Draw four 10x15x15 triangles

6 Pete

Product Backlog Item #3 Make Cylinder

Draw shape

Get cardboard and tape

Ravi

Priya

Arun

3

2

8 1 Total = 42

Page 40: Introduction to Agile Scrum

TOTA

L M

INU

TES

OF

WO

RK

LEF

T T

O D

O!

Initial "Estimate!

Day 1! Day 2!

35!

40!

45!

50!

55!

60!

5!

10!

15!

20!

25!

30!

65!

70!

75!

80!

85!

0!

BURNDOWN CHART!

Day 3!

Page 41: Introduction to Agile Scrum

Sprint 4 Weeks���or Less

Potentially���Shippable Increment

Product Owner Review

No Changes To Goal or Timebox

Retrospective

Dev Team

Daily Scrum���Meeting Input from End-Users,

Customers, Team and���Other Stakeholders

Sprint���Backlog

Product Backlog

Grooming

Sprint Planning Meeting

Team Selects How Much���To Target

ScrumMaster

SCRUM

Product���Backlog

Detailed Plan for���Sprint

Ordered List of What’s Needed

Page 42: Introduction to Agile Scrum

Sprint Review

  Goal: Inspect and Adapt the Product   Collaborative meeting between the Product

Owner, Dev Team, ScrumMaster, stakeholders   Together we get “hands on” with what the Dev

Team has produced in the Sprint  We inspect the quality, and whether it is “done”  We inspect whether it truly serves customer needs  We try to find improvements to make in the future

(Product Owner puts these on the Product Backlog)

  Recommendation: Get real-world customers or end-users to attend and give hands-on feedback

Page 43: Introduction to Agile Scrum

Sprint 4 Weeks���or Less

Potentially���Shippable Increment

Product Owner Review

No Changes To Goal or Timebox

Retrospective

Dev Team

Daily Scrum���Meeting Input from End-Users,

Customers, Team and���Other Stakeholders

Sprint���Backlog

Product Backlog

Grooming

Sprint Planning Meeting

Team Selects How Much���To Target

ScrumMaster

SCRUM

Product���Backlog

Detailed Plan for���Sprint

Ordered List of What’s Needed

Page 44: Introduction to Agile Scrum

Sprint Retrospective

  Goal: Inspect and Adapt Our Process   Collaborative meeting between the Product

Owner, Dev Team, and ScrumMaster   We talk about what we experienced and

observed during the Sprint, both good and bad   We create a plan of action for improving in the

next Sprint   Probably the single most important practice in

Scrum. We do this every Sprint!

Page 45: Introduction to Agile Scrum

Start! Stop! Continue!Start getting a better understanding of the Product Backlog Items during Sprint Planning!

Start doing more communication between Dev Team and Product Owner during the Sprint!

Start doing the Daily Scrum Meeting at the beginning of the day, instead of the end of the day!

Stop waiting until the end of the Sprint to begin integration testing!

Stop allowing changes to our target during the middle of the Sprint!

Stop sacrificing quality just to hit our target during the Sprint!

Stop interrupting each other during the Daily Scrum Meeting!

Continue the good teamwork and positive attitude!

Continue putting a little extra buffer in our plan for each Sprint!

Continue inviting end-users to the Sprint Review, to get their feedback!

Continue using the task board on the wall!

Page 46: Introduction to Agile Scrum

SPRINT BACKwith LOG Getting Started with Scrum

Page 47: Introduction to Agile Scrum

Time

Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9 Sprint 10

Development Start Release Date

Getting Started with Scrum���  ScrumMaster teaches Scrum to everyone and assigns the Scrum roles   Product Owner communicate the vision and goals of the Release   Product Owner leads the creation of the Product Backlog (with lots of input)  Dev Team does high-level size estimation of the Product Backlog   Product Owner does initial prioritization of the Product Backlog (with lots of input)   Release Planning Meeting to estimate release date and budget  Dev Team sets up their development and test environments  Dev Team does initial high-level design and architecture (just enough to get started)  Don’t forget – all of the above will evolve during project!

Getting Started

Page 48: Introduction to Agile Scrum

SPRINT BACKLOG

Blow up 10 Balloons Measure Radius of All 10 Balloons Calculate Volumes of All 10 Balloons

The “Definition of Done”���and Getting to Done

Page 49: Introduction to Agile Scrum

The Definition of Done   D.o.D. defines what it means for a Product Backlog Item to be

“Done” (=potentially shippable) at the end of a Sprint

  Product Owner and Team create D.o.D. before first Sprint   Can be changed, based on Product Owner and Team decision

  There may be Product Backlog Items that are outside the D.o.D.   For example, “Investigate Performance Problem” – needs its own D.o.D.

Our Team’s De!nition of Done Product Backlog Item is done at end of Sprint if: •  Code complete •  Code reviewed •  Unit Tested •  Integration Tested •  Acceptance Tested •  System Docs and User Docs updated •  No Priority 1 or Priority 2 defects remaining

Page 50: Introduction to Agile Scrum

DESIGN CODE TEST Feature A

Team Zebra is doing a 2-week Sprint and have committed to Product Backlog Items A, B, C, D, E

DESIGN CODE TEST Feature B

DESIGN CODE TEST Feature C

DESIGN CODE TEST Feature D

DESIGN CODE TEST Feature E

INITIAL DESIGN Features A-E

FINAL TEST AND POLISH

WORKING SPRINT PLANNING

REVIEW AND RETROSPECTIVE

Looking Inside One Sprint

Page 51: Introduction to Agile Scrum

SPRINT BACKLOG

Blow up 10 Balloons Measure Radius of All 10 Balloons Calculate Volumes of All 10 Balloons

Large-Scale and���Distributed Scrum

Page 52: Introduction to Agile Scrum

50 People (Architects, Coders, Testers, Analysts, UI Designers, Technical Writers, etc.)

Scaling Scrum

Page 53: Introduction to Agile Scrum

Team A Team B Team C Team D Team E

Scaling Scrum

Page 54: Introduction to Agile Scrum

Team A Team B Team C Team D Team E

Scaling Scrum

Cross-Functional (Designers, Coders,

Testers, etc.)

Cross-Functional (Designers, Coders,

Testers, etc.)

Cross-Functional (Designers, Coders,

Testers, etc.)

Cross-Functional (Designers, Coders,

Testers, etc.)

Cross-Functional (Designers, Coders,

Testers, etc.)

Feature Teams

Page 55: Introduction to Agile Scrum

Scaling Scrum

Team A Team B Team C Team D Team E

8

9

10

11

12

7

1

2

3

4

5

6

Feature A

Feature B

Feature C

Feature D

Feature E

Feature F

Feature G

Feature H

Feature I

Feature J

Feature K

Feature L

13 Feature M

Cross-Functional (Designers, Coders,

Testers, etc.)

Cross-Functional (Designers, Coders,

Testers, etc.)

Cross-Functional (Designers, Coders,

Testers, etc.)

Cross-Functional (Designers, Coders,

Testers, etc.)

Cross-Functional (Designers, Coders,

Testers, etc.)

Page 56: Introduction to Agile Scrum

Scaling Scrum

Team A Team B Team C Team D Team E

8

9

10

11

12

7

1

2

3

4

5

6

Feature A

Feature B

Feature C

Feature D

Feature E

Feature F

Feature G

Feature H

Feature I

Feature J

Feature K

Feature L

13 Feature M

Cross-Functional (Designers, Coders,

Testers, etc.)

Cross-Functional (Designers, Coders,

Testers, etc.)

Cross-Functional (Designers, Coders,

Testers, etc.)

Cross-Functional (Designers, Coders,

Testers, etc.)

Cross-Functional (Designers, Coders,

Testers, etc.)

Page 57: Introduction to Agile Scrum

Scaling Scrum

Team A Team B Team C Team D Team E Cross-Functional (Designers, Coders,

Testers, etc.)

Cross-Functional (Designers, Coders,

Testers, etc.)

Cross-Functional (Designers, Coders,

Testers, etc.)

Cross-Functional (Designers, Coders,

Testers, etc.)

Cross-Functional (Designers, Coders,

Testers, etc.)

Chief Product Owner

Product Owner Product Owner Product Owner

Page 58: Introduction to Agile Scrum

During the Sprint

Team A Team B Team C Team D Team E

Scrum of Scrums Daily Meeting of Team Representatives

Coordination, Dependencies Mgt, Block Surfacing

Page 59: Introduction to Agile Scrum

Project Growth

S P R I N T S P R I N T S P R I N T S P R I N T S P R I N T S P R I N T S P R I N T

Page 60: Introduction to Agile Scrum

Dependencies: Day-to-Day

  Make direct team-to-team communication as easy as possible for everyone on the project

  Use the Scrum-of-Scrums actively   Make sure all teams have some slack (extra buffer) in

every Sprint, to be able to help each other

Page 61: Introduction to Agile Scrum

Dependencies: Backlog-Level

Backlog Item #1

Team A Team B •  Identify the dependency before Sprint Commitment is made

Then, either… •  Product Owner A

reduces priority of #1���or

•  Product Owner B increases priority of #18���or

•  Product Owner A shifts #18 to Team A Product Backlog and Team A builds it���or

•  Team A uses mock object in place of #18, and replaces with actual #18 later Product Backlog Product Backlog

Backlog Item #18

Page 62: Introduction to Agile Scrum

Distributed Scrum Practices

  Model 1: Product Owner in US, Dev Team in India

  ScrumMaster should be located with Dev Team in India   Start with short Sprints (2 weeks or less)

  Dev Team does Daily Scrum during India business hours   After Daily Scrum, ScrumMaster emails list of blocks to the

Product Owner, for assistance clearing   All real-time meetings between Dev Team and Product Owner

should be visual, not just audio   1-2x per week real-time call for Product Owner and Dev Team

  Product Owner travels to India for start of first Sprint

Page 63: Introduction to Agile Scrum

Distributed Scrum Practices   Model 2: Dev Team split between multiple locations

  4 team-members in India, 4 team-members in Europe   To be effective, team formation must occur

  Ideally, colocation for first Sprint   Ongoing “ambassadorship”   Multiple forms of continuous live communication   If you can’t make this investment, may be better to

organize them as two different Scrum teams   Daily Scrum

  Live via webcam if timezones overlap, otherwise try cameraphone video recording

  Scrum Artifacts (Sprint Backlog, Burndown Chart) done electronically, in a shared location

Page 64: Introduction to Agile Scrum

Scrum Tools

  There are a range of software tools available for Scrum Teams to manage their Scrum information

  Enterprise tools   VersionOne, Rally, ScrumWorks, Mingle, Greenhopper for Jira

  Open-source   X-planner

  Lightweight tools   ScrumNinja and BananaScrum

  Bear in mind that there are pro’s and con’s, costs as well as benefits, when using these tools

  The most successful self-organization tends to occur when Dev Teams are using information radiators

Page 65: Introduction to Agile Scrum

SPRINT BACKLOG

Blow up 10 Balloons Measure Radius of All 10 Balloons Calculate Volumes of All 10 Balloons

Release Estimation in Scrum

Page 66: Introduction to Agile Scrum

Team Alpha

3

2 2 2

Sprint 1 Sprint 2 Sprint 3

12 Points of size

16 Points of size

14 Points of size

Average of 14 Points per Sprint “Velocity”

8

1 1 1 1

2 2

1 1 1

2 2

1 1

3

2

1 1 1

Page 67: Introduction to Agile Scrum

The Product Backlog

Priority Description Size (to build)

1 Feature A 3

2 Feature B 1

3 Feature C 3

4 Feature D 5

5 Feature E 1

6 Feature F 8

7 Feature G 3

8 Feature H 5

9 Feature I 2

10 Feature J 3

11 Feature K 1

12 Feature L 5

Page 68: Introduction to Agile Scrum

Team Alpha

3

2 2 2

Sprint 1 Sprint 2 Sprint 3

8

1 1 1 1

2 2

1 1 1

2 2

1 1

3

2

1 1 1

Page 69: Introduction to Agile Scrum

The Product Backlog

Priority Description Size (to build)

1 Feature A 3

2 Feature B 1

3 Feature C 3

4 Feature D 5

5 Feature E 1

6 Feature F 8

7 Feature G 3

8 Feature H 5

9 Feature I 2

10 Feature J 3

11 Feature K 1

12 Feature L 5

Page 70: Introduction to Agile Scrum

The Product Backlog

Priority Description Size (to build)

1 Feature A 3

2 Feature B 1

3 Feature C 3

4 Feature D 5

5 Feature E 1

6 Feature F 8

7 Feature G 3

8 Feature H 5

9 Feature I 2

10 Feature J 3

11 Feature K 1

12 Feature L 5

Total = 40 points

Velocity = 14 points

Time to complete = 40/14 = 3 Sprints

If cost per Sprint is $15K, total cost is: 3 x $15K = $45K

If Sprints are 2 weeks each, total time required is: 3 x 2 = 6 weeks

Page 71: Introduction to Agile Scrum

•  Many Scrum tems use Planning Poker to estimate the size of Product Backlog Items

•  “Size” = Effort + Complexity + Uncertainty •  The whole team estimates together •  If actual team is not yet selected, then get a typical

team to do it, and be sensible: add extra buffer to the final plan

•  Everyone estimates overall size of the item (not just their part of the work)

•  ScrumMaster facilitates (and joins in the estimation if they will be doing work too)

•  Product Owner should be available to clarify ���requirements

Page 72: Introduction to Agile Scrum

Estimating Release Date and Budget

  Dev Team does high-level size estimation of Product Backlog   Using Planning Poker, for example

  Dev Team estimates their velocity   Using either past history, by doing a Sprint, or by doing a Sprint

Planning Meeting. This is a forecast, not a promise.

  Product Owner uses the above data to estimate a realistic date for release

  If date turns out to be too optimistic, Product Owner will have to either remove scope from the Release, or move the Release date

  Product Owner decides how much buffer to add, to account for uncertainty and risk

  Buffer for Uncertainty (for example: 15%)   Buffer for Improvement and Rework (for example: 10%)   Many Dev Teams also need a Pre-Release Sprint (to go from

Potentially Shippable to actually “shipped”)

Page 73: Introduction to Agile Scrum

Pre-Release Sprint

Release Date

Sprint Sprint Sprint Sprint Sprint Sprint Sprint Sprint Sprint Sprint

Final Hardening

and Release Preparation

Page 74: Introduction to Agile Scrum

Estimating Release Date and Budget

  Dev Team does high-level size estimation of Product Backlog   Using Planning Poker, for example

  Dev Team estimates their velocity   Using either past history, by doing a Sprint, or by doing a Sprint

Planning Meeting. This is a forecast, not a promise.

  Product Owner uses the above data to estimate a realistic date for release

  If date turns out to be too optimistic, Product Owner will have to either remove scope from the Release, or move the Release date

  Product Owner decides how much buffer to add, to account for uncertainty and risk

  Buffer for Uncertainty (for example: 15%)   Buffer for Improvement and Rework (for example: 10%)   Many Dev Teams also need a Pre-Release Sprint (to go from

Potentially Shippable to actually “shipped”)

Page 75: Introduction to Agile Scrum

Item # Product Backlog Item Initial Estimate Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9 Sprint

10 Sprint

11

1 As an Administrator or Employee, I want to go to the Home Page and type my login name and password, so that I can gain access to the Dashboard Page. 2 0 0 0 0 0

2 As an Employee, I want to submit a leave request to my manager, so I can find out whether I have permission to take one or more days of leave. 3 0 0 0 0 0

3 As an employee who has other employees reporting to me, I want to receive an email to inform me that a leave request has been filed, so that I can approve or deny it in a timely manner. 2 2 0 0 0 0

4 As an employee, I want to be able to see the unused vacation, personal, and sick leave I currently have, so that I can plan when to take leave and how much I’m entitled to. 3 3 3 0 0 0

5 As an employee, I want to be able to review my pending leave requests, so that I can see which requests have been approved, and which are pending review by my manager. 5 5 5 0 0 0

6 As an Administrator or Employee, I want to click the “Forgot Password” link on the home page, enter my email address, and have a new password generated and sent to me, so I can log into the system. 1 1 1 1 0 0

7 As an Administrator, I want to be able to modify the personal details (for example, name, or manager, or date of hire) for a particular employee, so that I can keep their information up-to-date and correct any errors. 3 3 3 3 0 0

8 As an Administrator, I want to have a backup of the system made nightly, so that in the event of a crash or other problem, the recent days’ worth of data can be restored. 8 8 8 8 0 0

9 As an Administrator, I want to create a new Administrator account for another person, so that they have the necessary permissions within the system. 3 3 3 3 0 0

10 As an Administrator, I want to set up a new Employee account for another person, so they can use the system to manage their leave requests and approvals. 3 3 3 3 3 0

11 As an Administrator, I want to be able to modify the system-wide defaults for company name, company email, and number of days of leave per year. 2 2 2 2 2 2

12 As an Administrator, I want to set up new Employee accounts for multiple other people at once by copying and pasting their information into a text field, so they can use the system to manage their leave requests / approvals.

3 3 3 3 3 3

13 As an employee, I want to be able to review my pending leave requests, and be able to cancel any that are no longer required, so that I can keep my request up-to-date and accurate. 2 2 2 2 2 2

14 As an employee, I want to be able to review my pending leave requests, and be able to modify any of the details that are no longer correct, so that I can keep my request up-to-date and accurate. 2 2 2 2 2 2

15

As an employee who has other employees reporting to me, I want to be able to see a table that lists all the employees who report to me (as well as the employees that report to them), and for each a summary of their leave requests and days of leave remaining, so I can have a high-level overview of my departmental leave metrics.

5 5 5 5 5 5

16 As an employee, I want to be able to see all my current and past leave requests (including approved, denied, and pending) since I was hired, so I can quickly get information I need regarding one particular leave request.

3 3 3 3 3 3

17 As an employee who has other employees reporting to me, I want to be able to see all the leave requests that are currently pending my approval on a single page, and be able to approve or deny them from that page, so that I can quickly and easily take care of all my pending approvals at once.

5 5 5 5 5 5

18 As an Administrator, I want to be able to select a subset of employees and export their data as either a tab-delimited text file, or as an excel spreadsheet. 13 13 13 13 13 13

19 As an Administrator or Employee, I want to click “Change Password” choice on the Dashboard Page, and be able to type in a new password. 2 2 2 2 2 2

20 As an Administrator or Employee, I want to click “Change Username” choice on the Dashboard Page, and be able to type in a new username. 3 3 3 3 3 3

21 As an employee who has other employees reporting to me, I want to receive an email reminder once a day if there are any leave requests that have been waiting for my review for more than 72 hours, so that I can approve or deny it without further delay.

5 5 5 5 5 5

22 As an employee, I want to receive an email notification when my manager approves or denies one of my requests. 2 2 2 2 2 2

Total 80 75 73 65 50 47

Release Backlog

Page 76: Introduction to Agile Scrum

90

80

70

60

50

40

30

20

10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Release Burndown Chart

Sprints

End Development Release

Page 77: Introduction to Agile Scrum

Item # Product Backlog Item Initial Estimate Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9 Sprint

10 Sprint

11

1 As an Administrator or Employee, I want to go to the Home Page and type my login name and password, so that I can gain access to the Dashboard Page. 2 0 0 0 0 0

2 As an Employee, I want to submit a leave request to my manager, so I can find out whether I have permission to take one or more days of leave. 3 0 0 0 0 0

3 As an employee who has other employees reporting to me, I want to receive an email to inform me that a leave request has been filed, so that I can approve or deny it in a timely manner. 2 2 0 0 0 0

4 As an employee, I want to be able to see the unused vacation, personal, and sick leave I currently have, so that I can plan when to take leave and how much I’m entitled to. 3 3 3 0 0 0

5 As an employee, I want to be able to review my pending leave requests, so that I can see which requests have been approved, and which are pending review by my manager. 5 5 5 0 0 0

6 As an Administrator or Employee, I want to click the “Forgot Password” link on the home page, enter my email address, and have a new password generated and sent to me, so I can log into the system. 1 1 1 1 0 0

7 As an Administrator, I want to be able to modify the personal details (for example, name, or manager, or date of hire) for a particular employee, so that I can keep their information up-to-date and correct any errors. 3 3 3 3 0 0

8 As an Administrator, I want to have a backup of the system made nightly, so that in the event of a crash or other problem, the recent days’ worth of data can be restored. 8 8 8 8 0 0

9 As an Administrator, I want to create a new Administrator account for another person, so that they have the necessary permissions within the system. 3 3 3 3 0 0

10 As an Administrator, I want to set up a new Employee account for another person, so they can use the system to manage their leave requests and approvals. 3 3 3 3 3 0

11 As an Administrator, I want to be able to modify the system-wide defaults for company name, company email, and number of days of leave per year. 2 2 2 2 2 2

12 As an Administrator, I want to set up new Employee accounts for multiple other people at once by copying and pasting their information into a text field, so they can use the system to manage their leave requests / approvals.

3 3 3 3 3 3

13 As an employee, I want to be able to review my pending leave requests, and be able to cancel any that are no longer required, so that I can keep my request up-to-date and accurate. 2 2 2 2 2 2

14 As an employee, I want to be able to review my pending leave requests, and be able to modify any of the details that are no longer correct, so that I can keep my request up-to-date and accurate. 2 2 2 2 2 2

15

As an employee who has other employees reporting to me, I want to be able to see a table that lists all the employees who report to me (as well as the employees that report to them), and for each a summary of their leave requests and days of leave remaining, so I can have a high-level overview of my departmental leave metrics.

5 5 5 5 5 5

16 As an employee, I want to be able to see all my current and past leave requests (including approved, denied, and pending) since I was hired, so I can quickly get information I need regarding one particular leave request.

3 3 3 3 3 3

17 As an employee who has other employees reporting to me, I want to be able to see all the leave requests that are currently pending my approval on a single page, and be able to approve or deny them from that page, so that I can quickly and easily take care of all my pending approvals at once.

5 5 5 5 5 5

18 As an Administrator, I want to be able to select a subset of employees and export their data as either a tab-delimited text file, or as an excel spreadsheet. 13 13 13 13 13 13

19 As an Administrator or Employee, I want to click “Change Password” choice on the Dashboard Page, and be able to type in a new password. 2 2 2 2 2 2

20 As an Administrator or Employee, I want to click “Change Username” choice on the Dashboard Page, and be able to type in a new username. 3 3 3 3 3 3

21 As an employee who has other employees reporting to me, I want to receive an email reminder once a day if there are any leave requests that have been waiting for my review for more than 72 hours, so that I can approve or deny it without further delay.

5 5 5 5 5 5

22 As an employee, I want to receive an email notification when my manager approves or denies one of my requests. 2 2 2 2 2 2

Total 80 75 73 65 50 47

Release Backlog

Page 78: Introduction to Agile Scrum

90

80

70

60

50

40

30

20

10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Release Burndown Chart

Sprints

End Development Release

Page 79: Introduction to Agile Scrum

90

80

70

60

50

40

30

20

10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Release Burndown Chart

Sprints

End Development Release

2 extra Sprints will be needed to deliver the entire Release Backlog

Page 80: Introduction to Agile Scrum

90

80

70

60

50

40

30

20

10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Release Burndown Chart

Sprints

End Development Release

To deliver the release on

schedule, remove 12 points from the

Release Backlog

Page 81: Introduction to Agile Scrum

90

80

70

60

50

40

30

20

10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Release Burndown Chart

Sprints

End Development Release

Page 82: Introduction to Agile Scrum

Retrospective is a waste of time “The 5 Why’s” We never take

action on any of the issues we discuss

We never have time to make improvements in

our way of working

We’re always over-committed in every

Sprint

The Product Owner pressures us into overcommitting

in Sprint Planning

We don’t have any way of reminding

ourselves

We always forget whatever we agreed to do

The Product Owner gave an unrealistic delivery

date to the VP

The ScrumMaster isn’t protecting us!

Page 83: Introduction to Agile Scrum

Impact of Change

In the Current Sprint In Future Sprints

Happiness of the Product

Owner

Team’s ability to deliver its commitment

Team’s focus, commitment,

motivation

PO’s discipline to not request

changes

Time and thought the PO puts into

preparing the Product Backlog

Team’s focus, commitment,

motivation

Team’s discipline in

following the rules of Scrum

Other teams’ discipline in

following the rules of Scrum

What are the consequences if the ScrumMaster says “Yes” to the Product Owner making a “swap” during the Sprint?