Sei sulla pagina 1di 147

Introduction to Scrum

Pete Deemer CPO, Yahoo! India R&D

Defined Processes

Input Input Input

Output

Defined Process

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.

The Waterfall
Job Function A Job Function B Job Function C Job Function D Job Function E

Requirements Gathering Design


Documentation, Signoffs, Handoff

Development
Documentation, Signoffs, Handoff

Testing
Documentation, Signoffs, Handoff

Launch & Maintain


Documentation, Signoffs, Handoff

Advantage: Highly Logical 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 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

Iterative Development
Adaptability
Iterative Development

All-At-Once Development

Time

Iterative Development
Visibility
Iterative Development

All-At-Once Development

Time

Incremental Development
Value

Incremental Delivery

All-At-Once Delivery

Time

Incremental Development
Risk / Uncertainty

Incremental Delivery

All-At-Once Delivery

Time

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:

Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.

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 Sun Siemens Nokia Philips BBC IBM Yahoo! SAP HP Motorola TransUnion BT / British Telecom 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 Google Adwords, the highest ROI software project in history

Scrum Disadvantages
Its hard! Makes all dysfunction visible
Scrum doesnt 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 High risk of turnover
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 Master Daily Scrum Meeting

4-Week Sprint
Product Owner
1 2 3 4 5 6 7 8 9 10 11 12 13 1 2 3 4

The Team

Review

Commitment

No Changes
(in Duration or Deliverable)

Potentially Shippable Product

Retrospective

The Basics of Scrum


Scrum Master Daily Scrum Meeting

4-Week Sprint
Product Owner
1 2 3 4 5 6 7 8 9 10 11 12 13

The Team

Review

Commitment

No Changes
(in Duration or Deliverable)

Potentially Shippable Product

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 Master Daily Scrum Meeting

4-Week Sprint
Product Owner
1 2 3 4 5 6 7 8 9 10 11 12 13

The Team

Review

Commitment

No Changes
(in Duration or Deliverable)

Potentially Shippable Product

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 dont) 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 Master Daily Scrum Meeting

4-Week Sprint
Product Owner
1 2 3 4 5 6 7 8 9 10 11 12 13

The Team

Review

Commitment

No Changes
(in Duration or Deliverable)

Potentially Shippable Product

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 teams use of Scrum

What the ScrumMaster Does


Serves the team
The ScrumMaster takes action to help remove impediments to the teams effectiveness The ScrumMaster facilitates the teams group interactions, to help the team achieve its full potential

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 teams 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 teammembers 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 teammembers 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 Master Manager Daily Scrum Meeting

4-Week Sprint
Product Owner
1 2 3 4 5 6 7 8 9 10 11 12 13

The Team

Review

Commitment

No Changes
(in Duration or Deliverable)

Potentially Shippable Product

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 members and assign them Keep track of whether team-members have done the tasks Ive assigned to them Make commitments on behalf of the team about how much they can get done by X date Give direction to the team on how to do the work, so they can meet the commitment I made Convince team that the commitments made on their behalf are attainable Monitor the team's progress, to make sure they stay on schedule, and aren't having problems Conduct weekly update and 1:1 meetings with team, to surface issues, and provide direction Recruit, interview and hire new members of the team Fire team-members who are consistently not able to perform

Provide coaching and mentorship to teammembers Surface issues to the team that they might overlook scaling, performance, security, etc. Provide input on features, functionality, and other aspects of whats being produced Do performance evaluations and provide feedback to team-members Provide advice and input to the team on difficult technical issues that come up Plan training for team, and do careerdevelopment and planning with teammembers Stay abreast of latest developments in the technology their team uses, industry news, etc. Plan and oversee budgets and financials, and think about tools, skills and other future needs Help remove impediments that the team is not 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 managers manager

The Basics of Scrum


Scrum Master Daily Scrum Meeting

4-Week Sprint
Product Owner
1 2 3 4 5 6 7 8 9 10 11 12 13

The Team

Review

Commitment

No Changes
(in Duration or Deliverable)

Potentially Shippable Product

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

The Basics of Scrum


Scrum Master Daily Scrum Meeting

4-Week Sprint
Product Owner
1 2 3 4 5 6 7 8 9 10 11 12 13

The Team

Review

