147
Introduction to Scrum Pete Deemer CPO, Yahoo! India R&D

Introduction to Scrum for AGILE by Kamalakar Dandu

Embed Size (px)

DESCRIPTION

This is Introduction to Scrum System of Agile Methodology,Uploaded by Kamalakar Dandu.

Citation preview

Page 1: Introduction to Scrum for AGILE by Kamalakar Dandu

Introduction to Scrum

Pete DeemerCPO, Yahoo! India R&D

Page 2: Introduction to Scrum for AGILE by Kamalakar Dandu

Defined Processes

Defined Process

Inputα

Inputβ

Inputγ

Outputα

Outputβ

Outputγ

Assuming every step is understood, a given well-defined set of inputs produces

the same set of outputs every time.Predictability is key.

Page 3: Introduction to Scrum for AGILE by Kamalakar Dandu

The Waterfall

Requirements Gathering

Design

Development

Testing

Launch & Maintain

Documentation, Signoffs, Handoff

Documentation, Signoffs, Handoff

Documentation, Signoffs, Handoff

Documentation, Signoffs, Handoff

Job Function A Job Function B Job Function C Job Function D Job Function E

Advantage: Highly Logical

Disadvantage: People are involved

Page 4: Introduction to Scrum for AGILE by Kamalakar Dandu

Empirical Processes

“It is typical to adopt the defined (theoretical) modeling approach when the underlying mechanisms by which a process operates are reasonably well understood. When the process is too complicated for the defined approach, the empirical approach is the appropriate choice.”

Process Dynamics, Modeling, and Control, Ogunnaike and Ray, Oxford University Press, 1992

Translation into English: Inspect and Adapt

Process

Inspect & Adapt

Inputα Outputβ

Page 5: Introduction to Scrum for AGILE by Kamalakar Dandu

Iterative Incremental Development

“Iterative development is an approach to building software (or anything) in which the overall lifecycle is composed of several iterations in sequence. Each iteration is a self-contained mini-project composed of activities such as requirements analysis, design, programming, and test. Usually the partial system grows incrementally with new features, iteration by iteration; in other words, incremental development.”

--Craig Larman

Page 6: Introduction to Scrum for AGILE by Kamalakar Dandu

Iterative Development

Time

AdaptabilityIterative Development

All-At-Once Development

Page 7: Introduction to Scrum for AGILE by Kamalakar Dandu

Iterative Development

Time

VisibilityIterative Development

All-At-Once Development

Page 8: Introduction to Scrum for AGILE by Kamalakar Dandu

Incremental Development

Time

Value

IncrementalDelivery

All-At-OnceDelivery

Page 9: Introduction to Scrum for AGILE by Kamalakar Dandu

Incremental Development

Time

Risk / Uncertainty

IncrementalDelivery

All-At-OnceDelivery

Page 10: Introduction to Scrum for AGILE by Kamalakar Dandu

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 11: Introduction to Scrum for AGILE by Kamalakar Dandu

The Emergence of Scrum

Scrum formalized in 1996 by Ken Schwaber“The Origins of Scrum”, OOPSLA 1996

Google

Sun

Siemens

Nokia

Philips

BBC

IBM

Yahoo!

SAP

HP

Motorola

TransUnion

BT / British Telecom

CapitalOne

Now in use at a growing list of big companies:

Page 12: Introduction to Scrum for AGILE by Kamalakar Dandu

What Is Scrum Being Used For?

US FDA-approved software for X-Rays, MRIs

High availability systems (99.9999% uptime)

Financial payment applications

Large database applications

Embedded systems

CMMi organizations

Multi-location development

Non-software projects

Google Adwords, “the highest ROI software project in history”

Page 13: Introduction to Scrum for AGILE by Kamalakar Dandu

Scrum Disadvantages

It’s hard!Makes all dysfunction visible

Scrum doesn’t fix anything: the team has to do itFeels like things are worse at the beginning

Bad products will be delivered sooner, and doomed projects will fail faster High risk of turnover

Some people will refuse to stay on a Scrum teamSome people will refuse to stay if Scrum is abandoned

Partial adoption may be worse than none at allIf adoption fails, time will have been wasted, and some people may leave

Page 14: Introduction to Scrum for AGILE by Kamalakar Dandu

Scrum Basics

Pete DeemerCPO, Yahoo! India R&D

Page 15: Introduction to Scrum for AGILE by Kamalakar Dandu

The Basics of Scrum

4-WeekSprint

Potentially Shippable

Product

Product OwnerReview

ScrumMaster

The Team

789101112

1234

56

13

No Changes(in Duration or Deliverable)

Commitment

Daily ScrumMeeting

Retrospective

789101112

123456

13

Page 16: Introduction to Scrum for AGILE by Kamalakar Dandu

The Basics of Scrum

4-WeekSprint

Potentially Shippable

Product

Product OwnerReview

ScrumMaster

The Team

789101112

1234

56

13

No Changes(in Duration or Deliverable)

Commitment

Daily ScrumMeeting

Retrospective

Page 17: Introduction to Scrum for AGILE by Kamalakar Dandu

Product Owner

Responsible for the overall project vision and goals

Responsible for managing project ROI vs. risk

Responsible for taking all inputs into what the team should produce, and turning it into a prioritized list (the Product Backlog)

Participates actively in Sprint Planning and Sprint Review meetings, and is available to team throughout the Sprint

Determines release plan and communicates it to upper management and the customer

Page 18: Introduction to Scrum for AGILE by Kamalakar Dandu

The Basics of Scrum

4-WeekSprint

Potentially Shippable

Product

Product OwnerReview

ScrumMaster

The Team

789101112

1234

56

13

No Changes(in Duration or Deliverable)

Commitment

Daily ScrumMeeting

Retrospective

Page 19: Introduction to Scrum for AGILE by Kamalakar Dandu

Team

7 people, + or – 2Has worked with as high as 15, as few as 3

Can be shared with other teams (but better when not)

Can change between Sprints (but better when they don’t)

Can be distributed (but better when colocated)

Cross-functionalPossesses all the skills necessary to produce an increment of potentially shippable product

Team takes on tasks based on skills, not just official “role”

Self-managingTeam manages itself to achieve the Sprint commitment

Page 20: Introduction to Scrum for AGILE by Kamalakar Dandu

The Basics of Scrum

4-WeekSprint

Potentially Shippable

Product

