27
Foreward Mike Cohn Mary Poppendieck Introduction Chapter 1 Backdrop: The Science of Scrum

Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

Foreward

Mike Cohn

Mary Poppendieck

Introduction

Chapter 1

Backdrop: The Science of Scrum

Page 2: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

Mike CohnCertified ScrumMaster

Director, Agile Alliance

https://www.mountaingoatsoftware.com/

“Scrum excels on urgent projects that are critical to an organization.”

Scrum excels when requirements are unknown, unknowable, or changing.

Scrum excels by helping teams excel.

Scrum is hard..”

Page 3: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

Mary Poppendieck

The Lean MindsetEnergized Workers, Delighted Customers, Genuine Efficiency Breakthrough Innovation

http://www.poppendieck.com/people.htm

“If teams are of a size that encourages every member to

participate, and team members feel like they are in control

of their own destiny, the experience, ideas, and concerns of

individual members will be leveraged, not squelched.

When team members share a common purpose that everyone

believes in, they will figure out how to achieve it.

When teams understand and commit to delivering business

value for their customers, when they are free to figure out

how to perform tasks, and when they are given the resources

they need, they will succeed.”

Page 4: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

Introduction

“Scrum is not a prescriptive process, it doesn’t describe what to

do in every circumstance.

Scrum is used for complex work in which it is impossible to

predict everything that will occur.

Accordingly, Scrum simply offers a framework and set of

practices that keep everything visible.”

“Most people responsible for managing project have been taught

a deterministic approach to PM that uses detailed plans, Gantt

charts, and work schedules.

… Scrum shows management how to guide a project along its

optimal course, which unfolds as the project proceeds.”

Page 5: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

Introduction … continued

“I used to teach people the theory, practices, and rules of Scrum.

Now I teach them what Scrum feels like as it is implemented.

I teach them to recognize when things are going right and when

they are going wrong…

… as you read this book, you will begin to understand what

Scrum feels like and how you might fell using Scrum in your

organization.”

Page 6: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

Backdrop: The Science of Scrum

“The chapter describes how empirical processes are

used to control complex, processes and how Scrum

employs these empirical processes to control software

development projects…

… but not that it ensures the project will go exactly as

expected, yielding results identical to those that were

predicted…

… rather that Scrum controls the process of software

development to guide work toward the most valuable

outcome possible.”

Not a “silver bullet”!

Page 7: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

Empirical Process Control

“When the underlying mechanisms by which a process

operates are reasonably well understood, adopting the

defined (theoretical) modeling approach makes sense.

When the process is too complicated for the defined

approach, the empirical approach is the appropriate

choice.

Empirical Process Control requires:

• Visibility

• Inspection

• Adaptation

Page 8: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

Empirical Process Control

Visibility

Those aspects of the process that affect the outcome must be

visible to those controlling the process

Example: The meaning of “done” is precisely defined and understood

by all

Inspection

Those aspects of the process must be inspected frequently

enough that unacceptable variances in the process can be

detected.

Obviously, those doing the inspecting must have the skills to

assess what they are inspecting

Page 9: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

Empirical Process Control

Visibility

Inspection

Adaptation

When one or more aspects of the process are outside

acceptable limits affecting the result, the process must be

adjusted ASAP to minimize further deviation

Code review

A good example of how the process should work

Page 10: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

Complex Software Development

“When complex things interact, the level of complexity

goes through the roof.

In software development, the three most significant are:

1. Requirements

2. Technology

3. People

It’s common to have many stakeholders (those with an interest in

the software and how it works) who have different needs and

whose needs frequently change an are difficult to articulate.

Understanding of what they want often requires someone else’s impression

of what they want …

What they want (require) is not only ambiguous, but changes.

Page 11: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

Complex Software Development

“When complex things interact, the level of complexity

goes through the roof.

In software development, the three most significant are:

1. Requirements

2. Technology

3. People

Simple technology exists, but it is rarely used in software

development... and

… more than one piece is usually employed, and the

interfaces of the many are far more complex than the

complexity within any single piece.

Page 12: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

Figure 1-1 Complexity assessment graph

The intersection of these two kinds of complexity

defines the total complexity of the project.

Technology complexity

Req

uir

emen

ts c

om

ple

xit

y

Page 13: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

Complex Software Development

“When complex things interact, the level of complexity

goes through the roof.

In software development, the three most significant are:

1. Requirements

2. Technology

3. People

Differ in skills, intelligence levels, experience, viewpoints,

attitudes and prejudices…