Commitment

No Changes
(in Duration or Deliverable)

Potentially Shippable Product

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 Whats 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
Whats on the Product Owners shopping list

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

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 Pre-Planning Meeting

Sprint Planning Meeting

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 Pre-Planning Meeting

Sprint Planning Meeting

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 next Sprint Team asks questions, requests clarification, recommend items to be broken down further
Pre-Meeting for Sprint 4 Review & Retrospective for Sprint 3
(afternoon)

Sprint Planning Meeting for Sprint 4


(morning)

Sprint 4 Begins

Weds

Thurs

Fri

Mon

Tues

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 Pre-Planning Meeting

Sprint Planning Meeting

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 Pre-Planning Meeting

Sprint Planning Meeting

Sprint Cycle: 2-Week Sprint


Mon Tues 1 Weds 2 Thurs 3 Fri

Sprint Planning Meeting

7 First Day of Sprint

10

2
15 16

3
Last Day of Sprint

4
17 Sprint Review & Retrospective 24

13

14

5
20 Sprint Planning Meeting 21

6
22

7
23

27

28

29

30

31

Sprint Cycle: 4-Week Sprint


Mon Tues 1 Weds 2 Thurs 3 Fri

Sprint Planning Meeting

10

1
14 15

2
16

3
17

4 9
24

13

5
20 21

6
22

7
23

8 13
30

10
27 28

11
29

12 17

14
31 Sprint Review & Retrospective

15

16

18

Sprint Cycle: 2-Week Sprint


Mon Tues Weds 1 1-Hr PreMeeting for Next Sprint Thurs 2 Fri 3 Sprint Review & Retrospective

5
6 Sprint Planning Meeting 7

6 1
14

8 3

10

2
15 16

4
17 Sprint Review & Retrospective 24

13

5
20 Sprint Planning Meeting 21

6
22

7
23

8 3
30

1
28 29

2 7

4
31 Sprint Review & Retrospective

27

Available Time During Sprint


Sprint Length Workdays During Sprint 2 weeks 8 days Avail Days During Sprint* 8 7 8 5
*Net of holidays and other days out of the office

Team Member Tracy Sanjay Phillip Jing

Avail Hours Per Day 4 5 3 5

Total Avail Hrs in Sprint 32 (8 * 4) 35 (7 * 5) 24 (8 * 3) 25 (5 * 5)

Hours Per Day

time available for productive work

10-Hour Day
hacking, reading blogs, playing foosball lunch and tea breaks reading and writing e-mail meetings

Hours Per Day

time available to commit to the Sprint

10-Hour Day

fixing P1 critical bugs hacking, reading blogs, playing foosball lunch and tea breaks reading and writing e-mail meetings

Hours Per Day

time available to commit to the Sprint

10-Hour Day

fixing P1 critical bugs

hacking, reading blogs, playing foosball lunch and tea breaks reading and writing e-mail meetings

Hours Per Day

time available to commit to the Sprint

10-Hour Day

time committed to another team

hacking, reading blogs, playing foosball lunch and tea breaks reading and writing e-mail meetings

Available Time During Sprint


Sprint Length Workdays During Sprint 2 weeks 8 days Avail Days During Sprint* 8 7 8 5
*Net of holidays and other days out of the office

Team Member Tracy Sanjay Phillip Jing

Avail Hours Per Day 4 5 3 5

Total Avail Hrs in Sprint 32 (8 * 4) 35 (7 * 5) 24 (8 * 3) 25 (5 * 5)

Another Approach: Quarter Days


1/4 Day

1/4 Day

1 Day
1/4 Day

1/4 Day

Available Time in Days


Sprint Length Workdays During Sprint 2 weeks 8 days Avail Days During Sprint* 8 7 8 5 Total Avail Days in Sprint 32 (8 * 4) 28 (7 * 4) 32 (8 * 4) 20 (5 * 4)

Team Member Tracy Sanjay Phillip Jing

*Net of holidays and other days out of the office

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 Pre-Planning Meeting

Sprint Planning Meeting

Product Backlog

Creating the Sprint Backlog


Backlog Item Task
Design business logic Design user interface Enable all users to place book in shopping cart Set up shopping cart module Implement back-end code Implement front-end code Unit testing Regression testing Upgrade transaction processing module