Product OwnerReview

ScrumMaster

The Team

789101112

1234

56

13

No Changes(in Duration or Deliverable)

Commitment

Daily ScrumMeeting

Retrospective

Page 21: Introduction to Scrum for AGILE by Kamalakar Dandu

The Role of the ScrumMaster

The ScrumMaster does everything in their power to help the team achieve success

This includes:Serving the team

Protecting the team

Guiding the team’s use of Scrum

Page 22: Introduction to Scrum for AGILE by Kamalakar Dandu

What the ScrumMaster Does

Serves the teamThe ScrumMaster takes action to help remove impediments to the team’s effectivenessThe ScrumMaster facilitates the team’s group interactions, to help the team achieve its full potential

Protects the teamThe ScrumMaster protects the team from anything that threatens its effectiveness, such as outside interference or disruptionThe ScrumMaster will need to confront uncomfortable issues, both inside and outside the team

Guiding the team’s use of ScrumThe ScrumMaster teaches Scrum to the team and organizationThe ScrumMaster ensures that all standard Scrum rules and practices are followedThe ScrumMaster organizes all Scrum-related practices

Page 23: Introduction to Scrum for AGILE by Kamalakar Dandu

What Does the ScrumMaster NOT Do?

The ScrumMaster does not manage the team

The ScrumMaster does not direct team-members

The ScrumMaster does not assign tasks

The ScrumMaster does not “drive the team” to hit its goals

The ScrumMaster does not make decisions for the team

The ScrumMaster does not overrule team-members

The ScrumMaster does not direct product strategy, decide technical issues, etc.

Page 24: Introduction to Scrum for AGILE by Kamalakar Dandu

What Happens to the “Manager” in Scrum?

The Team

Manager

Page 25: Introduction to Scrum for AGILE by Kamalakar Dandu

4-WeekSprint

Potentially Shippable

Product

Product OwnerReview

ScrumMaster

The Team

789101112

1234

56

13

No Changes(in Duration or Deliverable)

Commitment

Daily ScrumMeeting

Retrospective

What Happens to the “Manager” in Scrum?

Manager

?

Page 26: Introduction to Scrum for AGILE by Kamalakar Dandu

The New Role of the Manager

4 PossibilitiesScrumMaster

Possible issues?

Product OwnerPossible issues?

Team MemberPossible issues?

“Manager 2.0”

Page 27: Introduction to Scrum for AGILE by Kamalakar Dandu

Manager 2.0

Step 1 – Create list of everything the Manager used to be responsible for (come up with as many items as possible, at least 10 items)Step 2 – Cross off this list everything that:

Conflicts with ScrumIs unnecessary in ScrumWould undermine the team's self-organization and self-management

Page 28: Introduction to Scrum for AGILE by Kamalakar Dandu

Help remove impediments that the team is not able or well-placed to resolve themselves

Fire team-members who are consistently not able to perform

Plan and oversee budgets and financials, and think about tools, skills and other future needs

Recruit, interview and hire new members of the team

Stay abreast of latest developments in the technology their team uses, industry news, etc.

Conduct weekly update and 1:1 meetings with team, to surface issues, and provide direction

Plan training for team, and do career-development and planning with team-members

Monitor the team's progress, to make sure they stay on schedule, and aren't having problems

Provide advice and input to the team on difficult technical issues that come up

Convince team that the commitments made on their behalf are attainable

Do performance evaluations and provide feedback to team-members

Give direction to the team on how to do the work, so they can meet the commitment I made

Provide input on features, functionality, and other aspects of what’s being produced

Make commitments on behalf of the team about how much they can get done by X date

Surface issues to the team that they might overlook – scaling, performance, security, etc.

Keep track of whether team-members have done the tasks I’ve assigned to them

Provide coaching and mentorship to team-members

Decide task assignments among the team members and assign them

Page 29: Introduction to Scrum for AGILE by Kamalakar Dandu

Manager 2.0

Step 3 – Help the manager turn this into a new job description

Step 4 – Get sign-off / agreement from the manager’s manager

Page 30: Introduction to Scrum for AGILE by Kamalakar Dandu

The Basics of Scrum

4-WeekSprint

Potentially Shippable

Product

Product OwnerReview

ScrumMaster

The Team

789101112

1234

56

13

No Changes(in Duration or Deliverable)

Commitment

Daily ScrumMeeting

RetrospectiveProduct Backlog

Page 31: Introduction to Scrum for AGILE by Kamalakar Dandu

Product Backlog

Product Owner lists items in descending order of priority (highest priority item is listed first, next-highest is second, etc.)

Size estimates are rough estimates (can either be arbitrary “points”, or “ideal days”)

Page 32: Introduction to Scrum for AGILE by Kamalakar Dandu

Product Backlog

List of everything that could ever be of value to the business for the team to produceRanked in order of priority

Priority is a function of business value versus riskProduct Owner can make any changes they want before the start of a Sprint Planning Meeting

Items added, changed, removed, reorderedHow much documentation is up to the team and Product Owner to decideThe farther down the list, the bigger and less defined the items become

~2 Sprints worth are defined in detail

Page 33: Introduction to Scrum for AGILE by Kamalakar Dandu

The Basics of Scrum

4-WeekSprint

Potentially Shippable

Product

Product OwnerReview

ScrumMaster

The Team

789101112

1234

56

13

No Changes(in Duration or Deliverable)

Commitment

Daily ScrumMeeting

RetrospectiveProduct Backlog

Page 34: Introduction to Scrum for AGILE by Kamalakar Dandu

Sprint Planning Meeting

Takes place before the start of every SprintTeam decides how much Product Backlog it will commit to complete by the end of the Sprint, and comes up with a plan and list of tasks for how to achieve itWhat’s a good commitment?

Clearly understood by allShared among the teamAchievable without sacrificing quality Achievable without sacrificing sustainable pace

Attended by Team, Product Owner, ScrumMaster, StakeholdersMay require 1-2 hours for each week of Sprint duration

2 week Sprint = 2-4 hours, 4 week Sprint = 4-8 hours

Page 35: Introduction to Scrum for AGILE by Kamalakar Dandu

Sprint Planning

Team understands the details of what the ProductOwner has prioritized on the Product BacklogTeam decides how much productive time it has available during the SprintTeam decides howmany Product Backlog items it can commit to complete during the Sprint

How much “money”do we have in our

bank account?

