Anda di halaman 1dari 133

Introduction to Scrum

Pete Deemer
CPO, Yahoo! India R&D
The Origins of Scrum

Pete Deemer
CPO, Yahoo! India R&D
Defined Processes

Inputα Outputα
Inputβ Defined Process Outputβ
Inputγ Outputγ

Assuming every step is understood, a


given well-defined set of inputs produces
the same set of outputs every time.
Predictability is key.
The Waterfall
Job Function A Job Function B Job Function C Job Function D Job Function E

Requirements
Gathering

Design

Documentation, Development
Signoffs, Handoff

Documentation, Testing
Signoffs, Handoff

Launch &
Documentation,
Signoffs, Handoff Maintain

Documentation,
Advantage: Highly Logical Signoffs, Handoff

Disadvantage: People are involved


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

Inputα Outputβ
Process

Inspect & Adapt


Iterative Incremental Development

Iterative Development
ƒ Project is structured as multiple short cycles in
sequence, versus one long cycle
Incremental Development
ƒ Each iteration produces a usable increment of
finished product, with actual customer value
The Emergence of Scrum

ƒ Scrum formalized in 1996 by Ken Schwaber


ƒ “The Origins of Scrum”, OOPSLA 1996

ƒ Now in use at a growing list of big companies:


ƒ Google ƒ Yahoo!
ƒ Sun ƒ SAP
ƒ Siemens ƒ HP
ƒ Nokia ƒ Motorola
ƒ Philips ƒ TransUnion
ƒ BBC ƒ BT / British Telecom
ƒ IBM ƒ CapitalOne
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
Scrum at Yahoo!

ƒ 4 pilot teams migrated to Scrum in early 2005


ƒ Since then, >200 Yahoo! projects (>2000 people) around
the globe have migrated to Scrum
ƒ Consumer-facing projects
ƒ Major infrastructure projects
ƒ Distributed Projects
ƒ New Products
ƒ Maintenance Products
ƒ Policy is 100% voluntary adoption
ƒ Teams hear about or observe the experiences of other teams using
Scrum and decide to learn more
Scrum Disadvantages
ƒ It’s hard!
ƒ Makes all dysfunction visible
ƒ Scrum doesn’t fix anything: the team has to do it
ƒ Feels like things are worse at the beginning
ƒ Bad products will be delivered sooner, and doomed
projects will fail faster
ƒ Some teams and organizations are not right or ready for it
ƒ Team willingness, capabilities
ƒ Management buy-in
ƒ Risk of turnover during adoption
ƒ Some people will refuse to stay on a Scrum team
ƒ Some people will refuse to stay if Scrum is abandoned
ƒ Partial adoption may be worse than none at all
ƒ If adoption fails, time will have been wasted, and some
people may leave
Scrum Basics

Pete Deemer
CPO, Yahoo! India R&D
The Basics of Scrum

Scrum Daily Scrum


Master Meeting

4-Week
Sprint
Review
Product Owner The Team
1 1
2 2
3 3 Commitment
4 4
5 Potentially
6
7 No Changes Shippable
8
9 (in Duration or Deliverable) Product
10
11
12
13
Retrospective
The Basics of Scrum

Scrum Daily Scrum


Master Meeting

4-Week
Sprint
Review
Product Owner The Team
1
2
3 Commitment
4
5 Potentially
6
7 No Changes Shippable
8
9 (in Duration or Deliverable) Product
10
11
12
13
Retrospective
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
The Basics of Scrum

Scrum Daily Scrum


Master Meeting

4-Week
Sprint
Review
Product Owner The Team
1
2
3 Commitment
4
5 Potentially
6
7 No Changes Shippable
8
9 (in Duration or Deliverable) Product
10
11
12
13
Retrospective
Team

ƒ 7 people, + or – 2
ƒ Has 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-functional
ƒ Possesses all the skills necessary to produce an increment
of potentially shippable product
ƒ Team takes on tasks based on skills, not just official “role”
ƒ Self-managing
ƒ Team manages itself to achieve the Sprint commitment
The Basics of Scrum