Owner
Sanjay Jing Tracy Tracy Joe Philip Philip

Estimate
4 2 2 6 8 4 2

Defining Done
In Scrum, Done is defined as Potentially Shippable
RELEASE RELEASE RELEASE RELEASE RELEASE RELEASE SPRINT SPRINT SPRINT SPRINT SPRINT SPRINT

RELEASE

SPRINT

SPRINT

SPRINT

SPRINT

SPRINT

PRE-RELEASE SPRINT

How many teams are able to achieve potentially shippable from Sprint 1?

Getting to Done
Backlog Item Task
Design business logic Design user interface Enable all users to place book in shopping cart Set up shopping cart module Implement back-end code Implement front-end code Unit testing Regression testing Documentation Upgrade transaction processing module

Owner
Sanjay Jing Tracy Tracy Joe Philip Philip Tom

Estimate
4 2 2 6 8 4 2 3

Getting To Done Not a Good Way

DESIGN

CODE

TEST

SPRINT

Getting To Done Not a Good Way

DESIGN

CODE

TEST

SPRINT

SPRINT

SPRINT

Getting To Done Not a Good Way


DESIGN

CODE

TEST

Getting To Done A Good Way

DESIGN CODE TEST

SPRINT

Creating the Sprint Backlog


Backlog Item Task
Design business logic Design user interface Enable all users to place book in shopping cart Set up shopping cart module Implement back-end code Implement front-end code Unit testing Regression testing Documentation Upgrade transaction processing module

Owner
Sanjay Jing Tracy Tracy Joe Philip Philip Tom

Estimate
4 2 2 6 8 4 2 3

Available Time During Sprint


Sprint Length Workdays During Sprint 2 weeks 8 days Avail Days During Sprint* 8 7 8 5
*Net of holidays and other days out of the office

Team Member Tracy Sanjay Phillip Jing

Avail Hours Per Day 4 5 3 5

Total Avail Hrs in Sprint 32 28 25 35 31 24 25

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

Time

Sprint Planning Ends when


Teams available time is mostly committed Good idea to go through and make sure theres full agreement on the commitment After the meeting, ScrumMaster turns the task list into the Sprint Backlog

The Sprint Backlog


Day of Sprint Backlog Item Task
Design business logic Design user interface Enable all users to place Implement front-end code book in shopping cart Complete documentation Unit testing Regression testing Upgrade transaction processing module Implement back-end code Complete documentation Unit testing Regression testing Implement back-end code

Owner
Sanjay Jing Tracy Tracy Joe Philip Philip Tracy Joe Philip Philip

Initial Est.
4 2 2 6 8 4 2 5 6 3 3 214

Total

And the Sprint Begins!


Pete Deemer CPO, Yahoo! India R&D

The Basics of Scrum


Scrum Master Daily Scrum Meeting

4-Week Sprint
Product Owner
1 2 3 4 5 6 7 8 9 10 11 12 13

The Team

Review

Commitment

No Changes
(in Duration or Deliverable)

Potentially Shippable Product

Retrospective

The Sprint
Sprint Length
4 weeks is standard in literature Many teams start with 2 week Sprints

Factors in deciding your Sprint length


Length 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

Intensity
Intensity
Waterfall

Scrum

Time

The Basics of Scrum


Scrum Master Daily Scrum Meeting

4-Week Sprint
Product Owner
1 2 3 4 5 6 7 8 9 10 11 12 13

The Team

Review

Commitment

No Changes
(in Duration or Deliverable)

Potentially Shippable Product

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 theres any doubt, then its 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
Product Owner Satisfaction Level Teams ability to deliver what it committed to Teams sense of accountability to deliver what it committed to

Every Future Sprint


Product Owners discipline To not request changes Strength of teams focus on delivering what it committed to Everyones likelihood to play by all the other rules

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

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 be responded to immediately)

Option 2: Designated Responder


Scrum Team
Product Backlog Work
(items from the Product Backlog that the team has committed to do)

D.R.
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. May work on items from lower on Product Backlog (items >13)

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 be responded to immediately)

Option 2: Bug Buffer

productive time available

8-Hour Day

meetings, email, lunch, etc.

Option 2: Bug Buffer

time available to commit to the Sprint

