Introduction to Agile Scrum
-
Upload
hiep-luong -
Category
Sports
-
view
411 -
download
0
description
Transcript of Introduction to Agile Scrum
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
AGILE
Scrum eXtreme���Programming
(“XP”) Test-Driven Development
(“TDD”) Crystal DSDM FDD
and more…
The Essence of Scrum SCRUM
Produce
Inspect
Adapt
Plan
Sprint
Transparency
The Foundations of Scrum
There is a cross-functional Dev Team that is stable and 100% dedicated.
The Dev Team decides how to get the work done. It is self-organizing. The Dev Team plans its Sprints one at a time, at the start of each Sprint. The Product Owner decides what should be produced. The Dev Team decides how much it can produce in a Sprint. The Dev Team’s target in a Sprint is shared, clear, and does not change. The Dev Team tries to achieve its target, but it may over-deliver or
under-deliver, based on how the Sprint plays out.
Each Sprint is a timebox – its length is never extended. Each Sprint produces a “potentially shippable product” – in other
words, thoroughly tested, defect-free, and “done.”
There is a “Definition of Done” that specifies what “done” means. At the end of each Sprint, we inspect and adapt product and process.
Development Starts Release Date Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9 Sprint 10
Feature
Feature
Feature
Feature
Feature
Feature Feature
Feature
Feature
Development Starts Release Date Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9 Sprint 10
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Development Starts Release Date Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9 Sprint 10
Development Starts Release Date Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9 Sprint 10
“Done” – Coded, Tested, ���No Defects Remaining
Development Starts Release Date Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9 Sprint 10
“Done” – Coded, Tested, ���No Defects Remaining
Development Starts Release Date Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9 Sprint 10
“Done” – Coded, Tested, ���No Defects Remaining
The Relative Value of Different Features Feature 1
Feature 2 Feature 3
Feature 4 Feature 5
Feature 6 Feature 7
Feature 8 Feature 9
Typical Large-Scale Software Application
Features 1-5 Features 6-10 Features 11-15 Features 16-20 Features 21-25 Features 26-30 Features 31-35 Features 36-40 Features 41-45 Features 46-50 Features 51-55 Features 56-60 Features 61-65 Features 66-70 Features 71-75 Features 76-80 Features 81-85 Features 86-90 Features 91-95 Features 96-100
Development Starts Release Date
Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9 Sprint 10
100%
50%
% of Total ���Business Value
Completed
Product Owner Dev Team
Input from End-Users, Customers, Team and ���Other Stakeholders
ScrumMaster
SCRUM
Product���Backlog
8
9
10
11
12
“The Scrum Team”
Sprint 1-4 Weeks
Potentially Shippable Product
Increment
Review
No Changes in Duration or Goal
Retrospective
Product Owner Dev Team
Daily Scrum ���Meeting and ���
Artifacts Update
Input from End-Users, Customers, Team and ���Other Stakeholders
Sprint���Backlog
Product Backlog
Grooming
ScrumMaster
SCRUM
Product���Backlog
8
9
10
11
12
Responsible for maximizing the value of the work done by the Dev Team Owns vision and goals / ROI of the work Final decisionmaker on content and order
of the Product Backlog (the list of items needed to successfully achieve goals / ROI)
Owns the date and scope of the Release
Responsible for doing the work 7 +/- 2 People Cross-functional Self-organizing
Responsible for guiding the PO and Dev Team to achieve optimal results with Scrum 3 P’s: P rocess Owner - Teaches Scrum to everyone - Coaches everyone on how to use Scrum
to deliver maximum value and quality - Enforces the rules of Scrum - Acts as a change agent for organization
P roblem Solver - Helps remove blocks and assists the Dev
Team and Product Owner in any way they can, to achieve the best results
P rotector - Protects the Dev Team from disruption
Product Owner Dev Team
ScrumMaster
SCRUM
Role might be played by���a member of the Dev Team or ���
the ex-Project Manager. ���
We avoid having someone with a management title in this role.
“Developers” = Architects, Coders, Testers, Business Analysts, UI Designers, Doc Writers, etc.
Role might be played by Customer, Customer Representative, Product ���
Manager, Product Marketing Manager, Program Manager, Project Manager.
Sprint 4 Weeks���or Less
Potentially���Shippable Increment
Product Owner Review
No Changes To Goal or Timebox
Retrospective
Dev Team
Daily Scrum���Meeting Input from End-Users,
Customers, Team and���Other Stakeholders
Sprint���Backlog
Product Backlog
Grooming
Sprint Planning Meeting
Team Selects How Much���To Target
ScrumMaster
SCRUM
Product���Backlog
Detailed Plan for���Sprint
Ordered List of What’s Needed
SPRINT BACKLOG
Blow up 10 Balloons Measure Radius of All 10 Balloons Calculate Volumes of All 10 Balloons
Writing Requirements in Scrum
User Stories
User Stories are an Agile approach to requirements Widely used by Scrum Teams Not required, but highly recommend
What is a User Story? A User Story is a short, plain-language description
of the needs of a user, centered on what they need or want to do, and why
As a <type of user>, I want <some goal> so that <some reason>.
3 C’s: Card, Confirmation, Conversation
As a Customer who has booked a flight, I want to cancel my booking, So that I can receive a refund and make other plans
☐ Verify that ticket price minus applicable cancellation fee is refunded to credit card ☐ Verify that 10% cancellation fee is deducted from refunded amount for economy tickets ☐ Verify that no fee is deducted from refunded amount for business class tickets ☐ Verify that confirmation email is sent ☐ Verify that seat reservation is released
CARD
CONFIRMATION
The card does not include all the detailed information needed by the Dev Team
This is because we want to force a conversation between the Dev Team and Product Owner
This conversation begins at the start of the project Dev Team and Product Owner might spend a day talking
through the initial list of User Stories
This conversation continues during each Sprint During Sprint Planning Meeting
Day-by-day during the Sprint During Product Backlog Grooming
During Sprint Review
3 C’s: Card, Confirmation, Conversation
– intentionally!
User Stories
Everyone writes User Stories. The Product Owner decides which to add to the Product Backlog, and what the priority should be.
At the beginning of a project, a Story Writing workshop is typically held. The Product Owner creates the initial Product Backlog from this.
New User Stories are written during the project and added to the Product Backlog, as new needs appear.
Large Stories are called “Epics”. Epics are broken down into smaller stories as they move up the Product Backlog, and get closer to being worked on.
Sprint 4 Weeks���or Less
Potentially���Shippable Increment
Product Owner Review
No Changes To Goal or Timebox
Retrospective
Dev Team
Daily Scrum���Meeting Input from End-Users,
Customers, Team and���Other Stakeholders
Sprint���Backlog
Product Backlog
Grooming
Sprint Planning Meeting
Team Selects How Much���To Target
ScrumMaster
SCRUM
Product���Backlog
Detailed Plan for���Sprint
Ordered List of What’s Needed
Product Backlog Grooming
Each Sprint, the Dev Team and Product Owner together look ahead to the upcoming 2-3 Sprints’ worth of Product Backlog
The Dev Team and Product Owner split large Product Backlog Items into smaller pieces
Small enough that 1-2 people could finish in 2-3 days
The Dev Team gets a more detailed understanding of the upcoming Product Backlog Items, by asking a lot of questions
This enables the Dev Team to enter Sprint Planning with a good understanding of the items at the top of the Product Backlog
Roughly 5-10% of each Sprint’s working hours are spent on Product Backlog Grooming (~3 hours for a 2-week Sprint)
The ScrumMaster organizes and facilitates this activity
Sprint 4 Weeks���or Less
Potentially���Shippable Increment
Product Owner Review
No Changes To Goal or Timebox
Retrospective
Dev Team
Daily Scrum���Meeting Input from End-Users,
Customers, Team and���Other Stakeholders
Sprint���Backlog
Product Backlog
Grooming
Sprint Planning Meeting
Team Selects How Much���To Target
ScrumMaster
SCRUM
Product���Backlog
Detailed Plan for���Sprint
Ordered List of What’s Needed
Sprint Planning Meeting
Conducted by the Dev Team, the Product Owner, and the ScrumMaster together
Often conducted in 2 parts: Part 1 – Dev Team decides how much they are going to target
Part II – Dev Team creates a plan for how they are going to deliver it
Popular Approaches to deciding how much to target:
Velocity-based Once a Dev Team has a stable history of how much Product Backlog they can complete in a Sprint, they set their target based on their recent results
Commitment-based Dev Team estimates its capacity for work during the Sprint (in hours or days, for example), then targets as many Product Backlog items as they have capacity for
Name Days in the Sprint Hours per Day Total Hours in the Sprint
Amitabh! 9! 5 ½ ! 50!Shahrukh! 9! 5 ½ ! 50!Aishwarya! 6! 5 ½ ! 33!Salman! 9! 5 ½ ! 50!Priyanka! 9! 3! 27!
Total 210 !Mon Tues Weds Thurs Fri
1 2 3 4
5 6 7 8
Sprint Planning
Review and Retrospective
½ day
½ day
Work Time Available
Name Days in the Sprint Hours per Day Total Hours in the Sprint
Amitabh! 9! 6! 54!Shahrukh! 9! 6! 54!Aishwarya! 6! 6! 36!Salman! 9! 6! 54!Priyanka! 9! 5! 45!
Total 240 !
Work Time Available
-15!-15!
Buffer (5-10%)!Product Backlog Grooming (5-10%)!
210!Total Work Time Available in the Sprint!
Available Time in Sprint = [your number goes here] 0 Allocated so far = minutes
Not Started In Progress Done
Priority Description
1 Make a cube with sides of 10cm.
2 Make a square-based pyramid. The base should be 10cm square, and the sides should be 15cm. Attach to the top of item 1.
3 Make a triangular prism. All the sides of the prism should be 6cm. Attach to the top of item 3, and then attach both to the side of item 1.
4 Make a hexagonal prism. Each rectangular side should 4cm wide by 12cm long. After completing it, stand it upright.
5 Make a triangular pyramid. Each side should be 12cm. Attach it to item 5.
Product Backlog
10
10
10
15
10
6
6
6
6
4 12
12
12 12
15
10
Product Backlog Item #1 Make 10cm cube
Get cardboard
Available Time in Sprint = 54 minutes
Draw six 10x10cm squares
Cut out the six squares
Tape squares together
Double-check size and quality
1 3
5 5
2
Allocated so far = minutes Not Started In Progress Done
Total: 16 mins
16
Priority Description
1 Make a cube with sides of 10cm.
2 Make a square-based pyramid. The base should be 10cm square, and the sides should be 15cm. Attach to the top of item 1.
3 Make a triangular prism. All the sides of the prism should be 6cm. Attach to the top of item 3, and then attach both to the side of item 1.
4 Make a hexagonal prism. Each rectangular side should 4cm wide by 12cm long. After completing it, stand it upright.
5 Make a triangular pyramid. Each side should be 12cm. Attach it to item 5.
Product Backlog
10
10
10
15
10
6
6
6
6
4 12
12
12 12
15
10
Product Backlog Item #1 Make 10cm cube
Get cardboard
Available time in Sprint = 54 minutes
Draw six 10x10cm squares
Cut out the six squares
Tape squares together
Double-check size and quality
1 3
5 5
2
Allocated so far = minutes Not Started In Progress Done
Total: 16 mins
Product Backlog Item #2 Make Square-based Pyramid
Draw four 10x15x15 triangles
Draw one 10x10cm square
Cut out pieces
Tape pieces
together
6 2
6 5 Double-
check size and quality
2
Total: 19 mins
35
Product Backlog Item #1 Make 10cm cube
Get cardboard
Available time in Sprint = 54 minutes
Draw six 10x10cm squares
1 3
Allocated so far = 50 minutes Not Started In Progress Done
TOTA
L M
INU
TES
OF
WO
RK
LEF
T T
O D
O!
Initial "Estimate!
Day 1! Day 2!
35!
40!
45!
50!
55!
60!
5!
10!
15!
20!
25!
30!
65!
70!
75!
80!
85!
0!
BURNDOWN CHART!
Day 3!
50
SPRINT BACKLOG
Blow up 10 Balloons Measure Radius of All 10 Balloons Calculate Volumes of All 10 Balloons
Starting the Sprint
Product Backlog Item #1 Make 10cm cube
Available time in Sprint = 54 minutes
Draw six 10x10cm squares
3 Cut out the six squares
5
Tape squares together
5 Double-
check size and quality
2
Allocated so far = 50 minutes Not Started In Progress Done
Total: 16 mins
Product Backlog Item #2 Make Square-based Pyramid
Draw one 10x10cm square
2 Cut out pieces
6
Tape pieces
together 5
Double-check size and quality
2
Total: 19 mins
Get cardboard
1 Pete
Get cardboard and tape
1 Pete
Draw four 10x15x15 triangles
6 Pete
Draw four 10x15x15 triangles
6 Pete
Sprint 4 Weeks���or Less
Potentially���Shippable Increment
Product Owner Review
No Changes To Goal or Timebox
Retrospective
Dev Team
Daily Scrum���Meeting Input from End-Users,
Customers, Team and���Other Stakeholders
Sprint���Backlog
Product Backlog
Grooming
Sprint Planning Meeting
Team Selects How Much���To Target
ScrumMaster
SCRUM
Product���Backlog
Detailed Plan for���Sprint
Ordered List of What’s Needed
Daily Scrum Meeting Goal
Enable Dev Team to update each other daily Make all blocks visible to SM and entire Dev Team daily
Every day, at an agreed time and place, ���Dev Team stands in a circle and reports 3 things What did I do since the last Daily Scrum Meeting? What will I do by the next Daily Scrum Meeting? What is blocking me?
15 minutes maximum During meeting: everyone listens, no discussion After meeting is done: discussion as needed Product Owner can attend, but mustn’t interfere After meeting, ScrumMaster helps with blocks
Product Backlog Item #1 Make 10cm cube
Draw six 10x10cm squares
3 Cut out the six squares
5
Tape squares together
5 Double-
check size and quality
2
Not Started In Progress Done
Product Backlog Item #2 Make Square-based Pyramid
Draw one 10x10cm square
2 Cut out pieces
6
Tape pieces
together 5
Double-check size and quality
2
Get cardboard
1 Pete
Draw four 10x15x15 triangles
6 Pete
Product Backlog Item #3 Make Cylinder
Draw shape
Get cardboard and tape
Ravi
Priya
Arun
3
2
8 1
Product Backlog Item #1 Make 10cm cube
Draw six 10x10cm squares
3 Cut out the six squares
5
Tape squares together
5 Double-
check size and quality
2
Not Started In Progress Done
Product Backlog Item #2 Make Square-based Pyramid
Draw one 10x10cm square
2 Cut out pieces
6
Tape pieces
together 5
Double-check size and quality
2
Get cardboard
1 Pete
Draw four 10x15x15 triangles
6 Pete
Product Backlog Item #3 Make Cylinder
Draw shape
Get cardboard and tape
Ravi
Priya
Arun
3
2
8 1 Total = 42
TOTA
L M
INU
TES
OF
WO
RK
LEF
T T
O D
O!
Initial "Estimate!
Day 1! Day 2!
35!
40!
45!
50!
55!
60!
5!
10!
15!
20!
25!
30!
65!
70!
75!
80!
85!
0!
BURNDOWN CHART!
Day 3!
Sprint 4 Weeks���or Less
Potentially���Shippable Increment
Product Owner Review
No Changes To Goal or Timebox
Retrospective
Dev Team
Daily Scrum���Meeting Input from End-Users,
Customers, Team and���Other Stakeholders
Sprint���Backlog
Product Backlog
Grooming
Sprint Planning Meeting
Team Selects How Much���To Target
ScrumMaster
SCRUM
Product���Backlog
Detailed Plan for���Sprint
Ordered List of What’s Needed
Sprint Review
Goal: Inspect and Adapt the Product Collaborative meeting between the Product
Owner, Dev Team, ScrumMaster, stakeholders Together we get “hands on” with what the Dev
Team has produced in the Sprint We inspect the quality, and whether it is “done” We inspect whether it truly serves customer needs We try to find improvements to make in the future
(Product Owner puts these on the Product Backlog)
Recommendation: Get real-world customers or end-users to attend and give hands-on feedback
Sprint 4 Weeks���or Less
Potentially���Shippable Increment
Product Owner Review
No Changes To Goal or Timebox
Retrospective
Dev Team
Daily Scrum���Meeting Input from End-Users,
Customers, Team and���Other Stakeholders
Sprint���Backlog
Product Backlog
Grooming
Sprint Planning Meeting
Team Selects How Much���To Target
ScrumMaster
SCRUM
Product���Backlog
Detailed Plan for���Sprint
Ordered List of What’s Needed
Sprint Retrospective
Goal: Inspect and Adapt Our Process Collaborative meeting between the Product
Owner, Dev Team, and ScrumMaster We talk about what we experienced and
observed during the Sprint, both good and bad We create a plan of action for improving in the
next Sprint Probably the single most important practice in
Scrum. We do this every Sprint!
Start! Stop! Continue!Start getting a better understanding of the Product Backlog Items during Sprint Planning!
Start doing more communication between Dev Team and Product Owner during the Sprint!
Start doing the Daily Scrum Meeting at the beginning of the day, instead of the end of the day!
Stop waiting until the end of the Sprint to begin integration testing!
Stop allowing changes to our target during the middle of the Sprint!
Stop sacrificing quality just to hit our target during the Sprint!
Stop interrupting each other during the Daily Scrum Meeting!
Continue the good teamwork and positive attitude!
Continue putting a little extra buffer in our plan for each Sprint!
Continue inviting end-users to the Sprint Review, to get their feedback!
Continue using the task board on the wall!
SPRINT BACKwith LOG Getting Started with Scrum
Time
Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9 Sprint 10
Development Start Release Date
Getting Started with Scrum��� ScrumMaster teaches Scrum to everyone and assigns the Scrum roles Product Owner communicate the vision and goals of the Release Product Owner leads the creation of the Product Backlog (with lots of input) Dev Team does high-level size estimation of the Product Backlog Product Owner does initial prioritization of the Product Backlog (with lots of input) Release Planning Meeting to estimate release date and budget Dev Team sets up their development and test environments Dev Team does initial high-level design and architecture (just enough to get started) Don’t forget – all of the above will evolve during project!
Getting Started
SPRINT BACKLOG
Blow up 10 Balloons Measure Radius of All 10 Balloons Calculate Volumes of All 10 Balloons
The “Definition of Done”���and Getting to Done
The Definition of Done D.o.D. defines what it means for a Product Backlog Item to be
“Done” (=potentially shippable) at the end of a Sprint
Product Owner and Team create D.o.D. before first Sprint Can be changed, based on Product Owner and Team decision
There may be Product Backlog Items that are outside the D.o.D. For example, “Investigate Performance Problem” – needs its own D.o.D.
Our Team’s De!nition of Done Product Backlog Item is done at end of Sprint if: • Code complete • Code reviewed • Unit Tested • Integration Tested • Acceptance Tested • System Docs and User Docs updated • No Priority 1 or Priority 2 defects remaining
DESIGN CODE TEST Feature A
Team Zebra is doing a 2-week Sprint and have committed to Product Backlog Items A, B, C, D, E
DESIGN CODE TEST Feature B
DESIGN CODE TEST Feature C
DESIGN CODE TEST Feature D
DESIGN CODE TEST Feature E
INITIAL DESIGN Features A-E
FINAL TEST AND POLISH
WORKING SPRINT PLANNING
REVIEW AND RETROSPECTIVE
Looking Inside One Sprint
SPRINT BACKLOG
Blow up 10 Balloons Measure Radius of All 10 Balloons Calculate Volumes of All 10 Balloons
Large-Scale and���Distributed Scrum
50 People (Architects, Coders, Testers, Analysts, UI Designers, Technical Writers, etc.)
Scaling Scrum
Team A Team B Team C Team D Team E
Scaling Scrum
Team A Team B Team C Team D Team E
Scaling Scrum
Cross-Functional (Designers, Coders,
Testers, etc.)
Cross-Functional (Designers, Coders,
Testers, etc.)
Cross-Functional (Designers, Coders,
Testers, etc.)
Cross-Functional (Designers, Coders,
Testers, etc.)
Cross-Functional (Designers, Coders,
Testers, etc.)
Feature Teams
Scaling Scrum
Team A Team B Team C Team D Team E
8
9
10
11
12
7
1
2
3
4
5
6
Feature A
Feature B
Feature C
Feature D
Feature E
Feature F
Feature G
Feature H
Feature I
Feature J
Feature K
Feature L
13 Feature M
Cross-Functional (Designers, Coders,
Testers, etc.)
Cross-Functional (Designers, Coders,
Testers, etc.)
Cross-Functional (Designers, Coders,
Testers, etc.)
Cross-Functional (Designers, Coders,
Testers, etc.)
Cross-Functional (Designers, Coders,
Testers, etc.)
Scaling Scrum
Team A Team B Team C Team D Team E
8
9
10
11
12
7
1
2
3
4
5
6
Feature A
Feature B
Feature C
Feature D
Feature E
Feature F
Feature G
Feature H
Feature I
Feature J
Feature K
Feature L
13 Feature M
Cross-Functional (Designers, Coders,
Testers, etc.)
Cross-Functional (Designers, Coders,
Testers, etc.)
Cross-Functional (Designers, Coders,
Testers, etc.)
Cross-Functional (Designers, Coders,
Testers, etc.)
Cross-Functional (Designers, Coders,
Testers, etc.)
Scaling Scrum
Team A Team B Team C Team D Team E Cross-Functional (Designers, Coders,
Testers, etc.)
Cross-Functional (Designers, Coders,
Testers, etc.)
Cross-Functional (Designers, Coders,
Testers, etc.)
Cross-Functional (Designers, Coders,
Testers, etc.)
Cross-Functional (Designers, Coders,
Testers, etc.)
Chief Product Owner
Product Owner Product Owner Product Owner
During the Sprint
Team A Team B Team C Team D Team E
Scrum of Scrums Daily Meeting of Team Representatives
Coordination, Dependencies Mgt, Block Surfacing
Project Growth
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 S P R I N T
Dependencies: Day-to-Day
Make direct team-to-team communication as easy as possible for everyone on the project
Use the Scrum-of-Scrums actively Make sure all teams have some slack (extra buffer) in
every Sprint, to be able to help each other
Dependencies: Backlog-Level
Backlog Item #1
Team A Team B • Identify the dependency before Sprint Commitment is made
Then, either… • Product Owner A
reduces priority of #1���or
• Product Owner B increases priority of #18���or
• Product Owner A shifts #18 to Team A Product Backlog and Team A builds it���or
• Team A uses mock object in place of #18, and replaces with actual #18 later Product Backlog Product Backlog
Backlog Item #18
Distributed Scrum Practices
Model 1: Product Owner in US, Dev Team in India
ScrumMaster should be located with Dev Team in India Start with short Sprints (2 weeks or less)
Dev Team does Daily Scrum during India business hours After Daily Scrum, ScrumMaster emails list of blocks to the
Product Owner, for assistance clearing All real-time meetings between Dev Team and Product Owner
should be visual, not just audio 1-2x per week real-time call for Product Owner and Dev Team
Product Owner travels to India for start of first Sprint
Distributed Scrum Practices Model 2: Dev Team split between multiple locations
4 team-members in India, 4 team-members in Europe To be effective, team formation must occur
Ideally, colocation for first Sprint Ongoing “ambassadorship” Multiple forms of continuous live communication If you can’t make this investment, may be better to
organize them as two different Scrum teams Daily Scrum
Live via webcam if timezones overlap, otherwise try cameraphone video recording
Scrum Artifacts (Sprint Backlog, Burndown Chart) done electronically, in a shared location
Scrum Tools
There are a range of software tools available for Scrum Teams to manage their Scrum information
Enterprise tools VersionOne, Rally, ScrumWorks, Mingle, Greenhopper for Jira
Open-source X-planner
Lightweight tools ScrumNinja and BananaScrum
Bear in mind that there are pro’s and con’s, costs as well as benefits, when using these tools
The most successful self-organization tends to occur when Dev Teams are using information radiators
SPRINT BACKLOG
Blow up 10 Balloons Measure Radius of All 10 Balloons Calculate Volumes of All 10 Balloons
Release Estimation in Scrum
Team Alpha
3
2 2 2
Sprint 1 Sprint 2 Sprint 3
12 Points of size
16 Points of size
14 Points of size
Average of 14 Points per Sprint “Velocity”
8
1 1 1 1
2 2
1 1 1
2 2
1 1
3
2
1 1 1
The Product Backlog
Priority Description Size (to build)
1 Feature A 3
2 Feature B 1
3 Feature C 3
4 Feature D 5
5 Feature E 1
6 Feature F 8
7 Feature G 3
8 Feature H 5
9 Feature I 2
10 Feature J 3
11 Feature K 1
12 Feature L 5
Team Alpha
3
2 2 2
Sprint 1 Sprint 2 Sprint 3
8
1 1 1 1
2 2
1 1 1
2 2
1 1
3
2
1 1 1
The Product Backlog
Priority Description Size (to build)
1 Feature A 3
2 Feature B 1
3 Feature C 3
4 Feature D 5
5 Feature E 1
6 Feature F 8
7 Feature G 3
8 Feature H 5
9 Feature I 2
10 Feature J 3
11 Feature K 1
12 Feature L 5
The Product Backlog
Priority Description Size (to build)
1 Feature A 3
2 Feature B 1
3 Feature C 3
4 Feature D 5
5 Feature E 1
6 Feature F 8
7 Feature G 3
8 Feature H 5
9 Feature I 2
10 Feature J 3
11 Feature K 1
12 Feature L 5
Total = 40 points
Velocity = 14 points
Time to complete = 40/14 = 3 Sprints
If cost per Sprint is $15K, total cost is: 3 x $15K = $45K
If Sprints are 2 weeks each, total time required is: 3 x 2 = 6 weeks
• Many Scrum tems use Planning Poker to estimate the size of Product Backlog Items
• “Size” = Effort + Complexity + Uncertainty • The whole team estimates together • If actual team is not yet selected, then get a typical
team to do it, and be sensible: add extra buffer to the final plan
• Everyone estimates overall size of the item (not just their part of the work)
• ScrumMaster facilitates (and joins in the estimation if they will be doing work too)
• Product Owner should be available to clarify ���requirements
Estimating Release Date and Budget
Dev Team does high-level size estimation of Product Backlog Using Planning Poker, for example
Dev Team estimates their velocity Using either past history, by doing a Sprint, or by doing a Sprint
Planning Meeting. This is a forecast, not a promise.
Product Owner uses the above data to estimate a realistic date for release
If date turns out to be too optimistic, Product Owner will have to either remove scope from the Release, or move the Release date
Product Owner decides how much buffer to add, to account for uncertainty and risk
Buffer for Uncertainty (for example: 15%) Buffer for Improvement and Rework (for example: 10%) Many Dev Teams also need a Pre-Release Sprint (to go from
Potentially Shippable to actually “shipped”)
Pre-Release Sprint
Release Date
Sprint Sprint Sprint Sprint Sprint Sprint Sprint Sprint Sprint Sprint
Final Hardening
and Release Preparation
Estimating Release Date and Budget
Dev Team does high-level size estimation of Product Backlog Using Planning Poker, for example
Dev Team estimates their velocity Using either past history, by doing a Sprint, or by doing a Sprint
Planning Meeting. This is a forecast, not a promise.
Product Owner uses the above data to estimate a realistic date for release
If date turns out to be too optimistic, Product Owner will have to either remove scope from the Release, or move the Release date
Product Owner decides how much buffer to add, to account for uncertainty and risk
Buffer for Uncertainty (for example: 15%) Buffer for Improvement and Rework (for example: 10%) Many Dev Teams also need a Pre-Release Sprint (to go from
Potentially Shippable to actually “shipped”)
Item # Product Backlog Item Initial Estimate Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9 Sprint
10 Sprint
11
1 As an Administrator or Employee, I want to go to the Home Page and type my login name and password, so that I can gain access to the Dashboard Page. 2 0 0 0 0 0
2 As an Employee, I want to submit a leave request to my manager, so I can find out whether I have permission to take one or more days of leave. 3 0 0 0 0 0
3 As an employee who has other employees reporting to me, I want to receive an email to inform me that a leave request has been filed, so that I can approve or deny it in a timely manner. 2 2 0 0 0 0
4 As an employee, I want to be able to see the unused vacation, personal, and sick leave I currently have, so that I can plan when to take leave and how much I’m entitled to. 3 3 3 0 0 0
5 As an employee, I want to be able to review my pending leave requests, so that I can see which requests have been approved, and which are pending review by my manager. 5 5 5 0 0 0
6 As an Administrator or Employee, I want to click the “Forgot Password” link on the home page, enter my email address, and have a new password generated and sent to me, so I can log into the system. 1 1 1 1 0 0
7 As an Administrator, I want to be able to modify the personal details (for example, name, or manager, or date of hire) for a particular employee, so that I can keep their information up-to-date and correct any errors. 3 3 3 3 0 0
8 As an Administrator, I want to have a backup of the system made nightly, so that in the event of a crash or other problem, the recent days’ worth of data can be restored. 8 8 8 8 0 0
9 As an Administrator, I want to create a new Administrator account for another person, so that they have the necessary permissions within the system. 3 3 3 3 0 0
10 As an Administrator, I want to set up a new Employee account for another person, so they can use the system to manage their leave requests and approvals. 3 3 3 3 3 0
11 As an Administrator, I want to be able to modify the system-wide defaults for company name, company email, and number of days of leave per year. 2 2 2 2 2 2
12 As an Administrator, I want to set up new Employee accounts for multiple other people at once by copying and pasting their information into a text field, so they can use the system to manage their leave requests / approvals.
3 3 3 3 3 3
13 As an employee, I want to be able to review my pending leave requests, and be able to cancel any that are no longer required, so that I can keep my request up-to-date and accurate. 2 2 2 2 2 2
14 As an employee, I want to be able to review my pending leave requests, and be able to modify any of the details that are no longer correct, so that I can keep my request up-to-date and accurate. 2 2 2 2 2 2
15
As an employee who has other employees reporting to me, I want to be able to see a table that lists all the employees who report to me (as well as the employees that report to them), and for each a summary of their leave requests and days of leave remaining, so I can have a high-level overview of my departmental leave metrics.
5 5 5 5 5 5
16 As an employee, I want to be able to see all my current and past leave requests (including approved, denied, and pending) since I was hired, so I can quickly get information I need regarding one particular leave request.
3 3 3 3 3 3
17 As an employee who has other employees reporting to me, I want to be able to see all the leave requests that are currently pending my approval on a single page, and be able to approve or deny them from that page, so that I can quickly and easily take care of all my pending approvals at once.
5 5 5 5 5 5
18 As an Administrator, I want to be able to select a subset of employees and export their data as either a tab-delimited text file, or as an excel spreadsheet. 13 13 13 13 13 13
19 As an Administrator or Employee, I want to click “Change Password” choice on the Dashboard Page, and be able to type in a new password. 2 2 2 2 2 2
20 As an Administrator or Employee, I want to click “Change Username” choice on the Dashboard Page, and be able to type in a new username. 3 3 3 3 3 3
21 As an employee who has other employees reporting to me, I want to receive an email reminder once a day if there are any leave requests that have been waiting for my review for more than 72 hours, so that I can approve or deny it without further delay.
5 5 5 5 5 5
22 As an employee, I want to receive an email notification when my manager approves or denies one of my requests. 2 2 2 2 2 2
Total 80 75 73 65 50 47
Release Backlog
90
80
70
60
50
40
30
20
10
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Release Burndown Chart
Sprints
End Development Release
Item # Product Backlog Item Initial Estimate Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9 Sprint
10 Sprint
11
1 As an Administrator or Employee, I want to go to the Home Page and type my login name and password, so that I can gain access to the Dashboard Page. 2 0 0 0 0 0
2 As an Employee, I want to submit a leave request to my manager, so I can find out whether I have permission to take one or more days of leave. 3 0 0 0 0 0
3 As an employee who has other employees reporting to me, I want to receive an email to inform me that a leave request has been filed, so that I can approve or deny it in a timely manner. 2 2 0 0 0 0
4 As an employee, I want to be able to see the unused vacation, personal, and sick leave I currently have, so that I can plan when to take leave and how much I’m entitled to. 3 3 3 0 0 0
5 As an employee, I want to be able to review my pending leave requests, so that I can see which requests have been approved, and which are pending review by my manager. 5 5 5 0 0 0
6 As an Administrator or Employee, I want to click the “Forgot Password” link on the home page, enter my email address, and have a new password generated and sent to me, so I can log into the system. 1 1 1 1 0 0
7 As an Administrator, I want to be able to modify the personal details (for example, name, or manager, or date of hire) for a particular employee, so that I can keep their information up-to-date and correct any errors. 3 3 3 3 0 0
8 As an Administrator, I want to have a backup of the system made nightly, so that in the event of a crash or other problem, the recent days’ worth of data can be restored. 8 8 8 8 0 0
9 As an Administrator, I want to create a new Administrator account for another person, so that they have the necessary permissions within the system. 3 3 3 3 0 0
10 As an Administrator, I want to set up a new Employee account for another person, so they can use the system to manage their leave requests and approvals. 3 3 3 3 3 0
11 As an Administrator, I want to be able to modify the system-wide defaults for company name, company email, and number of days of leave per year. 2 2 2 2 2 2
12 As an Administrator, I want to set up new Employee accounts for multiple other people at once by copying and pasting their information into a text field, so they can use the system to manage their leave requests / approvals.
3 3 3 3 3 3
13 As an employee, I want to be able to review my pending leave requests, and be able to cancel any that are no longer required, so that I can keep my request up-to-date and accurate. 2 2 2 2 2 2
14 As an employee, I want to be able to review my pending leave requests, and be able to modify any of the details that are no longer correct, so that I can keep my request up-to-date and accurate. 2 2 2 2 2 2
15
As an employee who has other employees reporting to me, I want to be able to see a table that lists all the employees who report to me (as well as the employees that report to them), and for each a summary of their leave requests and days of leave remaining, so I can have a high-level overview of my departmental leave metrics.
5 5 5 5 5 5
16 As an employee, I want to be able to see all my current and past leave requests (including approved, denied, and pending) since I was hired, so I can quickly get information I need regarding one particular leave request.
3 3 3 3 3 3
17 As an employee who has other employees reporting to me, I want to be able to see all the leave requests that are currently pending my approval on a single page, and be able to approve or deny them from that page, so that I can quickly and easily take care of all my pending approvals at once.
5 5 5 5 5 5
18 As an Administrator, I want to be able to select a subset of employees and export their data as either a tab-delimited text file, or as an excel spreadsheet. 13 13 13 13 13 13
19 As an Administrator or Employee, I want to click “Change Password” choice on the Dashboard Page, and be able to type in a new password. 2 2 2 2 2 2
20 As an Administrator or Employee, I want to click “Change Username” choice on the Dashboard Page, and be able to type in a new username. 3 3 3 3 3 3
21 As an employee who has other employees reporting to me, I want to receive an email reminder once a day if there are any leave requests that have been waiting for my review for more than 72 hours, so that I can approve or deny it without further delay.
5 5 5 5 5 5
22 As an employee, I want to receive an email notification when my manager approves or denies one of my requests. 2 2 2 2 2 2
Total 80 75 73 65 50 47
Release Backlog
90
80
70
60
50
40
30
20
10
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Release Burndown Chart
Sprints
End Development Release
90
80
70
60
50
40
30
20
10
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Release Burndown Chart
Sprints
End Development Release
2 extra Sprints will be needed to deliver the entire Release Backlog
90
80
70
60
50
40
30
20
10
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Release Burndown Chart
Sprints
End Development Release
To deliver the release on
schedule, remove 12 points from the
Release Backlog
90
80
70
60
50
40
30
20
10
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Release Burndown Chart
Sprints
End Development Release
Retrospective is a waste of time “The 5 Why’s” We never take
action on any of the issues we discuss
We never have time to make improvements in
our way of working
We’re always over-committed in every
Sprint
The Product Owner pressures us into overcommitting
in Sprint Planning
We don’t have any way of reminding
ourselves
We always forget whatever we agreed to do
The Product Owner gave an unrealistic delivery
date to the VP
The ScrumMaster isn’t protecting us!
Impact of Change
In the Current Sprint In Future Sprints
Happiness of the Product
Owner
Team’s ability to deliver its commitment
Team’s focus, commitment,
motivation
PO’s discipline to not request
changes
Time and thought the PO puts into
preparing the Product Backlog
Team’s focus, commitment,
motivation
Team’s discipline in
following the rules of Scrum
Other teams’ discipline in
following the rules of Scrum
What are the consequences if the ScrumMaster says “Yes” to the Product Owner making a “swap” during the Sprint?