Scrum Daily Scrum


Master Meeting

4-Week
Sprint
Review
Product Owner The Team
1
2
3 Commitment
4
5 Potentially
6
7 No Changes Shippable
8
9 (in Duration or Deliverable) Product
10
11
12
13
Retrospective
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
What the ScrumMaster Does
ƒ Serves the team
ƒ The ScrumMaster takes action to help remove impediments to the
team’s effectiveness
ƒ The ScrumMaster facilitates the team’s group interactions, to help
the team achieve its full potential
ƒ The ScrumMaster coaches the team, to help them improve their
practices and effectiveness
ƒ Protects the team
ƒ The ScrumMaster protects the team from anything that threatens its
effectiveness, such as outside interference or disruption
ƒ The ScrumMaster will need to confront uncomfortable issues, both
inside and outside the team
ƒ Guiding the team’s use of Scrum
ƒ The ScrumMaster teaches Scrum to the team and organization
ƒ The ScrumMaster ensures that all standard Scrum rules and practices
are followed
ƒ The ScrumMaster organizes all Scrum-related practices
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.
What Happens to the “Manager” in Scrum?

Manager

The Team
What Happens to the “Manager” in Scrum?

?
Scrum Daily Scrum
Master Meeting
Manager

4-Week
Sprint
Review
Product Owner The Team
1
2
3 Commitment
4
5 Potentially
6
7 No Changes Shippable
8
9 (in Duration or Deliverable) Product
10
11
12
13
Retrospective
The New Role of the Manager

ƒ 4 Possibilities
ƒ ScrumMaster
ƒ Possible issues?
ƒ Product Owner
ƒ Possible issues?
ƒ Team Member
ƒ Possible issues?
ƒ “Manager 2.0”
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 Scrum
ƒ Is unnecessary in Scrum
ƒ Would undermine the team's self-organization
and self-management
Decide task assignments among the team Provide coaching and mentorship to team-
members and assign them members

Keep track of whether team-members have Surface issues to the team that they might
done the tasks I’ve assigned to them overlook – scaling, performance, security, etc.

Make commitments on behalf of the team Provide input on features, functionality, and
about how much they can get done by X date other aspects of what’s being produced

Give direction to the team on how to do the Do performance evaluations and provide
work, so they can meet the commitment I made feedback to team-members

Convince team that the commitments made on Provide advice and input to the team on
their behalf are attainable difficult technical issues that come up

Plan training for team, and do career-


Monitor the team's progress, to make sure they
development and planning with team-
stay on schedule, and aren't having problems
members

Conduct weekly update and 1:1 meetings with Stay abreast of latest developments in the
team, to surface issues, and provide direction technology their team uses, industry news, etc.

Recruit, interview and hire new members of the Plan and oversee budgets and financials, and
team think about tools, skills and other future needs

Fire team-members who are consistently not Help remove impediments that the team is not
able to perform able or well-placed to resolve themselves
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
The Basics of Scrum

Scrum Daily Scrum


Master Meeting

4-Week
Sprint
Review
Product Owner The Team
1
2
3 Commitment
4
5 Potentially
6
7 No Changes Shippable
8
9 (in Duration or Deliverable) Product
10
11
12
13

Product Backlog Retrospective


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”)
Product Backlog
ƒ List of everything that could ever be of value to
the business for the team to produce
ƒ Ranked in order of priority
ƒ Priority is a function of business value versus risk
ƒ Product Owner can make any changes they want
before the start of a Sprint Planning Meeting
ƒ Items added, changed, removed, reordered
ƒ How much documentation is up to the team and
Product Owner to decide
ƒ The farther down the list, the bigger and less
defined the items become
ƒ ~2 Sprints worth are defined in detail
User Stories

ƒ User Stories are a good approach for


