Upload
kamalakar-dandu
View
280
Download
0
Tags:
Embed Size (px)
DESCRIPTION
This is Introduction to Scrum System of Agile Methodology,Uploaded by Kamalakar Dandu.
Citation preview
Introduction to Scrum
Pete DeemerCPO, Yahoo! India R&D
Defined Processes
Defined Process
Inputα
Inputβ
Inputγ
Outputα
Outputβ
Outputγ
Assuming every step is understood, a given well-defined set of inputs produces
the same set of outputs every time.Predictability is key.
The Waterfall
Requirements Gathering
Design
Development
Testing
Launch & Maintain
Documentation, Signoffs, Handoff
Documentation, Signoffs, Handoff
Documentation, Signoffs, Handoff
Documentation, Signoffs, Handoff
Job Function A Job Function B Job Function C Job Function D Job Function E
Advantage: Highly Logical
Disadvantage: People are involved
Empirical Processes
“It is typical to adopt the defined (theoretical) modeling approach when the underlying mechanisms by which a process operates are reasonably well understood. When the process is too complicated for the defined approach, the empirical approach is the appropriate choice.”
Process Dynamics, Modeling, and Control, Ogunnaike and Ray, Oxford University Press, 1992
Translation into English: Inspect and Adapt
Process
Inspect & Adapt
Inputα Outputβ
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
Time
AdaptabilityIterative Development
All-At-Once Development
Iterative Development
Time
VisibilityIterative Development
All-At-Once Development
Incremental Development
Time
Value
IncrementalDelivery
All-At-OnceDelivery
Incremental Development
Time
Risk / Uncertainty
IncrementalDelivery
All-At-OnceDelivery
The Agile Manifesto – 2001
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
That is, while there is value in the items on
the right, we value the items on the left more.
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
The Emergence of Scrum
Scrum formalized in 1996 by Ken Schwaber“The Origins of Scrum”, OOPSLA 1996
Sun
Siemens
Nokia
Philips
BBC
IBM
Yahoo!
SAP
HP
Motorola
TransUnion
BT / British Telecom
CapitalOne
Now in use at a growing list of big companies:
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
It’s hard!Makes all dysfunction visible
Scrum doesn’t fix anything: the team has to do itFeels like things are worse at the beginning
Bad products will be delivered sooner, and doomed projects will fail faster High risk of turnover
Some people will refuse to stay on a Scrum teamSome people will refuse to stay if Scrum is abandoned
Partial adoption may be worse than none at allIf adoption fails, time will have been wasted, and some people may leave
Scrum Basics
Pete DeemerCPO, Yahoo! India R&D
The Basics of Scrum
4-WeekSprint
Potentially Shippable
Product
Product OwnerReview
ScrumMaster
The Team
789101112
1234
56
13
No Changes(in Duration or Deliverable)
Commitment
Daily ScrumMeeting
Retrospective
789101112
123456
13
The Basics of Scrum
4-WeekSprint
Potentially Shippable
Product
Product OwnerReview
ScrumMaster
The Team
789101112
1234
56
13
No Changes(in Duration or Deliverable)
Commitment
Daily ScrumMeeting
Retrospective
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
4-WeekSprint
Potentially Shippable
Product
Product OwnerReview
ScrumMaster
The Team
789101112
1234
56
13
No Changes(in Duration or Deliverable)
Commitment
Daily ScrumMeeting
Retrospective
Team
7 people, + or – 2Has worked with as high as 15, as few as 3
Can be shared with other teams (but better when not)
Can change between Sprints (but better when they don’t)
Can be distributed (but better when colocated)
Cross-functionalPossesses all the skills necessary to produce an increment of potentially shippable product
Team takes on tasks based on skills, not just official “role”
Self-managingTeam manages itself to achieve the Sprint commitment
The Basics of Scrum
4-WeekSprint
Potentially Shippable
Product
Product OwnerReview
ScrumMaster
The Team
789101112
1234
56
13
No Changes(in Duration or Deliverable)
Commitment
Daily ScrumMeeting
Retrospective
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 teamThe ScrumMaster takes action to help remove impediments to the team’s effectivenessThe ScrumMaster facilitates the team’s group interactions, to help the team achieve its full potential
Protects the teamThe ScrumMaster protects the team from anything that threatens its effectiveness, such as outside interference or disruptionThe ScrumMaster will need to confront uncomfortable issues, both inside and outside the team
Guiding the team’s use of ScrumThe ScrumMaster teaches Scrum to the team and organizationThe ScrumMaster ensures that all standard Scrum rules and practices are followedThe ScrumMaster organizes all Scrum-related practices
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?
The Team
Manager
4-WeekSprint
Potentially Shippable
Product
Product OwnerReview
ScrumMaster
The Team
789101112
1234
56
13
No Changes(in Duration or Deliverable)
Commitment
Daily ScrumMeeting
Retrospective
What Happens to the “Manager” in Scrum?
Manager
?
The New Role of the Manager
4 PossibilitiesScrumMaster
Possible issues?
Product OwnerPossible issues?
Team MemberPossible 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 ScrumIs unnecessary in ScrumWould undermine the team's self-organization and self-management
Help remove impediments that the team is not able or well-placed to resolve themselves
Fire team-members who are consistently not able to perform
Plan and oversee budgets and financials, and think about tools, skills and other future needs
Recruit, interview and hire new members of the team
Stay abreast of latest developments in the technology their team uses, industry news, etc.
Conduct weekly update and 1:1 meetings with team, to surface issues, and provide direction
Plan training for team, and do career-development and planning with team-members
Monitor the team's progress, to make sure they stay on schedule, and aren't having problems
Provide advice and input to the team on difficult technical issues that come up
Convince team that the commitments made on their behalf are attainable
Do performance evaluations and provide feedback to team-members
Give direction to the team on how to do the work, so they can meet the commitment I made
Provide input on features, functionality, and other aspects of what’s being produced
Make commitments on behalf of the team about how much they can get done by X date
Surface issues to the team that they might overlook – scaling, performance, security, etc.
Keep track of whether team-members have done the tasks I’ve assigned to them
Provide coaching and mentorship to team-members
Decide task assignments among the team members and assign them
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
4-WeekSprint
Potentially Shippable
Product
Product OwnerReview
ScrumMaster
The Team
789101112
1234
56
13
No Changes(in Duration or Deliverable)
Commitment
Daily ScrumMeeting
RetrospectiveProduct Backlog
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 produceRanked in order of priority
Priority is a function of business value versus riskProduct Owner can make any changes they want before the start of a Sprint Planning Meeting
Items added, changed, removed, reorderedHow much documentation is up to the team and Product Owner to decideThe farther down the list, the bigger and less defined the items become
~2 Sprints worth are defined in detail
The Basics of Scrum
4-WeekSprint
Potentially Shippable
Product
Product OwnerReview
ScrumMaster
The Team
789101112
1234
56
13
No Changes(in Duration or Deliverable)
Commitment
Daily ScrumMeeting
RetrospectiveProduct Backlog
Sprint Planning Meeting
Takes place before the start of every SprintTeam decides how much Product Backlog it will commit to complete by the end of the Sprint, and comes up with a plan and list of tasks for how to achieve itWhat’s a good commitment?
Clearly understood by allShared among the teamAchievable without sacrificing quality Achievable without sacrificing sustainable pace
Attended by Team, Product Owner, ScrumMaster, StakeholdersMay require 1-2 hours for each week of Sprint duration
2 week Sprint = 2-4 hours, 4 week Sprint = 4-8 hours
Sprint Planning
Team understands the details of what the ProductOwner has prioritized on the Product BacklogTeam decides how much productive time it has available during the SprintTeam decides howmany Product Backlog items it can commit to complete during the Sprint
How much “money”do we have in our
bank account?
How many items on the shopping list can we afford to “buy”with that “money”
What’s on the Product Owner’s “shopping list”
Sprint Planning
Team understands the details of what the ProductOwner has prioritized on the Product BacklogTeam decides how much productive time it has available during the SprintTeam decides howmany Product Backlog items it can commit to complete during the Sprint
SprintPre-Planning
Meeting
SprintPlanningMeeting
Sprint Planning
Team understands the details of what the ProductOwner has prioritized on the Product BacklogTeam decides how much productive time it has available during the SprintTeam decides howmany Product Backlog items it can commit to complete during the Sprint
SprintPre-Planning
Meeting
SprintPlanningMeeting
Weds Thurs Fri Mon Tues
Pre-Meetingfor Sprint 4
Review & Retrospective
for Sprint 3(afternoon)
Sprint PlanningMeeting for
Sprint 4(morning)
Sprint 4 Begins
Sprint Pre-Planning Meeting
Not textbook Scrum, but many teams find it useful
Takes place several days before the end of a Sprint (and start of the next Sprint
Product Owner spends an hour walking the team through the items at the top of the Product Backlog for the nextSprint
Team asks questions, requests clarification, recommend items to be broken down further
Sprint Planning
Team understands the details of what the ProductOwner has prioritized on the Product BacklogTeam decides how much productive time it has available during the SprintTeam decides howmany Product Backlog items it can commit to complete during the Sprint
SprintPre-Planning
Meeting
SprintPlanningMeeting
Sprint Planning
Team understands the details of what the ProductOwner has prioritized on the Product BacklogTeam decides how much productive time it has available during the SprintTeam decides howmany Product Backlog items it can commit to complete during the Sprint
SprintPre-Planning
Meeting
SprintPlanningMeeting
Sprint Cycle: 2-Week Sprint
2423222120
3130292827
1716151413
109876
321
FriThursWedsTuesMon
SprintPlanningMeeting
First Dayof Sprint
Last Dayof Sprint
Sprint Review& Retrospective
2 3 41
6 75 8
SprintPlanningMeeting
Sprint Cycle: 4-Week Sprint
2423222120
3130292827
1716151413
109876
321
FriThursWedsTuesMon
SprintPlanningMeeting
2 3 41
6 75 8 9
11 1210 13
Sprint Review& Retrospective16 1715 18
14
Sprint Cycle: 2-Week Sprint
2423222120
3130292827
1716151413
109876
321
FriThursWedsTuesMon
SprintPlanningMeeting
Sprint Review& Retrospective
2 3 41
6 75 8
SprintPlanningMeeting
Sprint Review& Retrospective
2 3 41
6 75 8
Sprint Review& Retrospective6 75 8
1-Hr Pre-Meeting for Next Sprint
Available Time During Sprint
25 (5 * 5)55Jing
24 (8 * 3)38Phillip
35 (7 * 5)57Sanjay
32 (8 * 4)48Tracy
Total Avail Hrs in Sprint
Avail Hours Per Day
Avail Days During Sprint*
Team Member
8 daysWorkdays During Sprint
2 weeksSprint Length
*Net of holidays and other days out of the office
Hours Per Day
“10-Hour Day”
meetings
reading and writing e-mail
lunch and tea breaks
hacking, reading blogs, playing foosball
time available for productive work
Hours Per Day
“10-Hour Day”
meetings
reading and writing e-mail
lunch and tea breaks
hacking, reading blogs, playing foosball
fixing P1 critical bugs
time available to commit to the Sprint
Hours Per Day
“10-Hour Day”
meetings
reading and writing e-mail
lunch and tea breaks
hacking, reading blogs, playing foosball
time available to commit to the Sprint
fixing P1 critical bugs
Hours Per Day
“10-Hour Day”
meetings
reading and writing e-mail
lunch and tea breaks
hacking, reading blogs, playing foosball
time available to commit to the Sprint
time committed to another team
Available Time During Sprint
25 (5 * 5)55Jing
24 (8 * 3)38Phillip
35 (7 * 5)57Sanjay
32 (8 * 4)48Tracy
Total Avail Hrs in Sprint
Avail Hours Per Day
Avail Days During Sprint*
Team Member
8 daysWorkdays During Sprint
2 weeksSprint Length
*Net of holidays and other days out of the office
Another Approach: Quarter Days
“1 Day”
1/4 Day
1/4 Day
1/4 Day
1/4 Day
Available Time in ¼ Days
20 (5 * 4)5Jing
32 (8 * 4)8Phillip
28 (7 * 4)7Sanjay
32 (8 * 4)8Tracy
Total Avail ¼Days in Sprint
Avail Days During Sprint*
Team Member
8 daysWorkdays During Sprint
2 weeksSprint Length
*Net of holidays and other days out of the office
Sprint Planning
Team understands the details of what the ProductOwner has prioritized on the Product BacklogTeam decides how much productive time it has available during the SprintTeam decides howmany Product Backlog items it can commit to complete during the Sprint
SprintPre-Planning
Meeting
SprintPlanningMeeting
Product Backlog
Creating the Sprint Backlog
Upgrade transaction processing
module
2PhilipRegression testing
4PhilipUnit testing
8JoeImplement front-end code
6TracyImplement back-end code
2TracySet up shopping cart module
2JingDesign user interface
4SanjayDesign business logic
Enable all users to place
book in shopping cart
EstimateOwnerTaskBacklog
Item
Defining “Done”
In Scrum, “Done” is defined as “Potentially Shippable”
How many teams are able to achievepotentially shippable from Sprint 1?
PRE-RELEASES P R I N T
S P R I N T S P R I N T S P R I N T S P R I N T S P R I N T
RELEASE
S P R I N T S P R I N T S P R I N T S P R I N T S P R I N T S P R I N T
RELEASE RELEASE RELEASE RELEASE RELEASE RELEASE
Getting to “Done”
3TomDocumentation
Upgrade transaction processing
module
2PhilipRegression testing
4PhilipUnit testing
8JoeImplement front-end code
6TracyImplement back-end code
2TracySet up shopping cart module
2JingDesign user interface
4SanjayDesign business logic
Enable all users to place
book in shopping cart
EstimateOwnerTaskBacklog
Item
S P R I N T
DESIGN CODE TEST
Getting To “Done” – Not a Good Way
S P R I N T
DESIGN CODE TEST
S P R I N T S P R I N T
Getting To “Done” – Not a Good Way
Getting To “Done” – Not a Good Way
DESIGN
TEST
CODE
Getting To “Done” – A Good Way
S P R I N T
DESIGN CODE TEST
Creating the Sprint Backlog
3TomDocumentation
Upgrade transaction processing
module
2PhilipRegression testing
4PhilipUnit testing
8JoeImplement front-end code
6TracyImplement back-end code
2TracySet up shopping cart module
2JingDesign user interface
4SanjayDesign business logic
Enable all users to place
book in shopping cart
EstimateOwnerTaskBacklog
Item
Available Time During Sprint
2555Jing
2438Phillip
35 3157Sanjay
32 28 2548Tracy
Total Avail Hrs in Sprint
Avail Hours Per Day
Avail Days During Sprint*
Team Member
8 daysWorkdays During Sprint
2 weeksSprint Length
*Net of holidays and other days out of the office
Task Estimation
% Likelihood
Time
Do we need to be 100% accurate in our time estimations for tasks, in order to be successful in Scrum?
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
5TracyImplement back-end codeUpgrade
transaction processing
module
6JoeComplete documentation
3PhilipUnit testing
3PhilipRegression testing
214Total
32
2
4
8
6
2
2
4
Initial Est.
Day of Sprint
1 4 5
PhilipRegression testing
PhilipUnit testing
JoeComplete documentation
TracyImplement front-end code
TracyImplement back-end code
JingDesign user interface
SanjayDesign business logic
Enable all users to place
book in shopping cart
6OwnerTaskBacklog
Item
And the Sprint Begins!
Pete DeemerCPO, Yahoo! India R&D
The Basics of Scrum
4-WeekSprint
Potentially Shippable
Product
Product OwnerReview
ScrumMaster
The Team
789101112
1234
56
13
No Changes(in Duration or Deliverable)
Commitment
Daily ScrumMeeting
Retrospective
The Sprint
Sprint Length4 weeks is standard in literature
Many teams start with 2 week Sprints
Factors in deciding your Sprint lengthLength of the release
Amount of uncertainty
How long priorities can stay unchanged
Overhead of Sprint Planning and Review
Team and Product Owner work together to decide Sprint length
Can change during the project
Intensity
Time
Intensity
Waterfall
Scrum
The Basics of Scrum
4-WeekSprint
Potentially Shippable
Product
Product OwnerReview
ScrumMaster
The Team
789101112
1234
56
13
No Changes(in Duration or Deliverable)
Commitment
Daily ScrumMeeting
Retrospective
No Changes During Sprint
No Changes to the DeliverableOnce team has committed, no changes to the deliverableIf something major comes up, Product Owner can terminate the Sprint and start new oneDetails and clarifications will emerge during Sprint, but no new work or substantially changed work
Difference between “change” and “clarification”
“If there’s any doubt, then it’s a change”
Impact of Change
Every Future SprintCurrent Sprint
Team’s sense of account-
ability to deliver what it committed to
Strength of team’s focus on delivering
what it committed to
Product Owner’s
discipline To not request
changes
Everyone’s likelihood to
play by all the other rules
Team’s ability to deliver
what it committed to
Product Owner
Satisfaction Level
What happens if the Product Owner gets to add just a smallamount of work, or swap work in & out during the Sprint?
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 beresponded toimmediately)
Option 2: Designated Responder
“Product Backlog Work”(items from the Product
Backlog that the team has committed to do)
“P1 Bugs”(emergency requests
that need to be responded to quickly)
Commits in this Sprint to complete items 1-13 on
the Product Backlog
Commits to fit P1 bugs. Maywork on items from lower on Product Backlog (items >13)
Scrum Team D.R.
Option 2: Bug Buffer
“Scrum Work”(items from the
Product Backlog that the team has committed to do)
“P1 Bugs”(emergency requests
that need to beresponded toimmediately)
“8-Hour Day”
productive time available
meetings, email, lunch, etc.
Option 2: Bug Buffer
“8-Hour Day” bug buffer
time available to commit to the Sprint
meetings, email, lunch, etc.
Option 2: Bug Buffer
To make this work, 3 things are requiredClear definition of what qualifies as a “P1 Bug” (these are the only things that team will work on)
Time spent from risk buffer must be tracked – when buffer gets to 0, work on bugs has to stop, or Sprint has to be terminated
Team must have the discipline to follow first two points
RisksBecomes a back door for change during the Sprint
Buffer overrun
Option 2: Bug Buffer
The Basics of Scrum
4-WeekSprint
Potentially Shippable
Product
Product OwnerReview
ScrumMaster
The Team
789101112
1234
56
13
No Changes(in Duration or Deliverable)
Commitment
Daily ScrumMeeting
Retrospective
Daily Scrum Meeting
Every weekdayWhole team attendsEveryone standsLasts 15 minutes or lessEveryone reports 3 things only to each other
What was I able to accomplish since last meetingWhat will I try to accomplish by next meetingWhat is blocking me
No discussion, conversation until meeting endsProduct Owner can attend and reportUpdate of artifacts after standup
Table Exercise: Daily Scrum Meeting
Do a Daily Scrum Meeting for your tableOne person plays the role of ScrumMaster
The rest of the table are team-members
Each team-member reports to the group:What I was able to get done since last Daily Standup Meeting
What I will try to get done by the next Daily Standup Meeting
What is blocking me? (If nothing, say “No Blocks”)
But there is a twist…
Updating the Sprint Backlog
Before or after the Daily Scrum, team members update the hours remaining on the Sprint Backlog
Updating the Sprint Backlog
8105TracyImplement back-end codeUpgrade
transaction processing
module
666JoeComplete documentation
333PhilipUnit testing
223PhilipRegression testing
205220214Total
3
2
3
6
6
2
2
0
2
2
4
8
6
2
2
4
Initial Est.
Day of Sprint
2
3
6
6
4
2
2
1 4 5
PhilipRegression testing
PhilipUnit testing
JoeComplete documentation
TracyImplement front-end code
TracyImplement back-end code
JingDesign user interface
SanjayDesign business logic
Enable all users to place
book in shopping cart
6OwnerTaskBacklog
Item
Burndown Chart
Task Board
IN PROGRESSTO DO DONE
Task Board
IN PROGRESSTO DO DONE
Task: Configure database and SpaceIDs for Trac
Owner: Sanjay
Task Board
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
IN PROGRESSTO DO DONE
Task Board
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
IN PROGRESSTO DO DONE
Task Board
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
IN PROGRESSTO DO DONE
Task Board
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
IN PROGRESSTO DO DONE
Task Board
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
IN PROGRESSTO DO DONE
Task Board
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
IN PROGRESSTO DO DONE
Task Board
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner:` SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
Task: Configure database and SpaceIDs for Trac
Owner: SanjayTime Remaining:4 hrs
IN PROGRESSTO DO DONE
The Basics of Scrum
4-WeekSprint
Potentially Shippable
Product
Product OwnerReview
ScrumMaster
The Team
789101112
1234
56
13
No Changes(in Duration or Deliverable)
Commitment
Daily ScrumMeeting
Retrospective
Sprint Review
Purpose of the Sprint Review isDemo what the team has builtGenerate feedback, which the Product Owner can incorporate in the Product Backlog
Attended by Team, Product Owner, ScrumMaster, functional managers, and any other stakeholdersA demo of what’s been built, not a presentation aboutwhat’s been built
no Powerpoints allowed!
Usually lasts 1-2 hoursFollowed by Sprint Retrospective
The Basics of Scrum
4-WeekSprint
Potentially Shippable
Product
Product OwnerReview
ScrumMaster
The Team
789101112
1234
56
13
No Changes(in Duration or Deliverable)
Commitment
Daily ScrumMeeting
Retrospective
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 1Create 3 large lists (whiteboard or flipchart)
What’s working
What’s could work better
Things to try in the next Sprint
Go around the room, and give each person an opportunity to add 1 or more items to the 3 lists
If people agree with something already on the lists, put a tick mark next to them
Select a subset of the “Things to try...” list to try in the next Sprint (ScrumMaster responsible for tracking this)
Sprint Retrospective – A Good Approach
Part 2:
At the end of the meeting, mark each item on the What’s Working / What Could Work Better lists as either:C = caused by Scrum (would not be happening without Scrum)E = exposed by Scrum (would be there even if team were not using Scrum)U = unrelated to Scrum (like the weather)
Then, add up the C, E, and U in each column
WHAT WORKED WHAT DIDN’T WORKWe didn’t finish what we committed to in the time availableOur estimations were way offWe didn’t think through the dependencies between tasksThe coordination between developers and testers wasn’t very goodOur daily Scrum meeting didn’t start on timeThe food in the cafeteria was really badThere were a lot of outside distractions during the SprintBlocks didn’t get removed quickly enough by the ScrumMasterThere were too many bugs yet to be fixed at the end of the SprintTeam didn’t really work together as a team –still felt like a group of individuals
Team felt more focused than before on hitting its goalsSense of commitment for the team was higherTeam had a better sense of where it was in the Sprint because of the burndown chartThe Daily Scrum Meeting improved Team communication during the SprintGood idea came out during the Sprint Review
The Release Cycle in Scrum
Pete DeemerCPO, Yahoo! India R&D
Scrum Release Cycle
2 Common Approaches:
S P R I N TS P R I N T S P R I N T S P R I N T S P R I N T S P R I N T
RELEASE
Multi-Sprint Release
S P R I N T S P R I N T S P R I N T S P R I N T S P R I N T S P R I N T
RELEASE RELEASE RELEASE RELEASE RELEASE RELEASE
Release Every Sprint
Multi-Sprint Release – One Approach
PRE-RELEASES P R I N T
“S P R I N T 0” S P R I N T S P R I N T S P R I N T S P R I N T
RELEASE
HIGH-LEVEL DESIGN& ARCHITECTURE,INVESTIGATION,SETUP OF DEV EL
ENVIRONMENT
FINAL STABILIZATION,TESTING, RELEASE
PREPARATION
Multi-Sprint Release – One Approach
“S P R I N T 0” S P R I N T S P R I N T S P R I N T S P R I N T
RELEASE
HIGH-LEVEL DESIGN& ARCHITECTURE,INVESTIGATION,SETUP OF DEV EL
ENVIRONMENT
Release Planning and Estimation in Scrum
Pete DeemerCPO, 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 approachesEstimation in Scrum is based on what’s called Velocity
Velocity is measure of how much Product Backlog the team can complete in a given amount of time
Product Backlog
Velocity – Based on Historical Data
90 points
120 points
100 points
~105 size points per Sprint
Team’s Recent Sprints
How to Plan a Release in Scrum
Calculate velocity then apply to the Product Backlog:
Team’s velocity is~105 points per Sprint
Therefore, in 6Sprints, the team should be able to complete
This is 620 points of Product Backlog
6 x 105 = 630 points worth of Product Backlog
Velocity Calculation
S P R I N T 1 S P R I N T 2 S P R I N T 3 S P R I N T 4 S P R I N T 5
Initial EstimateOf Velocity atProject Start
Refinementof Estimatebased on 1 Sprint of Actual Data
Recalculationbased on 2 Sprints of Actual Data
Recalculationbased on 3 Sprints of Actual Data
Recalculationbased on 4 Sprints of Actual Data
Release Planning
Product Owners determines whether It’s a feature-driven release (“launch when features X, Y, Z can be completed”)
It’s a date-driven release (“launch on April 15 with as many features as possible”)
It’s date- and feature-driven (“launch on April 15 with features X, Y, Z”)
Creating Size Estimates
Planning Poker
1. Everyone has cards: ½, 1, 2, 3, 5, 8, 13, 20, 502. ScrumMaster reads description of backlog item3. Everyone selects and simultaneously shows
cards4. If estimates vary significantly, high and low
estimators briefly explain5. Repeat steps 3-5 until estimates stop
converging6. Decide estimate for backlog item7. Move to next backlog item
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
notwitstanding the foregoing clause, the party in the first
3.1.1 Vendor will demo potentially shippable software to Customer every 30 days. There will be no additional charge for this.
3.1.2 Customer can replace any requirements that Vendor hasn’t yet started working on with one or more of equal total size (in the estimate of Vendor) at any time. There will be no additional charge for this.
3.1.3 Customer may request interim releases at any time, and will be charged an agreed-upon time and materials cost.
3.1.4 If Customer’s business goals are satisfied early, Customer may terminate contract early for 20% of the remaining unbilled contracted amount.
Module: Using Scrum for Multi-Location 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, cross-functional teams...Distributed development seems to attract plan-driven approach, detailed requirements and “defined” plans, separation by function (ie, analysts onshore, developers offshore, etc.)
Yes, but...Distributed Scrum is not as good as Colocated ScrumHowever, it’s still better than Distributed Waterfall
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 IndiaOne Common Approach
ScrumMaster colocated with team in IndiaProduct Owner in US travels to India for project kickoffAll real-time meetings with Product Owner are visual
Videoconference + WebexUse a webcam if you have to
Mailing list for Product Owner and all team members, with most project-related emails cc:ed to this list
Verbose subject lines to emails
At least 1 weekly 1-hour real-time check-in between Product Owner and teamIn-person planning and review regroup in India or US between Product Owner and team at least once per quarter
Distributed Scrum Practices
2-week SprintsTeam holds daily standup meetings in own location
ScrumMaster emails blocks list to Product Owner for assistance clearing in US
Sprint PlanningTeam has 1 hour real-time meeting with Product Owner to discuss goals of Sprint, broad review of Product Backlog Items (example:Weds night IST)Team spends 1-3 hours doing preliminary analysis and breakdown of Product Backlog Items (example: Thurs afternoon IST)Team spends 1-3 hours real-time with Product Owner completing analysis and breakdown of Product Backlog Items, and makes commitment (example: Thurs night IST)Sprint begins (example: Fri morning IST)
Sprint Review and RetrospectiveVideoconference + Webex (example Weds morning IST)
Distributed Team
Stucture B: Team split between two locations For example, 3 developers, 1 tester, and 1 analyst in US, 5 developers and 1 tester in India
2 ScrumMasters, one in each location Lighter load than a full ScrumMaster – may be a team-member
2 separate daily standup meetingsNotes from each team’s standup emailed to the other and read at the beginning of the meeting(this is in addition to all the previous recommendations)
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 onIf relationships are week, these things become evidence in a “story of badness” – the other team is crazy, incompetent, evil, malicious, etc.
This is extremely difficult to repair“Spend some savings” at project inception to help people get to know each other
Plan work, but also plan play – dinners, outings, sightseeing, etc.Send US customers and project managers to India for creation of initial release plan with teamColocate key members of the team for first several sprintsRotate selected team members to different locationsEmphasize the human element – these are people, not just voices on a phone or names on email
Team wiki with photos, bios
Developing Team Relationships
One of the reasons a relationship of trust and openness are required is that remote teams need to be able to communicate honestly
Speak up, disagree, raise problems, express concern, voice dissatisfactionEstablish known hours, with as much overlap as possibleTelephone
Make sure people can pick up the phone easily; have a speakerphone in the work area with speed dial to remote developersDemand an excellent speakerphoneStart conf calls with chit chat, helps reinforce human elementTake turns picking times of calls, and be aware of time of call issues
Instant MessagingIM is useful, particular because it shows whether the person is theremay have to configure to make the status refresh more often
VideoconferencingJust seeing someone’s face can make a big different – if you don’t have professional videoconferencing equipment, buy webcams for both sides
WikisUse wikis to share as much project-related information as possible
Module: Scrum and Metrics
Scrum and Metrics
Scrum doesn’t prevent you from tracking or measuring any aspect of the development process you chooseHowever, you must be mindful of unintended consequences of measurement
Example: Individual burndown charts
Recording or reporting measurements will probably require effort
If this effort comes from team-members, it should be made visible in their task time estimates or as Backlog Items
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 organizationVery few organizations are willing to change
Change is riskyChange hurtsChange requires workChange involves loss and waste
Very few organizations are able to successfully pull it off
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, messyKeep calling it a “pilot” as long as possiblePeople will ask “when’s the decision going to get made to officially adopt Scrum”
Wait to make that decision until there are no more teams lining up to make the changeThen ask yourself what is it about the remaining teams?
Some people will be uncomfortable, unhappy, scaredAnd is it unexpected? How many management fads have preceded Scrum?
Emphasize the common sense nature of itWe’re not “making a change”… we’re trying a new approach, and deciding whether it’s better than the old wayKen Schwaber: “We’re not really using scrum”
Some of those people will get past it, some of them won’tJust 4 months in, some of the biggest early Scrum skeptics had evolved into the greatest Scrum evangelists
Give people the room to changeAvoid battle-lines
3. Change is Scary to Many People... and Scrum is Really Scary to Some People
4. Patience is a Virtue
Err on the side of making fewer teams more successfulEvery team will hit some big bump kicking off scrum
Many will need some support, if only moral
In the early days, there are many more evangelists for failure than for successEven the undecided will assume that an early failure is a strike against scrumOverbudget the time early teams will need to work through systemic issues
5. Find the Middle Path Philosophically
Scrum PuristsTend to be the initial instigatorsThey also tend to be the first to feel anxiety as Scrum stops being a guerrilla campaign, and becomes how the army is run
Scrum PragmatistsTend to be more effective in big organizationsAlso more prone that the purist to compromise, possibly at the expense of effectiveness
Don’t let either of them win outrightMake sure you have both!
6. Set a High Bar and Low Expectations for Teams that Want to Use Scrum
It’s very easy when evangelizing scrum to set unrealistic expectations
potential benefitwork required
People know when they’re being soldPeople also pick up on respectful realism
tell them it’s hard, tell them it involves risk, and emphasize that only they in their hearts know if it might be right for their team
7. Scrum is Hard
Scrum surfaces all sorts of nasty stuffMake sure people are preparedMake sure they understand that this is Scrum working, not failing
Help teams learn from each otherBe ready to stage a rescue mission
There are some problems teams can’t solve by themselves
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 bigOrganizational, policy, management...
Many are smallconference 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 talksStart 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 levelMake sure they’re well educated on reality, and also able to be candid, with you and others
you want them able to bring you the nuggets of information or news asap
Very helpful to have a senior executive advocatewith a single statement they can set the default management attitude to scrumbeware getting them TOO excited though
13. Measure the Results Early and Often
Scrum is in part about making things visibleSo measure the results and experiences from a bunch of different angles
Publicize both the good and bad
14. The Urge to Tinker is Great
Everyone has a way to improve ScrumImportant to set standards and adhere to them
If it isn’t scrum, don’t let people call it ScrumProtect Scrum’s good name!
15. Scrum will Always Be Messy
Scrum is about people, and people are messy
Inconsistent, insensitive, erratic, make mistakes
For this reason, it will never be perfectIdealists will always be disappointedOpponents will always have ammoJust keep asking, is it better than before
LAST