ScrumMaster Training Book
Transcript of ScrumMaster Training Book
Certified ScrumMaster
Michel Goldenberg
Is Scrum an acronym?
• Acronym? – Name refers to a Rugby Scrum where adaptive team behavior moves a
ball up the field toward a common goal
2 2 Michel Goldenberg
Scrum Introduction
• Scrum is not a methodology that will make you develop better products;
• Scrum does not provide the answers to how to build quality software faster;
• Scrum is a tool, a framework, you can use to find out what you need to do to build quality software faster.
• Scrum does not require team collocation;
• However, with Scrum, you can measure the productivity of collocation.
Ken Schwaber (Scrum But)
3 Michel Goldenberg
Basic Scrum glossary
• Product owner – responsible for maximizing value of the product;
• Scrum master – coach facilitates the process and productivity;
• The Team – Multi-functional (includes testers, architect…);
• Product backlog – emerging, prioritized list of user stories;
• Sprint – a thirty day iteration resulting in functionality;
• Sprint backlog – list of tasks to be completed to turn the backlog into working functionality during the sprint;
• Sprint planning and Sprint Review Meeting;
• Increment – a piece of potentially shippable product built during every sprint;
• Daily scrum – standup status meeting.
4 Michel Goldenberg
Scrum is like the Mother-In-Law
The person who knew that her son/daughter could have married better, and who intends to help you be good enough. You have just invited her to come live with you.
5 Michel Goldenberg
Certification Levels • The Scrum Alliance certification program bridges the gap between theory and practice.
• The journey to mastery begins with a Certified ScrumMaster or Certified Scrum Product Owner course. These courses provide a solid foundation to help you make the paradigm shift to managing a project using Scrum.
As shown in the flow chart, a CSM or CSPO course is essential for moving toward the more advanced certifications of Certified Scrum Practitioner, Certified Scrum Coach, and Certified Scrum Trainer®.
6 Michel Goldenberg
What is Scrum?
• Scrum is an agile framework that allows us to focus on delivering the highest business value in the shortest time;
• It allows us to rapidly and repeatedly inspect actual working software every two to four weeks (Sprints);
• The business sets the priorities. Teams self-organize to determine the best way to deliver the highest priority features.
• In every sprint, anyone can see real working software and decide to release it as is or continue to enhance it for another sprint.
7 Michel Goldenberg
Scrum
• Empirical process for managing the development and deployment of complex products;
• Empiricism is dependent on frequent inspection and adaptation to reach goal;
• Inspection is dependent on transparency;
• Scrum rests on the four legs of iterative development that generates done increments of functionality using self-managing teams that are cross-functional.
Ken Schwaber
8 Michel Goldenberg
Scrum is a tool that you can use to:
• Increase productivity;
• Increase predictability;
• Increase risk management capabilities;
• Increase the value of products and systems;
• Increase quality;
• Improving the morale and pleasure of the developers, product managers, customers and stakeholders.
9 Michel Goldenberg
Agile Methods
• Scrum – Ken Schwaber, Jeff Sutherland
• Extreme Programming (XP) – Kent Beck, Ward Cunningham, Ron Jeffries
• Crystal – Alistair Cockburn
• Lean Software Development – Mary Poppendieck
• Dynamic System Development Method (DSDM) – Dane Faulkner
• Adaptive Software Development (ASD) – Jim Highsmith
• Feature Driven Development (FDD) – Jeff DeLuca
• Others?
10 Michel Goldenberg
Agile Manifesto
Manifesto for Agile Software Development
We are uncovering better ways of developing software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools Working software over comprehensive documentation
Customer collaboration over contract negotiation Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
11 Michel Goldenberg
Agile Manifesto Principles (1)
• Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
• Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
• Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
• Business people and developers must work together daily throughout the project.
• Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
• The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
12 Michel Goldenberg
Agile Manifesto Principles (2)
• Working software is the primary measure of progress. • Agile processes promote sustainable development. The
sponsors, developers, and users should be able to maintain a constant pace indefinitely.
• Continuous attention to technical excellence and good design enhances agility.
• Simplicity--the art of maximizing the amount of work not done--is essential.
• The best architectures, requirements, and designs emerge from self-organizing teams.
• At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
13 Michel Goldenberg
• Avoid to use the word "you" because the other person may feel on the spot and defensive;
• Avoid to refer to history (e.g., "three months ago, you said...!");
• Be on time for meetings; if you are late, apologize and pay a late "penalty ";
• Use a talking stick; • Everyone's opinion is important and needs to be
understood and taken into account; • Remember: Feelings are Facts; • Know and appreciate other personality type preferences; • Etc…
Agile rules of etiquette (examples)
14 Michel Goldenberg
Scrum origins
• Jeff Sutherland:
Initial scrums at Easel Corp in 1993;
IDX and 500+ people doing Scrum.
• Ken Schwaber:
ADM;
Scrum presented at OOPSLA 96 with Sutherland;
Author of three books on Scrum.
• Mike Beedle:
Scrum patterns in PLOPD4.
• Ken Schwaber and Mike Cohn:
Co-founded Scrum Alliance in 2002,initially within the Agile Alliance.
15 Michel Goldenberg
Scrum Characteristics
• Self-organizing teams;
• Product progresses in a series of month-long “sprints”;
• Requirements are captured as items in a list of “product backlog”;
• No specific engineering practices prescribed;
• Uses generative rules to create an agile environment for delivering projects;
• One of the “agile processes”.
Mike Cohn
16 Michel Goldenberg
Project noise level
Simple
Complex
Anarchy
Technology
Req
uir
emen
ts
Far from Agreement
Close to Agreement
Clo
se t
o
Cer
tain
ty
Far
fro
m
Cer
tain
ty
Source: Strategic Management and Organizational Dynamics by Ralph Stacey in Agile Software Development with Scrum by Ken Schwaber and Mike Beedle.
17 Michel Goldenberg
Traditional Waterfall
Analysis Design Develop Test Deploy
18 Michel Goldenberg
Agile Value Profile
Time
Waterfall
Sto
ries
Rem
ain
ing
Sp
rin
t 1
Sp
rin
t 3
Sp
rin
t 2
Sp
rin
t 4
Sp
rin
t 6
Rel
ease
1
7
8
9
Rel
ease
2
11
12
13
14
R4
Scrum
Delivers value only at the end
Delivers value at every release
Delivers value at every release
Delivers value at every release
Delivers value at every release
Analysis Design Develop Test Deploy
19 Michel Goldenberg
Defined Process Control
• The defined process control model requires that every piece of work be completely understood.
• Given a well-defined set of inputs, the same outputs are generated every time.
• A defined process can be started and allowed to run until completion, with the same results every time
20 Michel Goldenberg
Empirical Process Control
• Complex problems are those that behave unpredictably • Not only are these problems unpredictable, but even the
ways in which they will prove unpredictable are impossible to predict
• When defined process control cannot be achieved because of the complexity of the intermediate activities, something called empirical process control has to be employed
• For many years software development methodologies have been based on the defined control model. But software development isn’t a process that generates the same output every time given a certain input.
21 Michel Goldenberg
Empirical and Defined Process
• Defined process assumes
– Consistent input and consistent process steps yield a definable output
• Empirical process assumes
– Assumes inputs and process steps will vary each time yielding an unpredictable outcome
Process Inputs Output
Inputs Process Output Inspect and Adapt
Do we ever have the same inputs?
Is every task ever completely
understood?
Can we expect predictable
output?
Adapted from the Oobeya Group, LLC 2008
22 Michel Goldenberg
From Plan Driven to Value-Driven Development
Estimate These
Fix These
PLAN
DRIVEN
VALUE/VISION
DRIVEN
Waterfall Agile
The Plan creates cost/
schedule estimates
The Vision creates feature
estimates
Features Cost Schedule
Cost Schedule Features
23 Michel Goldenberg
Scrum Elevator Pitch
• Scrum: A team-based framework to develop complex systems and products.
– Scrum is an iterative, incremental framework for developing any product or managing any work. It allows teams to deliver a potentially shippable set of functionality every iteration, providing the agility needed to respond to rapidly changing requirements.
– The Scrum framework constantly challenges its users to focus on improvement, and its Sprints provide the stability to address the ever-changing needs that occur in any project.
24 Michel Goldenberg
Scrum Framework
25 Michel Goldenberg
Why Scrum?
• Improve ROI(Return Of Investment):
– Traditional methods take too long to satisfy business needs;
– Earlier delivery yields earlier ROI.
• Flexibility:
– Respond to changing business requirements;
– Respond to changing technical landscape.
• Product Quality:
– Deliver the right product (the first time);
– Deliver fewer defects (test early; test often).
• Visibility:
– Measure of progress = completed product;
• Rapid Feedback:
– Get frequent feedback from customer, stakeholders, team members.
26 Michel Goldenberg
Team Focused
• Three roles: Product Owner, ScrumMaster, Team Member; – This means taking on a broader set of tasks than in a role-based
organization.
• Each individual brings skills and experience to the team;
• The teams self-organize to determine how to best apply the people on the team to achieve the goals of the project;
• Low ceremony, simple set of rules;
• High discipline needed because of time boxes.
27 Michel Goldenberg
Time Box Everything
• Daily scrum in minutes;
• Tasks in hours;
• Time between daily meeting is just one day;
• Sprint length are one to four weeks.
28 Michel Goldenberg
3 Roles
Product Owner
ScrumMaster
Team
29 Michel Goldenberg
The Product Owner
“The single wringable neck” – Ken Schwaber
30 Michel Goldenberg
The Product Owner
• Responsible for representing the interests of everyone with a stake in the project and its resulting product
• Achieves initial and ongoing funding for the project by creating:
– Initial overall requirements
– Return on investment objectives
– Release plans – dates and content
• Responsible for using the Product Backlog to ensure that the most valuable functionality is produced first and built upon
– This is achieved by frequently prioritizing the Product Backlog to queue up the most valuable requirements for the next sprint
31 Michel Goldenberg
The Product Owner
• The Product Owner represents the customer’s vision of the product
– Often IS the customer
– OWNS the Product Backlog
• Should provide “one” voice to the team
• Participates in test planning
• Defines overall product goals and vision
• Maintains enough detail in the Product Backlog to support the next level of planning
• Accepts or rejects work results
32 Michel Goldenberg
The Product Owner
• Define the features of the product;
• Decide on release date and content;
• Be responsible for the profitability of the product (ROI);
• Prioritize features according to Business value;
• Adjust features and priority every iteration, as needed;
• Accept or reject work results.
33 Michel Goldenberg
The ScrumMaster
“The sheepdog for the team” – Ken Schwaber
34 Michel Goldenberg
ScrumMaster
• Responsible for knowing the Scrum “readiness” of the team and the organization
• Ensures that the Scrum process is followed
–Educates the team and Product Owner
–Educate others outside the team about how the team is working
• Ensures that the team is fully functional and productive
• Enables close cooperation across all roles and functions
• Shields the team from external interferences
• Removes impediments
• Servant Leader
35 Michel Goldenberg
ScrumMaster Skills
• Leading – Learn to lead (it does not always come naturally)
• Facilitating – Enhancing communications – always, everywhere
• Meetings, one-on-one, in the team, between teams, across the organization, management/executive
– Get a facilitation toolkit
– Read, practice, improve
• Fostering self-directed/organizing teams by: – Asking questions
– Listening
– Observing
36 Michel Goldenberg
Servant Leader
• What is a servant leader?
• Unlike leadership approaches with a top-down hierarchical style, Servant Leadership instead emphasizes
– Collaboration
– Trust
– Empathy
– and the ethical use of power
• At heart, the individual is a servant first, making the conscious decision to lead in order to better serve others, not to increase their own power.
• The objective is to enhance the growth of individuals in the organization and increase teamwork and personal involvement.
37 Michel Goldenberg
Servant Leadership
• Characteristics of Servant-Leaders, Traits (Greenleaf, R.K. 2003)
– Listening
– Empathy
– Healing
– Awareness
– Persuasion
– Conceptualization
– Foresight
– Stewardship
– Commitment to the growth of people
– Building community
38 Michel Goldenberg
Servant-leadership Discussion
• Discussion
– Form into groups
– Discuss how servant-leadership differs from traditional leadership styles
– What benefits do you see?
– What challenges do you see?
– Report back to the class
39 Michel Goldenberg
The ScrumMaster
• Represents management to the project;
• Responsible for enacting Scrum values and practices;
• Removes impediments;
• Ensure that the team is fully functional and productive;
• Enable close cooperation across all roles and functions;
• Shield the team from external interferences;
40 Michel Goldenberg
The Team
41 Michel Goldenberg
Development Team
• Cross-functional;
• 5 to 9 members;
• Commits to deliver the Sprint Backlog;
• Selects the sprint goal and specifies work results;
• Organizes itself and its work;
• Self organizing and self-managed;
• Demos work results to the Product Owner.
42 Michel Goldenberg
Self-Directed Teams
• A self-directed team differs from a traditional work group by taking full advantage of all team members’ talents, skills, abilities, ideas, and experiences
Succeeding As A Self-Managed Team – Chang and Curtin
43 Michel Goldenberg
Self-Directed Teams
• In traditional work groups, members often do not have the opportunity to express their ideas because management usually makes the decisions
– Even if members know a better way to get the job done!
• Although traditional work groups can be highly effective with the right dynamics, in reality there are often limitations
– It doesn’t make full use of each group member’s talent, experience, knowledge, common sense, and
– It DOESN’T encourage teamwork!
• This can be wasteful and ineffective
– It wastes the brainpower, experience, abilities, and practical knowledge of those who actually produce and deliver the organization’s products and services
Succeeding As A Self-Managed Team – Chang and Curtin
44 Michel Goldenberg
Self-Directed Teams
• Self-directed teams are quite different from traditional work groups
• Employees need to learn new skills (or use existing skills differently) to succeed as members of a self-managed team
• These skills involve performing multiple work assignments
• They also involve new ways of interacting with each other and with people outside the team
Succeeding As A Self-Managed Team – Chang and Curtin
45 Michel Goldenberg
Self-Directed Teams
• Skills that contribute to the success of self-managed teams:
– Leadership;
– Communication;
– Process improvement;
– Team dynamics;
– Project management;
– Conflict management;
– Consensus decision making;
– Peer coaching and feedback;
– Group problem solving;
– Interpersonal.
46 Michel Goldenberg
Self-Directed Teams
• Team members must also have certain individual abilities
– However, these abilities are not job skills because they are often subjective and emotional in nature
– They are personal decisions and choices. They include a WILLINGNESS to:
• Accept change
• Try new things
• Take on more responsibilities
• Be held accountable for results
• Take action, instead of waiting to be told what to do
• Act in the best interests of the team rather than oneself
• Work responsibility without the need for supervision
• Help other team members succeed
• Take risks
• Be open-minded
Succeeding As A Self-Managed Team – Chang and Curtin
47 Michel Goldenberg
The team
• Typically 5-9 people;
• Cross-functional: – Programmers, testers, user experience designers, etc.
• Members should be full-time; – May be exceptions (e.g., database administrator).
• Teams are self-organizing; – Ideally, no titles but rarely a possibility.
• Membership should change only between sprints.
48 Michel Goldenberg
Pigs and Chickens
• Pigs and Chickens – Ken Schwaber
– Pigs are fully committed (Delivery Team, Product Owner, ScrumMaster)
– Chickens can make contributions
– Only the fully committed can speak in the daily scrum
– Contributors only get to observe the daily scrum
– They are active contributors in Planning and Review meetings
49 Michel Goldenberg
Release Planning
Sprint Planning
Sprint Review
1-4 weeks Sprint
Sprint Retrospective
Scrum Framework
Vision
Preparation for Action
50 Michel Goldenberg
Vision
51 Michel Goldenberg
Release Planning
Sprint Planning
Sprint Review
1-4 weeks Sprint
Sprint Retrospective
Scrum Framework
Vision
Preparation for Action
52 Michel Goldenberg
Preparation for Action
• Product Owner, ScrumMaster and the Team work together to:
– Define the product vision and product roadmap;
– Identify the user roles;
– Derive the product themes;
– Define the user stories;
– Estimate the user stories.
– Others …
53 Michel Goldenberg
Others…
• Indentify:
– the risks;
– Issues;
– Dependencies;
– Integration areas;
• The Team:
– Set up and validate environments;
– Identify initial definition of done;
– Identify Initial system and architecture requirements.
• Etc…
54 Michel Goldenberg
Product Vision and Product Roadmap
• Product Vision – Ken Schwaber
– What can those funding the project expect to have changed when the project is finished?
– What progress will have been made by the end of each Sprint?
– Why should these people fund us, and why should they believe that we can deliver the predicted benefits?
• Product Roadmap
– A high-level representation of what features or themes are to be delivered in each release, the customer targeted, the architecture needed to support the features, and the business value the release is expected to meet • “The Software Project Manager’s Bridge to Agility” - Sliger and Broderick
55 Michel Goldenberg
As a Team Member, I want to work in a
great team
As a Product Owner, I want to the best ROI.
As a Team Member, I want to work in a
great team
As a Product Owner, I want to the best ROI.
As a CSM, I want to have a senior Team.
As a Team Member, I want to work in a
great team
The Product Backlog
As a CSM, I want to have a senior Team.
As a Team Member, I want to work in a
great team As a Product Owner, I want to the best ROI.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a CSM, I want to have a senior Team.
As a Team Member, I want to work in a
great team
As a Product Owner, I want to the best ROI.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a CSM, I want to have a senior Team.
As a Product Owner, I want to the best ROI.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
As a CSM, I want to have a senior Team.
As a Product Owner, I want to the best ROI.
As a CSM, I want to have a senior Team.
As a Product Owner, I want to the best ROI.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
As a Product Owner, I want to the best ROI.
As a CSM, I want to have a senior Team.
As a Product Owner, I want to the best ROI.
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
56 Michel Goldenberg
Product Backlog
• A prioritized list of functional and
nonfunctional requirements and features to be
developed with items of most business value
and/or risk listed first.
• The product backlog items of highest priority
are granular enough to be readily understood
by the Scrum Team and developed into an
increment within a sprint.
• Lower priority product backlog items are
progressively less well-understood and
granular.
• This list transcends any one release and is
constantly emerging and changing.
As a Product Owner, I want to the best ROI.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
As a Product Owner, I want to the best ROI.
As a Team Member, I want to work in a
great team
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Team Member, I want to work in a
great team
As a Product Owner, I want to the best ROI.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Team Member, I want to work in a
great team
As a Team Member, I want to work in a
great team
57 Michel Goldenberg
Product Backlog
• Product backlog items (PBI) or Stories are further into the future can be larger;
• Each PBI should be described in just enough detail that the team can complete it in one sprint:
– May attach things like: • User interface designs
• Mathematical algorithms
• Tests
– Strive to describe items as briefly as possible
Ken Schwaber and Mike Cohn
58 Michel Goldenberg
Product Backlog Iceberg
Prio
rity
Sized for a
Sprint
Release
Future
Releases
Epic
Theme
•A theme is a collection of related backlog items •An Epic is a large backlog item
Co
ntin
uo
us R
efinem
ent
User Stories
59 Michel Goldenberg
Sample Product Backlog
User Story Priority Estimate
As a new player, I can create an account H 8
As an existing player, I can log in to play a game H 5
As a player, I can reset my password M 3
As an administrator, I can view account records M 3
As a player, I can choose from a list of all games in
order to choose which I want to play
M 2
As a player, I can deposit my winnings in the system
bank in order to use them later
H 5
As a player, I can transfer my winnings to my real
bank account
H 13
60 Michel Goldenberg
User Stories • User Stories:
– As a <actor>, I would like to <action>, so that <value>.
• Attributes:
– Size (points, ideal days), Business Value ($, H/M/L), Functional area, etc.;
– Conditions of Satisfaction.
• Use a simple declarative statement of function that follows the INVEST model:
– Independent;
– Negotiable;
– Valuable to users or customers;
– Estimatable;
– Small;
– Testable.
As a Team Member, I want to work in a
great team
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
61 Michel Goldenberg
Where Do User Stories Come From?
• Any existing description of requirements;
• Existing Use Cases;
• Business architecture
• Brainstorming by Product Owner, Team and any other stakeholders;
• Decomposition of large features:
– Along data boundaries;
– Along activity boundaries;
– Make it work first, optimize it later.
62 Michel Goldenberg
User Story Workshop
• Common approach to brainstorming;
• Team members write ideas on cards or sticky-notes:
– Use a board or table, read aloud to avoid duplication;
– Consider different user role viewpoints.
• Group by common themes;
• Watch for duplication across user roles:
– e. g. all users need a log-in screen.
63 Michel Goldenberg
User Roles
• Who will use this product?
• First step toward user stories;
• Brainstorming workshop, PO and Team:
– Generic user;
– Specialty users;
– Administrators;
– New Users;
– Read-only users.
64 Michel Goldenberg
System and Programmer Users
As a payment verification system, I
want all transactions to be well-formed XML.
As a programmer, I want an API for
deleting widgets from the database.
65 Michel Goldenberg
User Stories in the Backlog - CCC
Card
Conversation
Confirmation
• Written on 3x5 index cards • May be annotated with estimates, notes, etc…
• A reminder to have a conversation • Represent requirements not document them • Details come out during conversation
Ron Jeffries – www.xprogramming.com
• Acceptance tests to confirm story was coded correctly
• Documents the details of the conversation
66 Michel Goldenberg
User Story Template
As a <user role>,
I want to <functionality> so that <value>. Optional
67 Michel Goldenberg
Sample User Stories
As a user, I want to reserve a seat in a Texas
Hold’em Tournament.
As a user, I want to deposit real money into
my account.
As an addicted gambler, I want links to self-help sites so that I can get control of my habit.
As a High Roller, I want poker tables with $10K
max bets.
68 Michel Goldenberg
Details as Conditions of Satisfaction
As a user, I want to reserve a seat in a Texas
Hold’em Tournament.
(back) Verify a the same user cannot reserve
more than one seat at the same tourney Verify the user can cancel their reservation
up to the start of the tourney Verify the user receives an email
confirmation etc…
69 Michel Goldenberg
Details added by splitting stories
As a user, I want to reserve a seat in a Texas
Hold’em Tournament.
As a user, I want an email confirmation of
my Texas Hold’em Tournament reservation.
As a user, I can reserve a seat in a Texas Hold’em
Tournament up until the last second prior to its beginning.
70 Michel Goldenberg
As a Team Member, I want to work in a
great team
As a Product Owner, I want to the best ROI.
As a Team Member, I want to work in a
great team
As a Product Owner, I want to the best ROI.
As a CSM, I want to have a senior Team.
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
As a Team Member, I want to work in a
great team
As a Product Owner, I want to the best ROI.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a CSM, I want to have a senior Team.
As a Team Member, I want to work in a
great team
As a Product Owner, I want to the best ROI.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a CSM, I want to have a senior Team.
As a Product Owner, I want to the best ROI.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
As a CSM, I want to have a senior Team.
As a Product Owner, I want to the best ROI.
As a CSM, I want to have a senior Team.
As a Product Owner, I want to the best ROI.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
As a Product Owner, I want to the best ROI.
As a CSM, I want to have a senior Team.
As a Product Owner, I want to the best ROI.
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
The Business Value
71 Michel Goldenberg
Getting the ROI
Complexity
Bu
sin
ess
Val
ue
As a Team Member, I want to work in a
great team As a Product Owner, I want to the best ROI.
As a Team Member, I want to work in a
great team As a CSM, I want to have a senior Team.
As a Product Owner, I want to the best ROI.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Product Owner, I want to the best ROI.
As a CSM, I want to have a senior Team.
As a CSM, I want to have a senior Team.
As a Product Owner, I want to the best ROI.
As a Team Member, I want to work in a
great team
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Product Owner, I want to the best ROI.
As a CSM, I want to have a senior Team.
As a Product Owner, I want to the best ROI.
As a CSM, I want to have a senior Team.
As a Product Owner, I want to the best ROI.
72 Michel Goldenberg
As a Product Owner, I want to the best ROI.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Product Owner, I want to the best ROI.
As a Team Member, I want to work in a
great team
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a CSM, I want to have a senior Team.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Product Owner, I want to the best ROI.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
As a CSM, I want to have a senior Team.
73
As a Product Owner, I want to the best ROI.
As a Team Member, I want to work in a
great team
As a Product Owner, I want to the best ROI.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Product Owner, I want to the best ROI.
As a Team Member, I want to work in a
great team
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a CSM, I want to have a senior Team.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Product Owner, I want to the best ROI.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
As a CSM, I want to have a senior Team.
As a Product Owner, I want to the best ROI.
As a Team Member, I want to work in a
great team High ROI
Low ROI
Should be Done
Nice To have
To Avoid
73 Michel Goldenberg
Release Planning
Sprint Planning
Sprint Review
1-4 weeks Sprint
Sprint Retrospective
Scrum Framework
Vision
Preparation for Action
74 Michel Goldenberg
• Release planning is the process of creating a high-level plan that determines how much must be developed and how many Sprints it will take before there is a releasable product.
– The release plan includes:
– A goal for the release
– A prioritized set of stories/features/product backlog items that will be developed in the release
– A relative estimate for each story in the release
– The sprints that make up the release
– A date for the release
– (Can be an internal or external release)
• Simply a line in the product backlog that indicates something will be released
Michel Goldenberg
Release Planning
75
As a Product Owner, I want to the best ROI.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Product Owner, I want to the best ROI.
As a Team Member, I want to work in a
great team
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a CSM, I want to have a senior Team.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Product Owner, I want to the best ROI.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
As a CSM, I want to have a senior Team.
As a Product Owner, I want to the best ROI.
As a Team Member, I want to work in a
great team
As a Product Owner, I want to the best ROI.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Product Owner, I want to the best ROI.
As a Team Member, I want to work in a
great team
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a CSM, I want to have a senior Team.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Product Owner, I want to the best ROI.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
As a CSM, I want to have a senior Team.
As a Product Owner, I want to the best ROI.
As a Team Member, I want to work in a
great team
Release Planning Meeting
Sprint 1
Release Plan
Sprint 3 to N
As a CSM, I want to have a senior Team.
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
As a CSM, I want to have a senior Team.
As a Product Owner, I want to the best ROI.
As a Team Member, I want to work in a
great team
Sprint 2
As a Team Member, I want to work in a
great team
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a CSM, I want to have a senior Team.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Product Owner, I want to the best ROI.
As a Product Owner, I want to the best ROI.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a Product Owner, I want to the best ROI.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a CSM, I want to have a senior Team.
As a Team Member, I want to work in a
great team
As a Product Owner, I want to the best ROI.
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
76 Michel Goldenberg
Estimation
• Estimate Size; Derive Duration
– Story Points
• Unit of measure for expressing the overall size of a user story, feature, or other piece of work
• Relative values
– Ideal Team Days
• Differs from elapsed time
– Velocity
• Measure of a team’s rate of progress
77 Michel Goldenberg
Story Points
• The Size of a user story or backlog item;
• Influenced by: – How hard it is;
– How much of it there is.
• Relative values: – A login screen is a 2;
– A payment feature is an 8;
– A “2” takes twice as long as a “1”.
• Points are unit-less: – Sequence of numbers
• Fibonacci sequence (0,1,2,3,5,8,13, 21….).
– Tee shirt sizes;
78 Michel Goldenberg
Ideal Time
• How long something would take if: – it’s all you worked on;
– you had no interruptions;
– and everything you need is available.
• The ideal time of a football game is 60 minutes: – Four 15-minute quarters.
• The elapsed time is much longer (3+ hours).
79 Michel Goldenberg
Comparing the approaches
• Story points help drive cross-functional behavior
• Story point estimates do not decay
• Story points are a pure measure of size
• Estimating in story points is typically faster
• My ideal days cannot be added to your ideal days
• Ideal days are easier to explain outside the team
• Ideal days are easier to estimate at first
80 Michel Goldenberg
81 Michel Goldenberg
Planning Poker
3 pts
2 pts
1 pt
Validating the estimation
After the Planning poker, we need to look back to all the Stories
that we estimated
Triangulation is the best way to know if
we did a good planning poker or not
As a Team Member, I want to work in a
great team
As a Team Member, I want to work in a
great team
As a CSM, I want to have a senior Team.
As a Team Member, I want to work in a
great team
As a Product Owner, I want to the best ROI.
As a Product Backlog, I want to change all
the time that is need, to be able to become
a great product.
As a CSM, I want to have a senior Team.
As a CSM, I want to have a senior Team.
As a Team Member, I want to work in a
great team
82 Michel Goldenberg
Velocity
• To do a release plan, you need to know or have an estimate of velocity;
• Three ways to get velocity:
– Use historical averages;
– Run 1-2 iterations and see what you get;
– Forecast it.
• Should be expressed as a range:
– Size of range depends on familiarity of team, domain, and technologies.
83 Michel Goldenberg
Definition of Done
Example Definition of Done
• Code produced (all 'to do' items in code completed)
• Code commented, checked in and run against current version in source control
• Peer reviewed (or produced with pair programming) and meeting development standards
• Builds without errors
• Unit tests written and passing
• Deployed to system test environment and passed system tests
• Passed UAT (User Acceptance Testing) and signed off as meeting requirements
• Any build/deployment/configuration changes implemented/documented/communicated
• Relevant documentation/diagrams produced and/or updated
• Remaining hours for task set to zero and task closed
http://www.agile-software-development.com/2007/07/definition-of-done-10-point-checklist.html
• Does your team know their definition of done?
• Discuss what done means to your organization and report back to the class
• Why is it so important?
84 Michel Goldenberg
Estimate Size – Derive Duration
Size
Velocity = 20
Calculation Duration
300 Story Points
300/20 = 15 Sprints
85 Michel Goldenberg
Using Velocity and Estimates
2 1 2 3 3 5 8 5 5 5 13 13 8 13 5 8 13 21 13
21 21 13 21 100
At our slowest velocity we’ll finish
here
At our current velocity we’ll finish
here
At our long-term average we’ll finish
here
Highest Priority
Lowest Priority
86 Michel Goldenberg
Variation in Backlog Decomposition
1 2 3 4 5 6 7
Release 1 Release 2
Short term plan needs more detail
Longer term plan can tolerate more uncertainty
87 Michel Goldenberg
Release Planning
Sprint Planning
Sprint Review
1-4 weeks Sprint
Sprint Retrospective
Scrum Framework
Vision
Preparation for Action
88 Michel Goldenberg
Sprint Planning meeting
Team Capacity
Product Backlog
Current Product
Velocity
Business Condition
Analyze and evaluate product backlog
Select sprint goal
Sprint Priorization
Decide how to achieve sprint goal (design)
Create sprint backlog (tasks) from product backlog items (user stories / features)
Estimate sprint backlog in hours
Sprint Planning
Sprint Goal
Sprint Backlog
Mike Cohn 89 Michel Goldenberg
Sprint Planning
• Team selects items from the product backlog based in the team capacity;
• Sprint backlog is created: – The Stories are decomposed on Tasks;
– Each Task is estimated (1-16 hours);
– Collaboratively, not done by the ScrumMaster.
• The Team discus the high-level design.
Code the middle tier (8 hours) Code the user interface (4)
Write test fixtures (4) Code the foo class (6)
Update performance tests (4)
As a vacation planner, I want to see photos of the
hotels.
90 Michel Goldenberg
Sprint Goal
• Defined in the sprint planning meeting
• A short statement of what the work will be focused on during the sprint
• Example:
– Demonstrate new customer address validation to improve customer information accuracy
91 Michel Goldenberg
Sprint Backlog
• A detailed list of all tasks needed in order to deliver the features chosen
from the product backlog for the current Sprint.
• It includes who owns the task, its status and estimated time to completion.
• Individuals sign up for work
– Work is never assigned
• Estimated work remaining is updated daily
– Estimated in hours
• Work for the Sprint can emerge
92 Michel Goldenberg
A sprint backlog
Tasks
Code the user interface
Code the middle tier
Test the middle tier
Write online help
Write the foo class
Mon
8
16
8
12
8
Tues
4
12
16
8
Wed Thur
4
11
8
4
Fri
8
8
Add error logging
8
10
16
8
8
Mike Cohn
93 Michel Goldenberg
Sprint Planning Review
• Identify anything that might impact the Sprint
– Vacations, holidays, capacity of team members, etc
• Select a Sprint goal
• Working the Product Owner, select the highest priority items that support the Sprint goal
• Discuss the items with the Product Owner for understanding and break the items down into tasks
– Design considerations, acceptance criteria, etc
• Estimate each task (typically 1 to 16 hours depending on Sprint length)
• Continue until the team feels it can not commit to any more work in the Sprint
– Make sure everyone understands the definition of done
94 Michel Goldenberg
Release Planning
Sprint Planning
Sprint Review
1-4 weeks Sprint
Sprint Retrospective
Scrum Framework
Vision
Preparation for Action
95 Michel Goldenberg
Sprints
• 1 to 4 week consecutive time period (once the length is selected, it should not vary) where the team builds the features they committed to during Sprint Planning.
• The Sprint includes all activities needed to produce a potentially shippable product increment.
– Analysis
– Design
– Code
– Test
– And so on
• No changes allowed during the Sprint
• Do not miss the end of the Sprint
– The end of the Sprint if fixed
96 Michel Goldenberg
Sprint Burndown Chart
• Primary method of tracking progress
• Shows how much work is remaining in the Sprint each day
• Can be used at the Product and Release level
• Updated daily by the team members
– Amount of work remaining
97 Michel Goldenberg
Ho
urs
40
30
20
10
0 Mon Tue Wed Thu Fri
Tasks Code the user interface
Code the middle tier
Test the middle tier
Write online help
Mon 8
16
8
12
Tues Wed Thu Fri 4
12
16
7
11
8
10
16 8
50
Mike Cohn
98 Michel Goldenberg
Task Board
99 Michel Goldenberg
Abnormal Termination
• A tool to be used rarely
• Extreme circumstances
– Interruptions are preventing the team from meeting it’s goal
– Business priorities change
– Visibility into organizational impediments
• A new Sprint Planning meeting to be conducted
100 Michel Goldenberg
Potential shippable product
101 Michel Goldenberg
Release Planning
Sprint Planning
Sprint Review
1-4 weeks Sprint
Sprint Retrospective
Scrum Framework
Vision
Preparation for Action
102 Michel Goldenberg
The daily scrum
• Parameters
– Daily
– 15-minutes
– Stand-up
• Not for problem solving
– Whole world is invited
– Only team members, ScrumMaster, product owner, can talk
• Helps avoid other unnecessary meetings
103 Michel Goldenberg
Everyone answers 3 questions
What did you do yesterday?
What will you do today?
Is anything in your way?
104 Michel Goldenberg
Daily Scrum – Good Habits
• Have the meeting at the same time every day – determined by the team;
• Stand up;
• Always start on time;
• NO PROBLEM SOLVING: – Capture items in a parking lot to address after the standup. Invite all
that are interested or will be key participants.
• Everyone is responsible for keeping to the agenda and time-box: – Up to the team to point out problem solving and distractions.
• Address one another, NOT the ScrumMaster – this meeting is for YOUR benefit.
105 Michel Goldenberg
Release Planning
Sprint Planning
Sprint Review
1-4 weeks Sprint
Sprint Retrospective
Scrum Framework
Vision
Preparation for Action
106 Michel Goldenberg
The sprint review
• Team presents what it accomplished during the sprint
• Typically takes the form of a demo of new features or underlying architecture
• Informal
– 2-hour prep time rule
– No slides
• Whole team participates
• Invite the world
107 Michel Goldenberg
Release Planning
Sprint Planning
Sprint Review
1-4 weeks Sprint
Sprint Retrospective
Scrum Framework
Vision
Preparation for Action
108 Michel Goldenberg
Sprint retrospective
• Periodically take a look at what is and is not working
• Typically 15–30 minutes
• Done after every sprint
• Whole team participates – ScrumMaster
– Product owner
– Team
– Possibly customers and others
109 Michel Goldenberg
Start / Stop / Continue
• Whole team gathers and discusses what they’d like to:
Start doing
Stop doing
Continue doing
110 Michel Goldenberg
Separate Reviews
• Customer focus groups:
– Review product, not documents;
– Focus on discovering and recording desired changes, not on gathering detailed requirements (for new features).
• Technical reviews:
– Reflect on overall quality and make recommendations for re-factoring, additional testing, more frequent integration, tools, etc.;
– Invite only reviewers who are really competent for the material.
111 Michel Goldenberg
Internal Team Reflection
• What went well? Keepers; • What did not go as well? To change; • Temperature reading over time; • Quick team (and self) performance assessments:
– Delivery of product, Behavior of (on) team; – Below, At, Above standard; – Did we/I do the best job we/I could? – How well did we deliver according to our responsibilities? – How well is the organization supporting us?
• Recommendations for self/team/organization: – For the organization “just 1” for higher impact
112 Michel Goldenberg
The Deming Cycle
• The PDCA (Deming) Cycle – PLAN
• Establish the objectives and processes necessary to deliver results in accordance with the expected output. By making the expected output the focus, it differs from what would be otherwise in that the completeness and accuracy of the specification is also part of the improvement.
– DO • Implement the new processes.
– CHECK • Measure the new processes and compare the results against the expected results
to ascertain any differences.
– ACT • Analyze the differences to determine their cause. Each will be part of either one or
more of the P-D-C-A steps. Determine where to apply changes that will include improvement. When a pass through these four steps does not result in the need to improve, refine the scope to which PDCA is applied until there is a plan that involves improvement.
113 Michel Goldenberg
Let’s Try It!
114 114 Michel Goldenberg
Doggy Daycare Brochure Backlog
• Create cover art, brand, and/or logo
• Define major care sections
• Define “Ultra Doggy Spa” service
• Contact Information
• Set pricing structure for services
• Provide satisfied customer testimonials
• Outline boarding options
• Define all service offerings
• Suggest daypack contents to accompany clients
• Outline full week lunch menu
• Complete a guarantee policy
• Outline minimum requirements (shots, temper, breeding, etc.)
• Complete bios on staff members (backgrounds, training, interests)
• Define discounted partner pet services
115 Michel Goldenberg
Martian Tourists Visiting Earth Brochure Backlog
• Create cover art, brand, and/or logo
• Define major topics for Martian tourism
• Describe “Art Interests in Europe” tour
• Describe a tour based on photosynthesis
• Outline a “7 wonders of the world” expedition
• Set prices for the tours
• Outline warning messages (gravity, oxygen, fungi, etc.)
• Suggest clothing options
• Explain travel options to/from Mars
• Describe a “Human Sports” tour
• Outline refund policy
• Suggest related services
• Define advertisers
• Define a 12-month campaign
• Set-up how to get more information
116 Michel Goldenberg
Wedding Planner Brochure Backlog
• Create cover art, brand, and/or logo
• Define major service offerings
• Define format for layout of brochure
• Include services for out-of-town guests
• Provide references from happy clients
• Set the pricing structure
• Define music options
• List catering options and pricing
• Define special bridal party treatments
• List reception location recommendations
• Create 3 minute promotion infomercial
• List template itineraries
• Gather names of preferred service providers
• Define custom wedding themes
117 Michel Goldenberg
Family Treasures Cookbook Proposal Backlog
• Create cover art, brand, and/or logo
• Define major recipe sections
• Define format for cookbook layout
• Include recipes for 4 year olds
• Provide a sample special recipe with family charm
• Write foreword that explains the reason for the book
• Set price structure for the cookbook
• Outline useful tools and kitchen layout
• Collect family heirloom recipes
• Define “Recipes of the Rich and Famous” section
• Create 3 minute promotion infomercial
• Define celebrity contributors/patrons
• Determine “Family Pet” recipe items
• Outline book tour scenario
• Create measurements and substitution advice
118 Michel Goldenberg
Scrum Simulation Part 1
• Goal: To Develop a Marketing Brochure in 2 (2 day) Sprints – Building a Product Backlog
• Select Brochure and Product Owner- 5 minutes
– Team to select a Product Owner
– Team to determine what brochure to work on
• Create Product Backlog – 30 minutes
– Work with Product Owner to
» Turn items into user stories on index cards
» If some are too big – break them down
» Identify missing items – if any
» Estimate user stories using story points
» Prioritize
» Consider value, risks, dependencies, etc
• Debrief to Class – 15 minutes
119 Michel Goldenberg
Scrum Simulation Part 2
• Sprint 1
– Day 1
• Complete a Sprint Planning Meeting – 15 minutes – Select product backlog items for a 2 day Sprint
» Product Owner prioritizes, Team involved
» Team tasks Product Backlog items
» Team volunteers for tasks and commits
» Add tasks to task board
• Do your work in “Sprint 1 - day 1” – 10 minutes
120 Michel Goldenberg
Scrum Simulation Part 3
• Sprint 1
– Day 2
• Complete a daily Scrum standup– 2 minutes
• Do your work in “Sprint 1 – day 2” – 10 minutes
• Sprint 1 Review – Hold a Sprint review and demo – 15 minutes
• Sprint 1 Retrospective – Hold a Sprint retrospective – 10 minutes
121 Michel Goldenberg
Scrum Simulation Part 4
• Sprint 2
– Day 1
• Complete a Sprint Planning Meeting – 15 minutes – Select product backlog items for a 2 day Sprint
» Product Owner prioritizes, Team involved
» Team tasks Product Backlog items
» Team volunteers for tasks and commits
» Add tasks to task board
• Do your work in “Sprint 2 - day 1” – 10 minutes
122 Michel Goldenberg
Scrum Simulation Part 5
• Sprint 2
– Day 2
• Complete a daily Scrum standup– 2 minutes
• Do your work in “Sprint 2 – day 2” – 10 minutes
• Sprint 2 Review – as time allows – Hold a Sprint review and demo (observed by whole class)
– Share with the class some lessons learned from this exercise
123 Michel Goldenberg
A Scrum reading list
• Agile and Iterative Development: A Manager’s Guide by Craig Larman
• Agile Estimating and Planning by Mike Cohn
• Agile Project Management with Scrum by Ken Schwaber
• Agile Retrospectives by Esther Derby and Diana Larsen
• Agile Software Development Ecosystems by Jim Highsmith
• Agile Software Development with Scrum by Ken Schwaber and Mike Beedle
• Scrum and The Enterprise by Ken Schwaber
• User Stories Applied for Agile Software Development by Mike Cohn
• Lots of weekly articles at www.scrumalliance.org
124 Michel Goldenberg
Contact Info
• Michel Goldenberg – Agile Coach for GoldenCorp, Certified Scrum Trainer
– Scrum Alliance: http://www.scrumalliance.org/profiles/38596-michel-goldenberg/
– LinkedIn: http://www.linkedin.com/in/mgoldenb
125 Michel Goldenberg