writing Product Backlog Items
ƒ User Stories are a short, plain-language
description of the functionality, in terms of
the customer benefit and need
Good Format
“As a customer, I can place an item
As a… on my wishlist, so that I can
decide later whether or not I want
I want… to buy it”
“As a frequent flyer member, I can
see the number of miles I have
So that… earned in my frequent flyer
account, so that I can decide
whether to redeem them for a
ticket”
“As a new user, I can set up a
profile so that potential
employers can find out more
about my skills and qualifications”
The Basics of Scrum

Scrum Daily Scrum


Master Meeting

4-Week
Sprint
Review
Product Owner The Team
1
2
3 Commitment
4
5 Potentially
6
7 No Changes Shippable
8
9 (in Duration or Deliverable) Product
10
11
12
13

Product Backlog Retrospective


Sprint Planning Meeting
ƒ Takes place before the start of every Sprint
ƒ Team 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 it
ƒ What’s a good commitment?
ƒ Clearly understood by all
ƒ Shared among the team
ƒ Achievable without sacrificing quality
ƒ Achievable without sacrificing sustainable pace
ƒ Attended by Team, Product Owner, ScrumMaster,
Stakeholders
ƒ May require 1-2 hours for each week of Sprint duration
ƒ 2 week Sprint = 2-4 hours, 4 week Sprint = 4-8 hours
Sprint Planning
ƒ Team understands the
details of what the Product
Owner has prioritized on
the Product Backlog
ƒ Team decides how
much productive
time it has available
during the Sprint
ƒ Team decides how
many Product Backlog
items it can commit
to complete during
the Sprint
Sprint Planning
ƒ Team understands the Sprint
details of what the Product Pre-Planning
Owner has prioritized on
Meeting
the Product Backlog
ƒ Team decides how
much productive
time it has available
during the Sprint Sprint
ƒ Team decides how Planning
many Product Backlog Meeting
items it can commit
to complete during
the Sprint
Sprint Cycle: 2-Week Sprint
Mon Tues Weds Thurs Fri
1 2 3

6 Sprint 7 8 9 10
Planning
Meeting
1 2 3 4
13 14 15 16 17
5 6 7 8 Sprint Review
& Retrospective

20 21 22 23 24

27 28 29 30 31
Sprint Cycle: 4-Week Sprint
Mon Tues Weds Thurs Fri
1 2 3

6 Sprint 7 8 9 10
Planning
Meeting
1 2 3 4
13 14 15 16 17
5 6 7 8 9
20 21 22 23 24

10 11 12 13 14
27 28 29 30 31
15 16 17 18 Sprint Review
& Retrospective
Available Time During Sprint

Sprint Length 2 weeks

Workdays During Sprint 8 days

Avail Days Avail Hours Total Avail Hrs


Team Member
During Sprint* Per Day in Sprint
Tracy 8 4 32 (8 * 4)

Sanjay 7 5 35 (7 * 5)

Phillip 8 3 24 (8 * 3)

Jing 5 5 25 (5 * 5)

*Net of holidays and other


days out of the office
Hours Per Day

time available for productive work

“8-Hour Day”

hacking, reading blogs, playing foosball


lunch and tea breaks
meetings, e-mail
Hours Per Day

time available for productive work

“8-Hour Day”
operational responsibilities
hacking, reading blogs, playing foosball
lunch and tea breaks
meetings, e-mail
Hours Per Day

time available for productive work

operational responsibilities
“8-Hour Day”

hacking, reading blogs, playing foosball


lunch and tea breaks
meetings, e-mail
Hours Per Day

time available for productive work

“8-Hour Day” time committed to another team

hacking, reading blogs, playing foosball


lunch and tea breaks
meetings, e-mail
Available Time During Sprint

Sprint Length 2 weeks

Workdays During Sprint 8 days

Avail Days Avail Hours Total Avail Hrs


Team Member
During Sprint* Per Day in Sprint
Tracy 8 4 32 (8 * 4)

Sanjay 7 5 35 (7 * 5)