… and the ability to commit to work together, both

collaboratively and cooperatively.

Page 14: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

The Skeleton and the Heart of Scrum

Iterations… occur one after another

The output of each iteration is an increment of product!

The “daily” inspection …team members meet to inspect

each others’ activities, making appropriate adaptations.

Page 15: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

The Skeleton and the Heart of Scrum

At the start, the team reviews what it must do.

Selects what it believes it produce as “shippable” functionality by

the end of the iteration.

At the end of the iteration, product owner and stakeholders

inspect the functionality… approving or collaborating on what

changes can feasibly be made.

Page 16: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

“The heart of Scrum is the iteration”

• The team looks at the requirements, considers the

available technology, evaluates their skills and

capabilities…

• As a team they then determine how to build the

functionality…

• … modifying its approach daily as it encounters new

complexities, difficulties, and surprises

Page 17: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

Scrum Roles

1. Product Owner

Represents interests of everyone with a stake in the project

and its resulting system

Creates the project’s overall requirements… the Product

Backlog

Ensures that the most valuable functionality is produced first

Prioritized the Product Backlog to ensure that the most valuable

requirements are assigned to the next iteration

2. Team

3. ScrumMaster

Page 18: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

Scrum Roles

1. Product Owner

2. Team

Is self-managing, self organizing, and cross functional

Determines how to turn Product Backlog into an increment of

functionality

Collectively… are responsible for the success of each iteration

and the entire project!

3. ScrumMaster

Page 19: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

Scrum Roles

1. Product Owner

2. Team

3. ScrumMaster

Responsible for the Scrum process

… Scrum mentor for everyone involved in the project

… Ensures everyone involved follows Scrum rules and

practices

Page 20: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

Scrum FlowProduct Backlog

List of functional and nonfunctional req’t

Prioritized & divided into proposed releases

… iteration after iteration

All work is done in sprints

Each sprint is an iteration

Daily Scrum Meeting

3 questions for each team member

What have you done since the last meeting?

What do you plan on doing between now and the next meeting?

What impediments are there to meeting your commitment?

Page 21: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

End of Sprint Review … and then Next Spring Planning

Team meets with Product Owner

(and stakeholders that want to attend)

Review and assess the demonstrated “go live” product

produced during the Sprint

Product Owner approval is needed along with whatever changes are

required

Product Backlog is reviewed and approved

Sprint Retrospective

Team assesses effectiveness of the prior iteration

Identifies changes needed to improve the process and

effectiveness of the team

Page 22: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

Scrum Artifacts

Product Backlog

Requirements

… but only at a non specific level

Recorded but requiring further team / Product

Owner collaboration when preparing the Spring

Backlog

"Card, Conversation, Confirmation"

Page 23: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

ID Theme As a / an I want to … so that … Notes Priority Status

2 Game moderator create a new game by entering a

name and an optional description

I can start inviting estimators If games cannot be saved and

returned to, the description is

unnecessary

Required done

2 Game moderator invite estomaors by giving them

a url where they can access the

game

we can start the game done

5 Game moderator join a game by entering my name

on the page I received the url for

I can participate done

6 Game moderator start a round by entering an item

in a single multi-line text field

We can estimat it done

8 Game moderator see the item we're estimating I know what I'm giving an

estimate for

done

10 Game participant always have the cards in the

same order across multiple rows

it's easy to compare estimates Replaced with A08 because I

didn't want the story to talk

about the same order as that

might be a UI implementation

detail

to do

35 non-functional user have the application respond

quickly to my actions

I don't get bored done

36 non-functional user have nice error pages when

something goes wrong

I can truast the system and it's

developers

done

A11 non-functional Researcher results to be stored in a non-

identifiable way

I can study the data to see

thiings like whether estimates

cnverged around the first

opinion given by "estimator A"

for example

No names or story text should be

stored but we should store each

card of each hand,k know who

played it andknow the final

accepted estimate

A05 Game moderator edit an item in the list of items to

be estimated

so that I can make it better

reflect the team's

understanding of the item

22 Archive moderator export a transcript of a game as a

CSV file

I can further process the stories

and estimates

Exported file should be directly

importable back into the system

done

Product Backlog

Page 24: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what
Page 25: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

Burndown Chart

Tracks the amount of work completed

Page 26: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

Sprint Backlog

Page 27: Introduction Chapter 1 - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/KSchwaber_Ch1.pdf · Introduction “Scrum is not a prescriptive process, it doesn’t describe what

… but just an introduction