8-Hour Day

bug buffer

meetings, email, lunch, etc.

Option 2: Bug Buffer


To make this work, 3 things are required
Clear 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

Risks
Becomes a back door for change during the Sprint Buffer overrun

The Basics of Scrum


Scrum Master Daily Scrum Meeting

4-Week Sprint
Product Owner
1 2 3 4 5 6 7 8 9 10 11 12 13

The Team

Review

Commitment

No Changes
(in Duration or Deliverable)

Potentially Shippable Product

Retrospective

Daily Scrum Meeting


Every weekday Whole team attends Everyone stands 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 is blocking me

No discussion, conversation until meeting ends Product Owner can attend and report Update of artifacts after standup

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)

But there is a twist

Updating the Sprint Backlog


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

Updating the Sprint Backlog


Day of Sprint Backlog Item Task
Design business logic Design user interface Enable all users to place Implement front-end code book in shopping cart Complete documentation Unit testing Regression testing Upgrade transaction processing module Implement back-end code Complete documentation Unit testing Regression testing Implement back-end code

Owner
Sanjay Jing Tracy Tracy Joe Philip Philip Tracy Joe Philip Philip

Initial Est.
4 2 2 6 8 4 2 5 6 3 3 214

1
2 2 4 6 6 3 2 10 6 3 2 220

2
0 2 2 6 6 3 2 8 6 3 2 205

Total

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
Task: Configure database and SpaceIDs for Trac Task: Configure database and SpaceIDs for Trac Task: Configure database and SpaceIDs for Trac Task: Configure database and SpaceIDs for Trac

IN PROGRESS

DONE

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task Board
TO DO
Task: Configure database and SpaceIDs for Trac Task: Configure database and SpaceIDs for Trac Task: Configure database and SpaceIDs for Trac Task: Configure database and SpaceIDs for Trac

IN PROGRESS

DONE

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task Board
TO DO
Task: Configure database and SpaceIDs for Trac Task: Configure database and SpaceIDs for Trac Task: Configure database and SpaceIDs for Trac

IN PROGRESS
Task: Configure database and SpaceIDs for Trac

DONE

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task Board
TO DO
Task: Configure database and SpaceIDs for Trac Task: Configure database and SpaceIDs for Trac

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

DONE

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task Board
TO DO IN PROGRESS
Task: Configure database and SpaceIDs for Trac Task: Configure database and SpaceIDs for Trac Task: Configure database and SpaceIDs for Trac Task: Configure database and SpaceIDs for Trac

DONE

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task Board
TO DO IN PROGRESS
Task: Configure database and SpaceIDs for Trac Task: Configure database and SpaceIDs for Trac

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

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Task Board
TO DO IN PROGRESS
Task: Configure database and SpaceIDs for Trac

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

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Task: Configure database and SpaceIDs for Trac

Owner: Sanjay Time Remaining: 4 hrs