Phillip 8 3 24 (8 * 3)

Jing 5 5 25 (5 * 5)

*Net of holidays and other


days out of the office
Another Approach: Quarter Days

1/4 Day

1/4 Day

“1 Day”
1/4 Day

1/4 Day
Available Time in ¼ Days

Sprint Length 2 weeks

Workdays During Sprint 8 days

Avail Days Total Avail ¼


Team Member
During Sprint* Days in Sprint
Tracy 8 32 (8 * 4)

Sanjay 7 28 (7 * 4)

Phillip 8 32 (8 * 4)

Jing 5 20 (5 * 4)

*Net of holidays and other


days out of the office
Sprint Planning
ƒ Team understands the Sprint
details of what the Product Pre-Planning
Owner has prioritized on
Meeting
the Product Backlog
ƒ Team decides how
much productive
time it has available
during the Sprint Sprint
ƒ Team decides how Planning
many Product Backlog Meeting
items it can commit
to complete during
the Sprint
Product Backlog
Getting to “Done”
Backlog
Task Owner Estimate
Item
Design business logic Sanjay 4
Design user interface Jing 2
Set up shopping cart module Tracy 2
Enable all
users to place Implement back-end code Tracy 6
book in Implement front-end code Joe 8
shopping cart
Unit testing Philip 4
Regression testing Philip 2
Documentation Tom 3

Upgrade
transaction
processing
module
Getting To “Done”

DESIGN CODE TEST

SPRINT
Getting To “Done”

DESIGN CODE TEST

SPRINT SPRINT SPRINT


Getting To “Done”

DESIGN

CODE

TEST
Getting To “Done”

DESIGN CODE TEST

SPRINT
Creating the Sprint Backlog
Backlog
Task Owner Estimate
Item
Design business logic Sanjay 4
Design user interface Jing 2
Set up shopping cart module Tracy 2
Enable all
users to place Implement back-end code Tracy 6
book in Implement front-end code Joe 8
shopping cart
Unit testing Philip 4
Regression testing Philip 2
Documentation Tom 3

Upgrade
transaction
processing
module
Available Time During Sprint

Sprint Length 2 weeks

Workdays During Sprint 8 days

Avail Days Avail Hours Total Avail Hrs


Team Member
During Sprint* Per Day in Sprint
Tracy 8 4 32 28 25

Sanjay 7 5 35 31

Phillip 8 3 24

Jing 5 5 25

*Net of holidays and other


days out of the office
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
The Sprint Backlog
Day of Sprint
Backlog Initial
Task Owner 1 2 3 4 5 6
Item Est.
Design business logic Sanjay 4
Design user interface Jing 2
Implement back-end
Tracy 2
Enable all code
users to place Implement front-end
Tracy 6
book in code
shopping cart Complete
Joe 8
documentation
Unit testing Philip 4
Regression testing Philip 2
Implement back-end
Tracy 5
Upgrade code
transaction Complete
Joe 6
processing documentation
module Unit testing Philip 3
Regression testing Philip 3

Total 214
And the Sprint Begins!

Pete Deemer
CPO, Yahoo! India R&D
The Basics of Scrum

Scrum Daily Scrum


Master Meeting

4-Week
Sprint
Review
Product Owner The Team
1
2
3 Commitment
4
5 Potentially
6
7 No Changes Shippable
8
9 (in Duration or Deliverable) Product
10
11
12
13
Retrospective
Intensity

Intensity

Waterfall

Scrum

Time
The Basics of Scrum

Scrum Daily Scrum


Master Meeting

4-Week
Sprint
Review
Product Owner The Team
1
2
3 Commitment
4
5 Potentially
6
7 No Changes Shippable
8
9 (in Duration or Deliverable) Product
10
11
12
13
Retrospective
No Changes During Sprint

ƒ No Changes to the Deliverable


ƒ Once team has committed, no changes to the
deliverable
ƒ If something major comes up, Product Owner
can terminate the Sprint and start new one
ƒ Details 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”
Impact of Change
What happens if the Product Owner gets to add just a small
amount of work, or swap work in & out during the Sprint?