How many items on the shopping list can we afford to “buy”with that “money”

What’s on the Product Owner’s “shopping list”

Page 36: Introduction to Scrum for AGILE by Kamalakar Dandu

Sprint Planning

Team understands the details of what the ProductOwner has prioritized on the Product BacklogTeam decides how much productive time it has available during the SprintTeam decides howmany Product Backlog items it can commit to complete during the Sprint

SprintPre-Planning

Meeting

SprintPlanningMeeting

Page 37: Introduction to Scrum for AGILE by Kamalakar Dandu

Sprint Planning

Team understands the details of what the ProductOwner has prioritized on the Product BacklogTeam decides how much productive time it has available during the SprintTeam decides howmany Product Backlog items it can commit to complete during the Sprint

SprintPre-Planning

Meeting

SprintPlanningMeeting

Page 38: Introduction to Scrum for AGILE by Kamalakar Dandu

Weds Thurs Fri Mon Tues

Pre-Meetingfor Sprint 4

Review & Retrospective

for Sprint 3(afternoon)

Sprint PlanningMeeting for

Sprint 4(morning)

Sprint 4 Begins

Sprint Pre-Planning Meeting

Not textbook Scrum, but many teams find it useful

Takes place several days before the end of a Sprint (and start of the next Sprint

Product Owner spends an hour walking the team through the items at the top of the Product Backlog for the nextSprint

Team asks questions, requests clarification, recommend items to be broken down further

Page 39: Introduction to Scrum for AGILE by Kamalakar Dandu

Sprint Planning

Team understands the details of what the ProductOwner has prioritized on the Product BacklogTeam decides how much productive time it has available during the SprintTeam decides howmany Product Backlog items it can commit to complete during the Sprint

SprintPre-Planning

Meeting

SprintPlanningMeeting

Page 40: Introduction to Scrum for AGILE by Kamalakar Dandu

Sprint Planning

Team understands the details of what the ProductOwner has prioritized on the Product BacklogTeam decides how much productive time it has available during the SprintTeam decides howmany Product Backlog items it can commit to complete during the Sprint

SprintPre-Planning

Meeting

SprintPlanningMeeting

Page 41: Introduction to Scrum for AGILE by Kamalakar Dandu

Sprint Cycle: 2-Week Sprint

2423222120

3130292827

1716151413

109876

321

FriThursWedsTuesMon

SprintPlanningMeeting

First Dayof Sprint

Last Dayof Sprint

Sprint Review& Retrospective

2 3 41

6 75 8

SprintPlanningMeeting

Page 42: Introduction to Scrum for AGILE by Kamalakar Dandu

Sprint Cycle: 4-Week Sprint

2423222120

3130292827

1716151413

109876

321

FriThursWedsTuesMon

SprintPlanningMeeting

2 3 41

6 75 8 9

11 1210 13

Sprint Review& Retrospective16 1715 18

14

Page 43: Introduction to Scrum for AGILE by Kamalakar Dandu

Sprint Cycle: 2-Week Sprint

2423222120

3130292827

1716151413

109876

321

FriThursWedsTuesMon

SprintPlanningMeeting

Sprint Review& Retrospective

2 3 41

6 75 8

SprintPlanningMeeting

Sprint Review& Retrospective

2 3 41

6 75 8

Sprint Review& Retrospective6 75 8

1-Hr Pre-Meeting for Next Sprint

Page 44: Introduction to Scrum for AGILE by Kamalakar Dandu

Available Time During Sprint

25 (5 * 5)55Jing

24 (8 * 3)38Phillip

35 (7 * 5)57Sanjay

32 (8 * 4)48Tracy

Total Avail Hrs in Sprint

Avail Hours Per Day

Avail Days During Sprint*

Team Member

8 daysWorkdays During Sprint

2 weeksSprint Length

*Net of holidays and other days out of the office

Page 45: Introduction to Scrum for AGILE by Kamalakar Dandu

Hours Per Day

“10-Hour Day”

meetings

reading and writing e-mail

lunch and tea breaks

hacking, reading blogs, playing foosball

time available for productive work

Page 46: Introduction to Scrum for AGILE by Kamalakar Dandu

Hours Per Day

“10-Hour Day”

meetings

reading and writing e-mail

lunch and tea breaks

hacking, reading blogs, playing foosball

fixing P1 critical bugs

time available to commit to the Sprint

Page 47: Introduction to Scrum for AGILE by Kamalakar Dandu

Hours Per Day

“10-Hour Day”

meetings

reading and writing e-mail

lunch and tea breaks

hacking, reading blogs, playing foosball

time available to commit to the Sprint

fixing P1 critical bugs

Page 48: Introduction to Scrum for AGILE by Kamalakar Dandu

Hours Per Day

“10-Hour Day”

meetings

reading and writing e-mail

lunch and tea breaks

hacking, reading blogs, playing foosball

time available to commit to the Sprint

time committed to another team

Page 49: Introduction to Scrum for AGILE by Kamalakar Dandu

Available Time During Sprint

25 (5 * 5)55Jing

24 (8 * 3)38Phillip

35 (7 * 5)57Sanjay

32 (8 * 4)48Tracy

Total Avail Hrs in Sprint

Avail Hours Per Day

Avail Days During Sprint*

Team Member

8 daysWorkdays During Sprint

2 weeksSprint Length

*Net of holidays and other days out of the office

Page 50: Introduction to Scrum for AGILE by Kamalakar Dandu

Another Approach: Quarter Days

“1 Day”

1/4 Day

1/4 Day

1/4 Day

1/4 Day

Page 51: Introduction to Scrum for AGILE by Kamalakar Dandu

Available Time in ¼ Days

20 (5 * 4)5Jing

32 (8 * 4)8Phillip

28 (7 * 4)7Sanjay

32 (8 * 4)8Tracy

Total Avail ¼Days in Sprint

Avail Days During Sprint*

Team Member

8 daysWorkdays During Sprint

2 weeksSprint Length

*Net of holidays and other days out of the office

Page 52: Introduction to Scrum for AGILE by Kamalakar Dandu

Sprint Planning

Team understands the details of what the ProductOwner has prioritized on the Product BacklogTeam decides how much productive time it has available during the SprintTeam decides howmany Product Backlog items it can commit to complete during the Sprint

SprintPre-Planning

Meeting

SprintPlanningMeeting

Page 53: Introduction to Scrum for AGILE by Kamalakar Dandu

Product Backlog

Page 54: Introduction to Scrum for AGILE by Kamalakar Dandu

Creating the Sprint Backlog

Upgrade transaction processing

module

2PhilipRegression testing

4PhilipUnit testing

8JoeImplement front-end code

6TracyImplement back-end code

2TracySet up shopping cart module

2JingDesign user interface

4SanjayDesign business logic

Enable all users to place

book in shopping cart

EstimateOwnerTaskBacklog

Item

Page 55: Introduction to Scrum for AGILE by Kamalakar Dandu

Defining “Done”

In Scrum, “Done” is defined as “Potentially Shippable”

How many teams are able to achievepotentially shippable from Sprint 1?

PRE-RELEASES 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

RELEASE

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

RELEASE RELEASE RELEASE RELEASE RELEASE RELEASE

Page 56: Introduction to Scrum for AGILE by Kamalakar Dandu

Getting to “Done”

3TomDocumentation

Upgrade transaction processing

module

2PhilipRegression testing

4PhilipUnit testing

8JoeImplement front-end code

6TracyImplement back-end code

2TracySet up shopping cart module

2JingDesign user interface

4SanjayDesign business logic

Enable all users to place

book in shopping cart

EstimateOwnerTaskBacklog

Item

Page 57: Introduction to Scrum for AGILE by Kamalakar Dandu

S P R I N T

DESIGN CODE TEST

Getting To “Done” – Not a Good Way

Page 58: Introduction to Scrum for AGILE by Kamalakar Dandu

S P R I N T

DESIGN CODE TEST

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

Getting To “Done” – Not a Good Way

Page 59: Introduction to Scrum for AGILE by Kamalakar Dandu

Getting To “Done” – Not a Good Way

DESIGN

TEST

CODE

Page 60: Introduction to Scrum for AGILE by Kamalakar Dandu

Getting To “Done” – A Good Way

S P R I N T

DESIGN CODE TEST

Page 61: Introduction to Scrum for AGILE by Kamalakar Dandu

Creating the Sprint Backlog

3TomDocumentation

Upgrade transaction processing

module

2PhilipRegression testing

4PhilipUnit testing

8JoeImplement front-end code

6TracyImplement back-end code

2TracySet up shopping cart module

2JingDesign user interface

4SanjayDesign business logic

Enable all users to place

book in shopping cart

EstimateOwnerTaskBacklog

Item

Page 62: Introduction to Scrum for AGILE by Kamalakar Dandu

Available Time During Sprint

2555Jing

2438Phillip

35 3157Sanjay

32 28 2548Tracy

Total Avail Hrs in Sprint

Avail Hours Per Day

Avail Days During Sprint*

Team Member

8 daysWorkdays During Sprint

2 weeksSprint Length

*Net of holidays and other days out of the office

Page 63: Introduction to Scrum for AGILE by Kamalakar Dandu

Task Estimation

% Likelihood

Time

Do we need to be 100% accurate in our time estimations for tasks, in order to be successful in Scrum?

Page 64: Introduction to Scrum for AGILE by Kamalakar Dandu

Sprint Planning Ends when…

Team’s available time is mostly committed

Good idea to go through and make sure there’s full agreement on the commitment

After the meeting, ScrumMaster turns the task list into the Sprint Backlog

Page 65: Introduction to Scrum for AGILE by Kamalakar Dandu

The Sprint Backlog

5TracyImplement back-end codeUpgrade

transaction processing

module

6JoeComplete documentation

3PhilipUnit testing

3PhilipRegression testing

214Total

32

2

4

8

6

2

2

4

Initial Est.

Day of Sprint

1 4 5

PhilipRegression testing

PhilipUnit testing

JoeComplete documentation

TracyImplement front-end code

TracyImplement back-end code

JingDesign user interface

SanjayDesign business logic

Enable all users to place

book in shopping cart

6OwnerTaskBacklog

Item

Page 66: Introduction to Scrum for AGILE by Kamalakar Dandu

And the Sprint Begins!

Pete DeemerCPO, Yahoo! India R&D

Page 67: Introduction to Scrum for AGILE by Kamalakar Dandu

The Basics of Scrum

4-WeekSprint

Potentially Shippable

Product

Product OwnerReview

ScrumMaster

The Team

789101112

1234

56

13

No Changes(in Duration or Deliverable)

Commitment

Daily ScrumMeeting

Retrospective

Page 68: Introduction to Scrum for AGILE by Kamalakar Dandu

The Sprint

Sprint Length4 weeks is standard in literature

Many teams start with 2 week Sprints

Factors in deciding your Sprint lengthLength of the release

Amount of uncertainty

How long priorities can stay unchanged

Overhead of Sprint Planning and Review

Team and Product Owner work together to decide Sprint length

Can change during the project

Page 69: Introduction to Scrum for AGILE by Kamalakar Dandu

Intensity

Time

Intensity

Waterfall

Scrum

Page 70: Introduction to Scrum for AGILE by Kamalakar Dandu

The Basics of Scrum

4-WeekSprint

Potentially Shippable

Product

Product OwnerReview

ScrumMaster

The Team

789101112

1234

56

13

No Changes(in Duration or Deliverable)

Commitment

Daily ScrumMeeting

Retrospective

Page 71: Introduction to Scrum for AGILE by Kamalakar Dandu

No Changes During Sprint

No Changes to the DeliverableOnce team has committed, no changes to the deliverableIf something major comes up, Product Owner can terminate the Sprint and start new oneDetails and clarifications will emerge during Sprint, but no new work or substantially changed work

Difference between “change” and “clarification”

“If there’s any doubt, then it’s a change”

Page 72: Introduction to Scrum for AGILE by Kamalakar Dandu

Impact of Change

Every Future SprintCurrent Sprint

Team’s sense of account-

ability to deliver what it committed to

Strength of team’s focus on delivering

what it committed to

Product Owner’s

discipline To not request

changes

Everyone’s likelihood to

play by all the other rules

Team’s ability to deliver

what it committed to

Product Owner

Satisfaction Level

What happens if the Product Owner gets to add just a smallamount of work, or swap work in & out during the Sprint?

Page 73: Introduction to Scrum for AGILE by Kamalakar Dandu

What if the Team is Responsible for “Emergency Response” (P1 Bugs, etc.)?

Not Scrum standard! Proceed at your own risk

2 approaches that some teams use“Designated Responder”

“Bug Buffer”

Page 74: Introduction to Scrum for AGILE by Kamalakar Dandu

Option 1: Designated Responder

“Scrum Work”(items from the

Product Backlog that the team has committed to do)

“P1 Bugs”(emergency requests

that need to beresponded toimmediately)

Page 75: Introduction to Scrum for AGILE by Kamalakar Dandu

Option 2: Designated Responder

“Product Backlog Work”(items from the Product

Backlog that the team has committed to do)

“P1 Bugs”(emergency requests

that need to be responded to quickly)

Commits in this Sprint to complete items 1-13 on

the Product Backlog

Commits to fit P1 bugs. Maywork on items from lower on Product Backlog (items >13)

Scrum Team D.R.

Page 76: Introduction to Scrum for AGILE by Kamalakar Dandu

Option 2: Bug Buffer

“Scrum Work”(items from the

Product Backlog that the team has committed to do)

“P1 Bugs”(emergency requests

that need to beresponded toimmediately)

Page 77: Introduction to Scrum for AGILE by Kamalakar Dandu

“8-Hour Day”

productive time available

meetings, email, lunch, etc.

Option 2: Bug Buffer

Page 78: Introduction to Scrum for AGILE by Kamalakar Dandu

“8-Hour Day” bug buffer

time available to commit to the Sprint

meetings, email, lunch, etc.

Option 2: Bug Buffer

Page 79: Introduction to Scrum for AGILE by Kamalakar Dandu

To make this work, 3 things are requiredClear definition of what qualifies as a “P1 Bug” (these are the only things that team will work on)

Time spent from risk buffer must be tracked – when buffer gets to 0, work on bugs has to stop, or Sprint has to be terminated

Team must have the discipline to follow first two points

RisksBecomes a back door for change during the Sprint

Buffer overrun

Option 2: Bug Buffer

Page 80: Introduction to Scrum for AGILE by Kamalakar Dandu

The Basics of Scrum

4-WeekSprint

Potentially Shippable

Product

Product OwnerReview

ScrumMaster

The Team

789101112

1234

56

13

No Changes(in Duration or Deliverable)

Commitment

Daily ScrumMeeting

Retrospective

Page 81: Introduction to Scrum for AGILE by Kamalakar Dandu

Daily Scrum Meeting

Every weekdayWhole team attendsEveryone standsLasts 15 minutes or lessEveryone reports 3 things only to each other

What was I able to accomplish since last meetingWhat will I try to accomplish by next meetingWhat is blocking me

No discussion, conversation until meeting endsProduct Owner can attend and reportUpdate of artifacts after standup

Page 82: Introduction to Scrum for AGILE by Kamalakar Dandu

Table Exercise: Daily Scrum Meeting

Do a Daily Scrum Meeting for your tableOne person plays the role of ScrumMaster

The rest of the table are team-members

Each team-member reports to the group:What I was able to get done since last Daily Standup Meeting

What I will try to get done by the next Daily Standup Meeting

What is blocking me? (If nothing, say “No Blocks”)

But there is a twist…

Page 83: Introduction to Scrum for AGILE by Kamalakar Dandu

Updating the Sprint Backlog

Before or after the Daily Scrum, team members update the hours remaining on the Sprint Backlog

Page 84: Introduction to Scrum for AGILE by Kamalakar Dandu

Updating the Sprint Backlog

8105TracyImplement back-end codeUpgrade

transaction processing

module

666JoeComplete documentation

333PhilipUnit testing

223PhilipRegression testing

205220214Total

3

2

3

6

6

2

2

0

2

2

4

8

6

2

2

4

Initial Est.

Day of Sprint

2

3

6

6

4

2

2

1 4 5

PhilipRegression testing

PhilipUnit testing

JoeComplete documentation

TracyImplement front-end code

TracyImplement back-end code

JingDesign user interface

SanjayDesign business logic

Enable all users to place

book in shopping cart

6OwnerTaskBacklog

Item

Page 85: Introduction to Scrum for AGILE by Kamalakar Dandu

Burndown Chart

Page 86: Introduction to Scrum for AGILE by Kamalakar Dandu

Task Board

IN PROGRESSTO DO DONE

Page 87: Introduction to Scrum for AGILE by Kamalakar Dandu

Task Board

IN PROGRESSTO DO DONE

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay

Page 88: Introduction to Scrum for AGILE by Kamalakar Dandu

Task Board

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

IN PROGRESSTO DO DONE

Page 89: Introduction to Scrum for AGILE by Kamalakar Dandu

Task Board

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

IN PROGRESSTO DO DONE

Page 90: Introduction to Scrum for AGILE by Kamalakar Dandu

Task Board

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

IN PROGRESSTO DO DONE

Page 91: Introduction to Scrum for AGILE by Kamalakar Dandu

Task Board

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

IN PROGRESSTO DO DONE

Page 92: Introduction to Scrum for AGILE by Kamalakar Dandu

Task Board

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

IN PROGRESSTO DO DONE

Page 93: Introduction to Scrum for AGILE by Kamalakar Dandu

Task Board

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

IN PROGRESSTO DO DONE

Page 94: Introduction to Scrum for AGILE by Kamalakar Dandu

Task Board

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner:` SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

Task: Configure database and SpaceIDs for Trac

Owner: SanjayTime Remaining:4 hrs

IN PROGRESSTO DO DONE

Page 95: Introduction to Scrum for AGILE by Kamalakar Dandu

The Basics of Scrum

4-WeekSprint

Potentially Shippable

Product

Product OwnerReview

ScrumMaster

The Team

789101112

1234

56

13

No Changes(in Duration or Deliverable)

Commitment

Daily ScrumMeeting

Retrospective

Page 96: Introduction to Scrum for AGILE by Kamalakar Dandu

Sprint Review

Purpose of the Sprint Review isDemo what the team has builtGenerate feedback, which the Product Owner can incorporate in the Product Backlog

Attended by Team, Product Owner, ScrumMaster, functional managers, and any other stakeholdersA demo of what’s been built, not a presentation aboutwhat’s been built

no Powerpoints allowed!

Usually lasts 1-2 hoursFollowed by Sprint Retrospective

Page 97: Introduction to Scrum for AGILE by Kamalakar Dandu

The Basics of Scrum

4-WeekSprint

Potentially Shippable

Product

Product OwnerReview

ScrumMaster

The Team

789101112

1234

56

13

No Changes(in Duration or Deliverable)

Commitment

Daily ScrumMeeting

Retrospective

Page 98: Introduction to Scrum for AGILE by Kamalakar Dandu

Sprint Retrospective

What is it?1-2 hour meeting following each Sprint Demo

Attended by Product Owner, Team, ScrumMaster

Usually a neutral person will be invited in to facilitate

What’s working and what could work better

Why does the Retrospective matter?Accelerates visibility

Accelerates action to improve

Page 99: Introduction to Scrum for AGILE by Kamalakar Dandu

Sprint Retrospective – A Good Approach

Part 1Create 3 large lists (whiteboard or flipchart)

What’s working

What’s could work better

Things to try in the next Sprint

Go around the room, and give each person an opportunity to add 1 or more items to the 3 lists

If people agree with something already on the lists, put a tick mark next to them

Select a subset of the “Things to try...” list to try in the next Sprint (ScrumMaster responsible for tracking this)

Page 100: Introduction to Scrum for AGILE by Kamalakar Dandu

Sprint Retrospective – A Good Approach

Part 2:

At the end of the meeting, mark each item on the What’s Working / What Could Work Better lists as either:C = caused by Scrum (would not be happening without Scrum)E = exposed by Scrum (would be there even if team were not using Scrum)U = unrelated to Scrum (like the weather)

Then, add up the C, E, and U in each column

Page 101: Introduction to Scrum for AGILE by Kamalakar Dandu

WHAT WORKED WHAT DIDN’T WORKWe didn’t finish what we committed to in the time availableOur estimations were way offWe didn’t think through the dependencies between tasksThe coordination between developers and testers wasn’t very goodOur daily Scrum meeting didn’t start on timeThe food in the cafeteria was really badThere were a lot of outside distractions during the SprintBlocks didn’t get removed quickly enough by the ScrumMasterThere were too many bugs yet to be fixed at the end of the SprintTeam didn’t really work together as a team –still felt like a group of individuals

Team felt more focused than before on hitting its goalsSense of commitment for the team was higherTeam had a better sense of where it was in the Sprint because of the burndown chartThe Daily Scrum Meeting improved Team communication during the SprintGood idea came out during the Sprint Review

Page 102: Introduction to Scrum for AGILE by Kamalakar Dandu

The Release Cycle in Scrum

Pete DeemerCPO, Yahoo! India R&D

Page 103: Introduction to Scrum for AGILE by Kamalakar Dandu

Scrum Release Cycle

2 Common Approaches:

S P R I N TS 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

RELEASE

Multi-Sprint Release

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

RELEASE RELEASE RELEASE RELEASE RELEASE RELEASE

Release Every Sprint

Page 104: Introduction to Scrum for AGILE by Kamalakar Dandu

Multi-Sprint Release – One Approach

PRE-RELEASES P R I N T

“S P R I N T 0” S P R I N T S P R I N T S P R I N T S P R I N T

RELEASE

HIGH-LEVEL DESIGN& ARCHITECTURE,INVESTIGATION,SETUP OF DEV EL

ENVIRONMENT

FINAL STABILIZATION,TESTING, RELEASE

PREPARATION

Page 105: Introduction to Scrum for AGILE by Kamalakar Dandu

Multi-Sprint Release – One Approach

“S P R I N T 0” S P R I N T S P R I N T S P R I N T S P R I N T

RELEASE

HIGH-LEVEL DESIGN& ARCHITECTURE,INVESTIGATION,SETUP OF DEV EL

ENVIRONMENT

Page 106: Introduction to Scrum for AGILE by Kamalakar Dandu

Release Planning and Estimation in Scrum

Pete DeemerCPO, Yahoo! India R&D

Page 107: Introduction to Scrum for AGILE by Kamalakar Dandu

Estimation and Release Planning

You can continue to use your existing estimation methods, if they’re working for you

Scrum will almost certainly allow you to get the same or more done in a given timeframe

However, there are Scrum-specific methods that many teams find more effective that their previous approachesEstimation in Scrum is based on what’s called Velocity

Velocity is measure of how much Product Backlog the team can complete in a given amount of time

Page 108: Introduction to Scrum for AGILE by Kamalakar Dandu

Product Backlog

Page 109: Introduction to Scrum for AGILE by Kamalakar Dandu

Velocity – Based on Historical Data

90 points

120 points

100 points

~105 size points per Sprint

Team’s Recent Sprints

Page 110: Introduction to Scrum for AGILE by Kamalakar Dandu

How to Plan a Release in Scrum

Calculate velocity then apply to the Product Backlog:

Team’s velocity is~105 points per Sprint

Therefore, in 6Sprints, the team should be able to complete

This is 620 points of Product Backlog

6 x 105 = 630 points worth of Product Backlog

Page 111: Introduction to Scrum for AGILE by Kamalakar Dandu

Velocity Calculation

S P R I N T 1 S P R I N T 2 S P R I N T 3 S P R I N T 4 S P R I N T 5

Initial EstimateOf Velocity atProject Start

Refinementof Estimatebased on 1 Sprint of Actual Data

Recalculationbased on 2 Sprints of Actual Data

Recalculationbased on 3 Sprints of Actual Data

Recalculationbased on 4 Sprints of Actual Data

Page 112: Introduction to Scrum for AGILE by Kamalakar Dandu

Release Planning

Product Owners determines whether It’s a feature-driven release (“launch when features X, Y, Z can be completed”)

It’s a date-driven release (“launch on April 15 with as many features as possible”)

It’s date- and feature-driven (“launch on April 15 with features X, Y, Z”)

Page 113: Introduction to Scrum for AGILE by Kamalakar Dandu

Creating Size Estimates

Page 114: Introduction to Scrum for AGILE by Kamalakar Dandu

Planning Poker

1. Everyone has cards: ½, 1, 2, 3, 5, 8, 13, 20, 502. ScrumMaster reads description of backlog item3. Everyone selects and simultaneously shows

cards4. If estimates vary significantly, high and low

estimators briefly explain5. Repeat steps 3-5 until estimates stop

converging6. Decide estimate for backlog item7. Move to next backlog item

Page 115: Introduction to Scrum for AGILE by Kamalakar Dandu

Table Exercise: Planning Poker

Use planning poker to estimate the effort for the Product Backlog.

1. Select an item that is roughly “medium” in size (2 minute timebox)

2. Write the number “5” next to that item

3. Proceed to estimate the other items relative to that one (15 minute timebox)

ScrumMasters: Facilitate as needed, and help the team keep to the timeboxes

Page 116: Introduction to Scrum for AGILE by Kamalakar Dandu

Module: Using Scrum in a Fixed Bid Environment

Page 117: Introduction to Scrum for AGILE by Kamalakar Dandu

Contract Terms

the party in the first part shall remunerate the party in

notwitstanding the foregoing clause, the party in the first

3.1.1 Vendor will demo potentially shippable software to Customer every 30 days. There will be no additional charge for this.

3.1.2 Customer can replace any requirements that Vendor hasn’t yet started working on with one or more of equal total size (in the estimate of Vendor) at any time. There will be no additional charge for this.

3.1.3 Customer may request interim releases at any time, and will be charged an agreed-upon time and materials cost.

3.1.4 If Customer’s business goals are satisfied early, Customer may terminate contract early for 20% of the remaining unbilled contracted amount.

Page 118: Introduction to Scrum for AGILE by Kamalakar Dandu

Module: Using Scrum for Multi-Location Development

Page 119: Introduction to Scrum for AGILE by Kamalakar Dandu

Scrum in an Offshore (Geographically Distributed) Environment

Is Distributed Development using Scrum even possible?

Scrum emphasizes face-to-face communication, physical proximity, minimizing documentation, cross-functional teams...Distributed development seems to attract plan-driven approach, detailed requirements and “defined” plans, separation by function (ie, analysts onshore, developers offshore, etc.)

Yes, but...Distributed Scrum is not as good as Colocated ScrumHowever, it’s still better than Distributed Waterfall

Page 120: Introduction to Scrum for AGILE by Kamalakar Dandu

Quote

"If you are going to hire a group of developers halfway around the world in a time zone 12 hours away, how should you work with them? Should you give them a huge requirements document and wait to see what they give you in six months? Or should you ask for something every week?" When it's difficult to communicate, you need to shorten the feedback cycle and measure results frequently.”

“AgileDevelopment On a Fast Track”Global Services Magazine, Jan 2007

Page 121: Introduction to Scrum for AGILE by Kamalakar Dandu

Distributed Scrum Practices

Structure A: Product Owner is in US, team is in IndiaOne Common Approach

ScrumMaster colocated with team in IndiaProduct Owner in US travels to India for project kickoffAll real-time meetings with Product Owner are visual

Videoconference + WebexUse a webcam if you have to

Mailing list for Product Owner and all team members, with most project-related emails cc:ed to this list

Verbose subject lines to emails

At least 1 weekly 1-hour real-time check-in between Product Owner and teamIn-person planning and review regroup in India or US between Product Owner and team at least once per quarter

Page 122: Introduction to Scrum for AGILE by Kamalakar Dandu

Distributed Scrum Practices

2-week SprintsTeam holds daily standup meetings in own location

ScrumMaster emails blocks list to Product Owner for assistance clearing in US

Sprint PlanningTeam has 1 hour real-time meeting with Product Owner to discuss goals of Sprint, broad review of Product Backlog Items (example:Weds night IST)Team spends 1-3 hours doing preliminary analysis and breakdown of Product Backlog Items (example: Thurs afternoon IST)Team spends 1-3 hours real-time with Product Owner completing analysis and breakdown of Product Backlog Items, and makes commitment (example: Thurs night IST)Sprint begins (example: Fri morning IST)

Sprint Review and RetrospectiveVideoconference + Webex (example Weds morning IST)

Page 123: Introduction to Scrum for AGILE by Kamalakar Dandu

Distributed Team

Stucture B: Team split between two locations For example, 3 developers, 1 tester, and 1 analyst in US, 5 developers and 1 tester in India

2 ScrumMasters, one in each location Lighter load than a full ScrumMaster – may be a team-member

2 separate daily standup meetingsNotes from each team’s standup emailed to the other and read at the beginning of the meeting(this is in addition to all the previous recommendations)

Page 124: Introduction to Scrum for AGILE by Kamalakar Dandu

Human Dynamics

The quality of the human relationships and communication will significantly influence the outcome of the project. So...

Invest in the relationships

Invest in the communication

Page 125: Introduction to Scrum for AGILE by Kamalakar Dandu

Developing Team Relationships

If relationships between remote teams are strong, disagreements,miscommunications, mistakes, etc. are just that –disagreements, miscommunications, mistakes

In other words, isolated problems to be solved, then move onIf relationships are week, these things become evidence in a “story of badness” – the other team is crazy, incompetent, evil, malicious, etc.

This is extremely difficult to repair“Spend some savings” at project inception to help people get to know each other

Plan work, but also plan play – dinners, outings, sightseeing, etc.Send US customers and project managers to India for creation of initial release plan with teamColocate key members of the team for first several sprintsRotate selected team members to different locationsEmphasize the human element – these are people, not just voices on a phone or names on email

Team wiki with photos, bios

Page 126: Introduction to Scrum for AGILE by Kamalakar Dandu

Developing Team Relationships

One of the reasons a relationship of trust and openness are required is that remote teams need to be able to communicate honestly

Speak up, disagree, raise problems, express concern, voice dissatisfactionEstablish known hours, with as much overlap as possibleTelephone

Make sure people can pick up the phone easily; have a speakerphone in the work area with speed dial to remote developersDemand an excellent speakerphoneStart conf calls with chit chat, helps reinforce human elementTake turns picking times of calls, and be aware of time of call issues

Instant MessagingIM is useful, particular because it shows whether the person is theremay have to configure to make the status refresh more often

VideoconferencingJust seeing someone’s face can make a big different – if you don’t have professional videoconferencing equipment, buy webcams for both sides

WikisUse wikis to share as much project-related information as possible

Page 127: Introduction to Scrum for AGILE by Kamalakar Dandu

Module: Scrum and Metrics

Page 128: Introduction to Scrum for AGILE by Kamalakar Dandu

Scrum and Metrics

Scrum doesn’t prevent you from tracking or measuring any aspect of the development process you chooseHowever, you must be mindful of unintended consequences of measurement

Example: Individual burndown charts

Recording or reporting measurements will probably require effort

If this effort comes from team-members, it should be made visible in their task time estimates or as Backlog Items

Page 129: Introduction to Scrum for AGILE by Kamalakar Dandu

Scrum and CMMi

Page 130: Introduction to Scrum for AGILE by Kamalakar Dandu

Are Scrum and CMMi Compatible?

CMM Level 2 and 3 represent a process that is “defined and managed”

Is Scrum “defined and managed”?

CMM Level 4 represents the measurement of detailed metrics in the process

Does Scrum allow measurement in the process?

CMM Level 5 represents continuous improvement via metrics feedback

Is Scrum compatible with continuous improvement?

Page 131: Introduction to Scrum for AGILE by Kamalakar Dandu

Strategies for Successful Scrum Adoption in

the Enterprise

Page 132: Introduction to Scrum for AGILE by Kamalakar Dandu

The Big Picture

The full and complete adoption of Scrum will result in a profound transformation of an entire organizationVery few organizations are willing to change

Change is riskyChange hurtsChange requires workChange involves loss and waste

Very few organizations are able to successfully pull it off

Page 133: Introduction to Scrum for AGILE by Kamalakar Dandu

1. Start With the Teams That Want To Do It

Scatter the seeds of Scrum widely, then watch closely where they sprout

One of the requirements for first pilots should be “everyone on the team had to be open to it working”

Skepticism is fine and healthy, but no overt resistance

Page 134: Introduction to Scrum for AGILE by Kamalakar Dandu

2. Call It a Pilot Program

Pilots are supposed to be chaotic, uncertain, bumpy, messyKeep calling it a “pilot” as long as possiblePeople will ask “when’s the decision going to get made to officially adopt Scrum”

Wait to make that decision until there are no more teams lining up to make the changeThen ask yourself what is it about the remaining teams?

Page 135: Introduction to Scrum for AGILE by Kamalakar Dandu

Some people will be uncomfortable, unhappy, scaredAnd is it unexpected? How many management fads have preceded Scrum?

Emphasize the common sense nature of itWe’re not “making a change”… we’re trying a new approach, and deciding whether it’s better than the old wayKen Schwaber: “We’re not really using scrum”

Some of those people will get past it, some of them won’tJust 4 months in, some of the biggest early Scrum skeptics had evolved into the greatest Scrum evangelists

Give people the room to changeAvoid battle-lines

3. Change is Scary to Many People... and Scrum is Really Scary to Some People

Page 136: Introduction to Scrum for AGILE by Kamalakar Dandu

4. Patience is a Virtue

Err on the side of making fewer teams more successfulEvery team will hit some big bump kicking off scrum

Many will need some support, if only moral

In the early days, there are many more evangelists for failure than for successEven the undecided will assume that an early failure is a strike against scrumOverbudget the time early teams will need to work through systemic issues

Page 137: Introduction to Scrum for AGILE by Kamalakar Dandu

5. Find the Middle Path Philosophically

Scrum PuristsTend to be the initial instigatorsThey also tend to be the first to feel anxiety as Scrum stops being a guerrilla campaign, and becomes how the army is run

Scrum PragmatistsTend to be more effective in big organizationsAlso more prone that the purist to compromise, possibly at the expense of effectiveness

Don’t let either of them win outrightMake sure you have both!

Page 138: Introduction to Scrum for AGILE by Kamalakar Dandu

6. Set a High Bar and Low Expectations for Teams that Want to Use Scrum

It’s very easy when evangelizing scrum to set unrealistic expectations

potential benefitwork required

People know when they’re being soldPeople also pick up on respectful realism

tell them it’s hard, tell them it involves risk, and emphasize that only they in their hearts know if it might be right for their team

Page 139: Introduction to Scrum for AGILE by Kamalakar Dandu

7. Scrum is Hard

Scrum surfaces all sorts of nasty stuffMake sure people are preparedMake sure they understand that this is Scrum working, not failing

Help teams learn from each otherBe ready to stage a rescue mission

There are some problems teams can’t solve by themselves

Page 140: Introduction to Scrum for AGILE by Kamalakar Dandu

8. Get Experienced Help

Outside experts can help with specific practices, training, etc.

Don’t overlook perhaps their greatest help in the early days: telling you they’ve seen this a million times before, and it’s all going to be fine

And at the same time, making sure you don’t overlook and slack off on something important

Page 141: Introduction to Scrum for AGILE by Kamalakar Dandu

9. Your Enemy is Your Friend

Spend the most time with the people who like Scrum least

Before you have momentum, Scrum detractors can have more impact the Scrum proponents

Get close to the detractors, and make them part of the team

Who knows, some of them might actually have something valid to contribute

Page 142: Introduction to Scrum for AGILE by Kamalakar Dandu

10. Be Prepared to Use Guerilla Tactics to Get Things Done

Some of the obstacles to Scrum are bigOrganizational, policy, management...

Many are smallconference room table

Focus on the big ones

Page 143: Introduction to Scrum for AGILE by Kamalakar Dandu

11. Make Good Information More Accessible than Bad Information

As a Scrum rollout picks up momentum, the rumor mill becomes more of a factor

Good rumors as well as bad“You have to release every month”“You get to release every month!”

Make sure there’s a constant flow of good information

Email updates, brown-bag lunches, staff meeting talksStart building a fun list of the top N greatest myths about Scrum

Page 144: Introduction to Scrum for AGILE by Kamalakar Dandu

12. Find Your Evangelists

Build a network that includes every group of the company, and every levelMake sure they’re well educated on reality, and also able to be candid, with you and others

you want them able to bring you the nuggets of information or news asap

Very helpful to have a senior executive advocatewith a single statement they can set the default management attitude to scrumbeware getting them TOO excited though

Page 145: Introduction to Scrum for AGILE by Kamalakar Dandu

13. Measure the Results Early and Often

Scrum is in part about making things visibleSo measure the results and experiences from a bunch of different angles

Publicize both the good and bad

Page 146: Introduction to Scrum for AGILE by Kamalakar Dandu

14. The Urge to Tinker is Great

Everyone has a way to improve ScrumImportant to set standards and adhere to them

If it isn’t scrum, don’t let people call it ScrumProtect Scrum’s good name!

Page 147: Introduction to Scrum for AGILE by Kamalakar Dandu

15. Scrum will Always Be Messy

Scrum is about people, and people are messy

Inconsistent, insensitive, erratic, make mistakes

For this reason, it will never be perfectIdealists will always be disappointedOpponents will always have ammoJust keep asking, is it better than before

LAST