Owner:` Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

Owner: Sanjay Time Remaining: 4 hrs

The Basics of Scrum


Scrum Master Daily Scrum Meeting

4-Week Sprint
Product Owner
1 2 3 4 5 6 7 8 9 10 11 12 13

The Team

Review

Commitment

No Changes
(in Duration or Deliverable)

Potentially Shippable Product

Retrospective

Sprint Review
Purpose of the Sprint Review is
Demo what the team has built 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 whats been built, not a presentation about whats been built
no Powerpoints allowed!

Usually lasts 1-2 hours Followed by Sprint Retrospective

The Basics of Scrum


Scrum Master Daily Scrum Meeting

4-Week Sprint
Product Owner
1 2 3 4 5 6 7 8 9 10 11 12 13

The Team

Review

Commitment

No Changes
(in Duration or Deliverable)

Potentially Shippable Product

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 Whats 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)
Whats working Whats 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)

Sprint Retrospective A Good Approach


Part 2: At the end of the meeting, mark each item on the Whats 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

WHAT WORKED
Team felt more focused than before on hitting its goals Sense of commitment for the team was higher Team had a better sense of where it was in the Sprint because of the burndown chart The Daily Scrum Meeting improved Team communication during the Sprint Good idea came out during the Sprint Review

WHAT DIDNT WORK


We didnt finish what we committed to in the time available Our estimations were way off We didnt think through the dependencies between tasks The coordination between developers and testers wasnt very good Our daily Scrum meeting didnt start on time The food in the cafeteria was really bad There were a lot of outside distractions during the Sprint Blocks didnt get removed quickly enough by the ScrumMaster There were too many bugs yet to be fixed at the end of the Sprint Team didnt really work together as a team still felt like a group of individuals

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 & ARCHITECTURE, INVESTIGATION, SETUP OF DEV EL ENVIRONMENT

FINAL STABILIZATION, TESTING, RELEASE PREPARATION

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 theyre 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 whats 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


Teams 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:

Teams velocity is ~105 points per Sprint Therefore, in 6 Sprints, the team should be able to complete 6 x 105 = 630 points worth of Product Backlog

This is 620 points of Product Backlog

Velocity Calculation
SPRINT 1 SPRINT 2 SPRINT 3 SPRINT 4 SPRINT 5

Initial Estimate Of Velocity at Project Start

Refinement of Estimate based on 1 Sprint of Actual Data

Recalculation based on 2 Sprints of Actual Data

Recalculation based on 3 Sprints of Actual Data

Recalculation based on 4 Sprints of Actual Data

Release Planning
Product Owners determines whether
Its a feature-driven release (launch when features X, Y, Z can be completed) Its a date-driven release (launch on April 15 with as many features as possible) Its date- and feature-driven (launch on April 15 with features X, Y, Z)

Creating Size Estimates

Planning Poker
1. Everyone has cards: , 1, 2, 3, 5, 8, 13, 20, 50 2. ScrumMaster reads description of backlog item 3. Everyone selects and simultaneously shows cards 4. If estimates vary significantly, high and low estimators briefly explain 5. Repeat steps 3-5 until estimates stop converging 6. Decide estimate for backlog item 7. Move to next backlog item

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

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. Customer can replace any requirements that Vendor hasnt 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. Customer may request interim releases at any time, and will be charged an agreed-upon time and materials cost. If Customers business goals are satisfied early, Customer may terminate contract early for 20% of the remaining unbilled contracted amount.

3.1.2

3.1.3

3.1.4

notwitstanding the foregoing clause, the party in the first

Module: Using Scrum for MultiLocation Development

Scrum in an Offshore (Geographically Distributed) Environment


Is Distributed Development using Scrum even possible?
Scrum emphasizes face-to-face communication, physical proximity, minimizing documentation, crossfunctional 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 Scrum However, its still better than Distributed Waterfall

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

Distributed Scrum Practices


Structure A: Product Owner is in US, team is in India One Common Approach
ScrumMaster colocated with team in India 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 Scrum Practices


2-week Sprints Team holds daily standup meetings in own location
ScrumMaster emails blocks list to Product Owner for assistance clearing in US

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 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 teams standup emailed to the other and read at the beginning of the meeting
(this is in addition to all the previous recommendations)

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

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 on

If 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 team Colocate key members of the team for first several sprints Rotate selected team members to different locations Emphasize the human element these are people, not just voices on a phone or names on email
Team wiki with photos, bios

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 dissatisfaction

Establish known hours, with as much overlap as possible Telephone


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

Instant Messaging
IM is useful, particular because it shows whether the person is there may have to configure to make the status refresh more often

Videoconferencing
Just seeing someones face can make a big different if you dont have professional videoconferencing equipment, buy webcams for both sides

Wikis
Use wikis to share as much project-related information as possible

Module: Scrum and Metrics

Scrum and Metrics


Scrum doesnt 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

Scrum and CMMi

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?

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 whens 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


Were not making a change were trying a new approach, and deciding whether its better than the old way Ken Schwaber: Were not really using scrum

Some of those people will get past it, some of them wont 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

Dont 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
Its very easy when evangelizing scrum to set unrealistic expectations
potential benefit work required

People know when theyre being sold People also pick up on respectful realism
tell them its 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 cant solve by themselves

8. Get Experienced Help


Outside experts can help with specific practices, training, etc.
Dont overlook perhaps their greatest help in the early days: telling you theyve seen this a million times before, and its all going to be fine And at the same time, making sure you dont 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 theres 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 theyre 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 isnt scrum, dont let people call it Scrum Protect Scrums 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

Potrebbero piacerti anche