Current Sprint Every Future Sprint


Product PO’s Team’s
Near-term Team’s ability Team’s focus Team’s focus Other teams’
Owner’s discipline in discipline in
Priorities of to deliver on delivering on delivering discipline in
discipline to preparing the following the
Product what it what it what it following the
not request Product other rules of
Owner committed to committed to committed to rules of Scrum
changes Backlog Scrum
What if the Team is Responsible for
“Emergency Response”?

ƒ What is “Emergency Response”?


ƒ Critical operational issues
ƒ P1 (critical) Bugs in a live system
ƒ 2 approaches that some teams use
ƒ “Designated Responder”
ƒ “Emergency Response Buffer”
ƒ Not Scrum standard!
ƒ Proceed at your own risk
Option 1: Designated Responder

“Scrum Work” “Critical Issues”


(items from the (emergency requests
Product Backlog that need to be
that the team has responded to
committed to do) immediately)
Option 1: Designated Responder

Scrum Team D.R.


“Product Backlog Work” “Critical Issues”
(items from the Product (emergency requests
Backlog that the team has that need to be
committed to do) responded to quickly)

Commits in this Sprint to Commits to fix Critical Issues.


complete items 1-13 on May work on items from lower
the Product Backlog on Backlog (items >13)
Option 2: Emergency Response Buffer

“Scrum Work” “Critical Issues”


(items from the (emergency requests
Product Backlog that need to be
that the team has responded to
committed to do) immediately)
Option 2: Emergency Response Buffer

productive time available

“8-Hour Day”

meetings, email, lunch, etc.


Option 2: Emergency Response Buffer

time available to commit to the Sprint

“8-Hour Day” Emergency Response Buffer

meetings, email, lunch, etc.


Option 2: Emergency Response Buffer

ƒ To make this work, 3 things are required


ƒ Clear definition of what qualifies as a “Emergency
Response” request (these are the only things that team
will work on)
ƒ Time spent from ER 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
ƒ Risks
ƒ Becomes a back door for change during the Sprint
ƒ Buffer overrun
The Basics of Scrum

Scrum Daily Scrum


Master Meeting

4-Week
Sprint
Review
Product Owner The Team
1
2
3 Commitment
4
5 Potentially
6
7 No Changes Shippable
8
9 (in Duration or Deliverable) Product
10
11
12
13
Retrospective
Daily Scrum Meeting
ƒ Purpose of Daily Scrum Meeting
ƒ Keep team coordinated and up-to-date with each other
ƒ Surface impediments daily
ƒ How it works
ƒ Every weekday
ƒ Whole team attends
ƒ Team chooses a time that works for everyone
ƒ Product Owner can attend, but doesn’t speak
ƒ Everyone stands in a circle, facing each other (not facing the SM)
ƒ Lasts 15 minutes or less
ƒ Everyone reports 3 things only to each other
ƒ What was I able to accomplish since last meeting
ƒ What will I try to accomplish by next meeting
ƒ What are my blocks / problems / difficulties
ƒ No discussion or conversation until meeting ends
Table Exercise: Daily Scrum Meeting

ƒ Do a Daily Scrum Meeting for your table


ƒ One 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”)
ƒ Follow the instructions on the slips
Updating the Sprint Backlog

ƒ After the Daily Scrum, team members


update the hours remaining on the Sprint
Backlog
Updating the Sprint Backlog
Day of Sprint
Backlog Initial
Task Owner 1 2 3 4 5 6
Item Est.
Design business logic Sanjay 4 2 0
Design user interface Jing 2 2 2
Implement back-end
Tracy 2 4 2
Enable all code
users to place Implement front-end
Tracy 6 6 6
book in code
shopping cart Complete
Joe 8 6 6
documentation
Unit testing Philip 4 3 3
Regression testing Philip 2 2 2
Implement back-end
Tracy 5 10 8
Upgrade code
transaction Complete
Joe 6 6 6
processing documentation
module Unit testing Philip 3 3 3
Regression testing Philip 3 2 2

Total 214 210 180


Burndown Chart
Task Board
TO DO IN PROGRESS DONE
Task Board
TO DO IN PROGRESS DONE

Task: Configure database


and SpaceIDs for Trac

Owner: Sanjay
Task Board
TO DO IN PROGRESS DONE

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner: Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database


and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database


and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database


and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs
Task Board
TO DO IN PROGRESS DONE

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner: Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database


and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database


and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database


and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs
Task Board
TO DO IN PROGRESS DONE

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner: Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database


and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database


and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database


and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs
Task Board
TO DO IN PROGRESS DONE

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner: Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database


and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner: Sanjay Owner: Sanjay Owner:` Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database


and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner: Sanjay Owner: Sanjay Owner:` Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner: Sanjay Owner: Sanjay Owner:` Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database


and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner: Sanjay Owner:` Sanjay


Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner: Sanjay Owner:` Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs
Task Board
TO DO IN PROGRESS DONE

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner: Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database


and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner: Sanjay Owner:` Sanjay


Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner: Sanjay Owner: Sanjay Owner:` Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database


and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner: Sanjay Owner: Sanjay Owner:` Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner: Sanjay Owner: Sanjay Owner:` Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database


and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner: Sanjay Owner:` Sanjay


Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner: Sanjay Owner: Sanjay Owner:` Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs
Task Board
TO DO IN PROGRESS DONE

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner: Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database


and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database


and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database


and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs

Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac

Owner: Sanjay Owner:` Sanjay Owner: Sanjay Owner: Sanjay


Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs
The Basics of Scrum

Scrum Daily Scrum


Master Meeting

4-Week
Sprint
Review
Product Owner The Team
1
2
3 Commitment
4
5 Potentially
6
7 No Changes Shippable
8
9 (in Duration or Deliverable) Product
10
11
12
13
Retrospective
Sprint Review
ƒ Purpose of the Sprint Review
ƒ Demo what the team has built
ƒ Make visible whether the team completed what they set out to
ƒ Generate feedback, which the Product Owner can incorporate in
the Product Backlog
ƒ Attended by Team, Product Owner, ScrumMaster,
functional managers, and any other stakeholders
ƒ A demo of what’s been built, not a presentation about
what’s been built
ƒ no Powerpoints allowed!
ƒ Usually lasts 1-2 hours
ƒ Followed by Sprint Retrospective
The Basics of Scrum

Scrum Daily Scrum


Master Meeting

4-Week
Sprint
Review
Product Owner The Team
1
2
3 Commitment
4
5 Potentially
6
7 No Changes Shippable
8
9 (in Duration or Deliverable) Product
10
11
12
13
Retrospective
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
Sprint Retrospective – A Good Approach

ƒ Part 1
ƒ Create 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)
WHAT WORKED WHAT DIDN’T WORK
Team felt more focused than before on We didn’t finish what we committed to in the
hitting its goals time available
Sense of commitment for the team was Our estimations were way off
higher We didn’t think through the dependencies
Team had a better sense of where it was in between tasks
the Sprint because of the burndown chart The coordination between developers and
The Daily Scrum Meeting improved Team testers wasn’t very good
communication during the Sprint Our daily Scrum meeting didn’t start on time
Good idea came out during the Sprint Review The food in the cafeteria was really bad
There were a lot of outside distractions
during the Sprint
Blocks didn’t get removed quickly enough by
the ScrumMaster
There were too many bugs yet to be fixed at
the end of the Sprint
Team didn’t really work together as a team –
still felt like a group of individuals
Planning Poker
Getting Started
1. Everyone creates cards with following
values on them: ?, ½, 1, 2, 3, 5, 8, 13, 20, 50
(WRITE LARGE USING MARKER!)
2. Team agrees on a backlog item to use as a
“baseline” or “benchmark”, and gives it a
size of “5” (item should be neither biggest
nor smallest on list)
3. Size = Effort x Complexity x Uncertainty
Planning Poker
For each Product Backlog item:
1. Each person decides their size estimate relative
to the items that have already been estimated,
and privately selects a card
2. Everyone shows their cards at the same time
(ScrumMaster says “1-2-3-Show”)
3. If estimates vary significantly, high and low
estimators briefly explain
4. Repeat steps 3-5 until estimates stop
converging
5. Decide estimate for backlog item
6. Move to next backlog item
The Release Cycle in Scrum

Pete Deemer
CPO, Yahoo! India R&D
Scrum Release Cycle
ƒ 2 Common Approaches:

Multi-Sprint Release
RELEASE

SPRINT SPRINT SPRINT SPRINT SPRINT SPRINT

Release Every Sprint


RELEASE RELEASE RELEASE RELEASE RELEASE RELEASE

SPRINT SPRINT SPRINT SPRINT SPRINT SPRINT


Multi-Sprint Release – One Approach

RELEASE

“S P R I N T 0” SPRINT SPRINT SPRINT SPRINT PRE-RELEASE


SPRINT

HIGH-LEVEL DESIGN FINAL STABILIZATION,


& ARCHITECTURE, TESTING, RELEASE
INVESTIGATION, PREPARATION
SETUP OF DEV EL
ENVIRONMENT
Multi-Sprint Release – One Approach

RELEASE

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

HIGH-LEVEL DESIGN
& ARCHITECTURE,
INVESTIGATION,
SETUP OF DEV EL
ENVIRONMENT
Release Planning and
Estimation in Scrum

Pete Deemer
CPO, Yahoo! India R&D
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 approaches
ƒ Estimation 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
Product Backlog
Velocity – Based on Historical Data

Team’s Recent Sprints

90 points

120 points

100 points

~105 size points per Sprint


How to Plan a Release in Scrum

ƒ Calculate velocity then apply to the Product Backlog:

Team’s velocity is
~105 points per This is 620
Sprint points of
Product
Therefore, in 6 Backlog
Sprints, the team
should be able to
complete 6 x 105
= 630 points worth of
Product Backlog
Velocity Calculation

SPRINT 1 SPRINT 2 SPRINT 3 SPRINT 4 SPRINT 5

Initial Estimate
Of Velocity at Refinement
Project Start of Estimate Recalculation
based on based on Recalculation
1 Sprint of 2 Sprints of based on Recalculation
Actual Data Actual Data 3 Sprints of based on
Actual Data 4 Sprints of
Actual Data
Release Planning

ƒ Product Owner 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”)
Using Scrum for Multi-Location
Development
Distributed Scrum Practices

ƒ Structure A: Product Owner is in US, team is


in India
ƒ One Common Approach
ƒ ScrumMaster located with team in India
ƒ 2-week Sprints
ƒ Team holds daily standup meetings in own
location
ƒ ScrumMaster emails blocks list to Product Owner for
assistance clearing in US
Distributed Scrum Practices
ƒ Sprint Planning
ƒ Team 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 Retrospective
ƒ Videoconference + Webex (example Weds morning IST)
Distributed Scrum Practices
ƒ Product Owner in US travels to India for project kickoff
ƒ All real-time meetings with Product Owner are visual
ƒ Videoconference + Webex
ƒ Use 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 team
ƒ In-person planning and review regroup in India or US
between Product Owner and team at least once per
quarter
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 meetings
ƒ Notes 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)
Scaling Scrum
Scaling Scrum

Team A Team B Team C Team D Team E


Scaling Scrum

Product Owner

Team A Team B Team C Team D Team E


Scaling Scrum

Senior Product Owner

PO PO PO PO PO

Team A Team B Team C Team D Team E


During the Sprint

Scrum of Scrums
Daily / 2-3 times per week
Coordination, Dependencies Mgt, Block Surfacing

Team A Team B Team C Team D Team E


Module: Using Scrum in a Fixed
Bid Environment
Contract Terms

the party in the first part shall remunerate the party in


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.
notwitstanding the foregoing clause, the party in the first
Module: Scrum and Metrics
Scrum and Metrics
ƒ Scrum doesn’t prevent you from tracking or
measuring any aspect of the development
process you choose
ƒ However, 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
Strategies for Successful
Scrum Adoption in
the Enterprise
The Big Picture
ƒ The full and complete adoption of Scrum will
result in a profound transformation of an entire
organization
ƒ Very few organizations are willing to change
ƒ Change is risky
ƒ Change hurts
ƒ Change requires work
ƒ Change involves loss and waste
ƒ Very few organizations are able to successfully
pull it off
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
2. Call It a Pilot Program

ƒ Pilots are supposed to be chaotic,


uncertain, bumpy, messy
ƒ Keep calling it a “pilot” as long as possible
ƒ People 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 change
ƒ Then ask yourself what is it about the
remaining teams?
3. Change is Scary to Many People... and
Scrum is Really Scary to Some People

ƒ Some people will be uncomfortable, unhappy, scared


ƒ And is it unexpected? How many management fads have
preceded Scrum?
ƒ Emphasize the common sense nature of it
ƒ We’re not “making a change”… we’re trying a new approach, and
deciding whether it’s better than the old way
ƒ Ken Schwaber: “We’re not really using scrum”
ƒ Some of those people will get past it, some of them won’t
ƒ Just 4 months in, some of the biggest early Scrum skeptics
had evolved into the greatest Scrum evangelists
ƒ Give people the room to change
ƒ Avoid battle-lines
4. Patience is a Virtue

ƒ Err on the side of making fewer teams more successful


ƒ Every 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 success
ƒ Even the undecided will assume that an early failure is a
strike against scrum
ƒ Overbudget the time early teams will need to work
through systemic issues
5. Find the Middle Path Philosophically

ƒ Scrum Purists
ƒ Tend to be the initial instigators
ƒ They also tend to be the first to feel anxiety as Scrum
stops being a guerrilla campaign, and becomes how
the army is run
ƒ Scrum Pragmatists
ƒ Tend to be more effective in big organizations
ƒ Also more prone that the purist to compromise,
possibly at the expense of effectiveness
ƒ Don’t let either of them win outright
ƒ Make sure you have both!
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 benefit
ƒ work required
ƒ People know when they’re being sold
ƒ People 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
7. Scrum is Hard

ƒ Scrum surfaces all sorts of nasty stuff


ƒ Make sure people are prepared
ƒ Make sure they understand that this is Scrum
working, not failing
ƒ Help teams learn from each other
ƒ Be ready to stage a rescue mission
ƒ There are some problems teams can’t solve by
themselves
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
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
10. Be Prepared to Use Guerilla Tactics to Get
Things Done

ƒ Some of the obstacles to Scrum are big


ƒ Organizational, policy, management...
ƒ Many are small
ƒ conference room table
ƒ Focus on the big ones
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 talks
ƒ Start building a fun list of the top N greatest myths
about Scrum
12. Find Your Evangelists

ƒ Build a network that includes every group of the


company, and every level
ƒ Make 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 advocate
ƒ with a single statement they can set the default
management attitude to scrum
ƒ beware getting them TOO excited though
13. Measure the Results Early and Often

ƒ Scrum is in part about making things visible


ƒ So measure the results and experiences from a
bunch of different angles
ƒ Publicize both the good and bad
14. The Urge to Tinker is Great

ƒ Everyone has a way to improve Scrum


ƒ Important to set standards and adhere to them
ƒ If it isn’t scrum, don’t let people call it Scrum
ƒ Protect Scrum’s good name!
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 perfect
ƒ Idealists will always be disappointed
ƒ Opponents will always have ammo
ƒ Just keep asking, is it better than before

LAST

Anda mungkin juga menyukai