Certified ScrumMasteragile-planet.com/wp-content/uploads/2013/02/Certified-ScrumMaste… ·...
Transcript of Certified ScrumMasteragile-planet.com/wp-content/uploads/2013/02/Certified-ScrumMaste… ·...
Certified ScrumMaster
A path to a better life
Haim Deutsch
Introduction Icebreaker
• Form up in pairs – Ask each other the following questions:
• Name
• What do you do?
• Learning objectives (1 or 2)
• Something about yourself (unusual, interesting, un-interesting, something that helps us get to know you better)
• Total years of “project/product/development” experience
– Everyone should be ready to “introduce” their partner to the class
– Timebox: 5 minutes for preparation, 1 minute for presentation
3 Haim Deutsch Copyright 2010
Purpose of this training
• To learn about Scrum framework;
• To use common sense within this framework; – You will be asked to solve your particular situations
within this framework.
• To learn how to solve problems using Scrum through discussion, exercises and sharing yours problems;
• To provide you the context to start your journey as a ScrumMaster, Practitioner, and/or Team Member.
4 Haim Deutsch Copyright 2010
Organizing Tools and Class Rules
• Parking lot; • Ask questions; • Give feedback; • Keep an open mind; • Have fun; • Support each other; • One conversation at a time; • No Electronics; • Show up and be on time; • What else?
5 Haim Deutsch Copyright 2010
How do you become Certified?
• Show up and be on time;
• Each “team” is responsible for their performance;
• Respecting the class rules;
• Participate fully; – Exercises are “silly” for a reason so the focus is on
the concepts.
• Let’s help each other stay focused; – Use the parking lot.
6 Haim Deutsch Copyright 2010
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®.
7 Haim Deutsch Copyright 2010
Training Backlog
8 Haim Deutsch Copyright 2010
Worshop: Scrum Level
• What is your knowledeg level?
• What is your understanding level?
• What is your experience level?
Haim Deutsch Copyright 2010 9
0 10
Scrum is...
Transparency !
Retrospection!
Adaptation !
10 Haim Deutsch Copyright 2010
Scrum Foundations
Haim Deutsch Copyright 2010 11
Scrum
Empirical Self-
organization Collaboration Prioritization Rhythm
Scrum Content
• Scrum Teams- and their associated roles
• Time-Boxes – Fix duration events
• Artefacts
• Rules
12 Haim Deutsch Copyright 2010
Three Roles
• ScrumMaster :
– Responsible of watching the process so it is well understood and followed
– Responsible of removing blocks
• Product Owner :
– Responsible of team work value maximization
• The Team:
– Responsible of tasks realization
13 Haim Deutsch Copyright 2010
Time-Boxes
• Release Planning
• Sprint Planning
• Sprint
• The Daily Stand up
• Sprint Review
• Retrospective
14 Haim Deutsch Copyright 2010
The four Artefacts
• Product Backlog : – A prioritized list of the necessary features for the
product
• Sprint Backlog : – A list of the necessary tasks for tranforming the
Product Backlog into a product increment of the final product
• Release Burndown : – Measures the Product Backlog left to be developed
• Sprint Burndown : – Measures the Sprint Backlog left during the Sprint
15 Haim Deutsch Copyright 2010
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.
16 Haim Deutsch Copyright 2010
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
17 17 Haim Deutsch Copyright 2010
Scrum Introduction
• Scrum is not a solution 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)
18 Haim Deutsch Copyright 2010
Scrum Framework
19 Haim Deutsch Copyright 2010
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.
20 Haim Deutsch Copyright 2010
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.
21 Haim Deutsch Copyright 2010
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.
22 Haim Deutsch Copyright 2010
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?
23 Haim Deutsch Copyright 2010
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.
24 Haim Deutsch Copyright 2010
Traditional Waterfall
Analysis Design Develop Test Deploy
25 Haim Deutsch Copyright 2010
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
26 Haim Deutsch Copyright 2010
The meaning of Agile DLC
Haim Deutsch Copyright 2010 27
Requirements
Design
Programming
Testing
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
28 Haim Deutsch Copyright 2010
Defined Process vs. Empirical Process
29
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
30
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.
31
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
32
Empirical and Defined Process
33
Command and Learn as we
Control proceed
Plan what you Plan for changes
expect to happen, (requirements,
regardless of
changing conditions
Enforce the plan Embrace change
Use Change Use Inspect and
Control Adapt
The Iteration game
Haim Deutsch Copyright 2010 34
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
35 Haim Deutsch Copyright 2010
Your Thoughts
Works well/Good fit Does not work well/bad fit
Defined/Waterfall
Empirical/Agile
36 Haim Deutsch Copyright 2010
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.
37 Haim Deutsch Copyright 2010
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
38 Haim Deutsch Copyright 2010
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
39 Haim Deutsch Copyright 2010
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
40 Haim Deutsch Copyright 2010
Sprint Backlog in the real life
41
The Scrum Game
Haim Deutsch Copyright 2010 42
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.
43 Haim Deutsch Copyright 2010
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
44 Haim Deutsch Copyright 2010
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
45 Haim Deutsch Copyright 2010
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
46 Haim Deutsch Copyright 2010
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
47 Haim Deutsch Copyright 2010
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.
48 Haim Deutsch Copyright 2010
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.
49 Haim Deutsch Copyright 2010
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.
50 Haim Deutsch Copyright 2010
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.
51 Haim Deutsch Copyright 2010
Haim Deutsch Copyright 2010 52
Poker Site – Who’s the user?
• High Roller who bets thousands of dollars per visit.
• Novice Gambler who does not know which hand beats another hand.
• Novice Computer User who struggles logging into the site.
• Malicious Hacker who wants to obtain credit card data.
• Frequent Gambler who plays the same table every visit.
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.
53 Haim Deutsch Copyright 2010
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
54 Haim Deutsch Copyright 2010
User Story Template
As a <user role>,
I want to <functionality> so that <value>. Optional
55 Haim Deutsch Copyright 2010
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.
56 Haim Deutsch Copyright 2010
Details as Conditions of Satisfaction
As a user, I want to reserve a seat in a Texas
Hold’em Tournament.
(back) Verify that 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…
57 Haim Deutsch Copyright 2010
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.
58 Haim Deutsch Copyright 2010
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
59 Haim Deutsch Copyright 2010
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.
60 Haim Deutsch Copyright 2010
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.
61
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
61 Haim Deutsch Copyright 2010
Product Backlog Exercise
• In your teams
– Select a Product Owner
– In your team, identify a product that you will build
• Determine a method to identify product backlog items
• Identify 10 to 12 backlog items – write them on index cards
• Work with your Product Owner to prioritize
• Present your product and backlog to the class
– Also talk about the method you used and any lessons learned
• 30 minutes
62 Haim Deutsch Copyright 2010
Release Planning
Sprint Planning
Sprint Review
1-4 weeks Sprint
Sprint Retrospective
Scrum Framework
Vision
Preparation for Action
63 Haim Deutsch Copyright 2010
• 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
Haim Deutsch Copyright 2010
Release Planning
64
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.
65 Haim Deutsch Copyright 2010
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
66 Haim Deutsch Copyright 2010
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;
67 Haim Deutsch Copyright 2010
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).
68 Haim Deutsch Copyright 2010
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
69 Haim Deutsch Copyright 2010
Country Points
• Form in groups
• Using the handouts
– Assign “country points’ to the countries listed on the handout
– Remember, points are relative numbers – not a sequential ranking
– Be prepared to report back to the class
70 Haim Deutsch Copyright 2010
Country Points Discussion
• Lets discuss our findings
71 Haim Deutsch Copyright 2010
72 Haim Deutsch Copyright 2010
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
73 Haim Deutsch Copyright 2010
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.
74 Haim Deutsch Copyright 2010
Agile Manifesto Principles (1)
1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
75 Haim Deutsch Copyright 2010
Agile Manifesto Principles (2)
7. Working software is the primary measure of progress. 8. Agile processes promote sustainable development. The
sponsors, developers, and users should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity--the art of maximizing the amount of work not done--is essential.
11. The best architectures, requirements, and designs emerge from self-organizing teams.
12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
76 Haim Deutsch Copyright 2010
Agile Principles – Planning Poker
Haim Deutsch Copyright 2010 77
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.
78 Haim Deutsch Copyright 2010
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?
79 Haim Deutsch Copyright 2010
Defining Done
• What does “done” mean in your current project?’
• What issues do you see with this definition of done?
• How would you address them?
• What engineering problems do you see with this approach?
• How would you rectify them?
80 Haim Deutsch Copyright 2010
Estimate Size – Derive Duration
Size
Velocity = 20
Calculation Duration
300 Story Points
300/20 = 15 Sprints
81 Haim Deutsch Copyright 2010
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
Date 1
Date 2
Date 3
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
82 Haim Deutsch Copyright 2010
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
83 Haim Deutsch Copyright 2010
Release Planning
Sprint Planning
Sprint Review
1-4 weeks Sprint
Sprint Retrospective
Scrum Framework
Vision
Preparation for Action
84 Haim Deutsch Copyright 2010
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 85 Haim Deutsch Copyright 2010
89 Haim Deutsch Copyright 2010
Scrum Framework
90 Haim Deutsch Copyright 2010
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.
91 Haim Deutsch Copyright 2010
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.
92 Haim Deutsch Copyright 2010
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.
93 Haim Deutsch Copyright 2010
3 Roles
Product Owner
ScrumMaster
Team
94 Haim Deutsch Copyright 2010
The Product Owner
“The single wringable neck” – Ken Schwaber
95 Haim Deutsch Copyright 2010
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
96 Haim Deutsch Copyright 2010
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
97 Haim Deutsch Copyright 2010
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.
98 Haim Deutsch Copyright 2010
The ScrumMaster
“The sheepdog for the team” – Ken Schwaber
99 Haim Deutsch Copyright 2010
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
100 Haim Deutsch Copyright 2010
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
101 Haim Deutsch Copyright 2010
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.
102 Haim Deutsch Copyright 2010
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
103 Haim Deutsch Copyright 2010
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
104 Haim Deutsch Copyright 2010
Common Questions about the ScrumMaster Role?
• Lets take some time to discuss the following questions – Who can be the ScrumMaster?
– Is it a full-time role?
– What skills are needed?
– What authority does the ScrumMaster have?
– Is the ScrumMaster accountable for dates, budgets, profits, decisions, etc?
– What is the ScrumMaster responsible for?
105 Haim Deutsch Copyright 2010
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;
106 Haim Deutsch Copyright 2010
The Team
107 Haim Deutsch Copyright 2010
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.
108 Haim Deutsch Copyright 2010
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
109 Haim Deutsch Copyright 2010
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
110 Haim Deutsch Copyright 2010
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
111 Haim Deutsch Copyright 2010
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.
112 Haim Deutsch Copyright 2010
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
113 Haim Deutsch Copyright 2010
Self-Directed Team Discussion
• Exercise
– Form into groups
– Discuss the following, record, and report back to the class
• What are the most important benefits you expect as part of a self-directed team?
• What do you think your peers would describe as the most important benefits for them?
• What benefits would there be for your organization?
• How would your customers benefit?
• What challenges do you foresee in transitioning to a self-directed work team?
114 Haim Deutsch Copyright 2010
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.
115 Haim Deutsch Copyright 2010
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
116 Haim Deutsch Copyright 2010
Exercise: Multiple Product Owners
• In your teams • Think about what you have learned about the
Scrum roles and responsibilities, what would you do in the following situation: – You are Scrum Consultants sent in to straighten
out a development team because they have not delivered in six months • You discover that there are five stakeholders, each with
their own backlog and P&L
• What would you do to improve the situation? • Respond to the “spin” on the situation
117 Haim Deutsch Copyright 2010
118 Haim Deutsch Copyright 2010
Release Planning
Sprint Planning
Sprint Review
1-4 weeks Sprint
Sprint Retrospective
Scrum Framework
Vision
Preparation for Action
119 Haim Deutsch Copyright 2010
Vision
120 Haim Deutsch Copyright 2010
Release Planning
Sprint Planning
Sprint Review
1-4 weeks Sprint
Sprint Retrospective
Scrum Framework
Vision
Preparation for Action
121 Haim Deutsch Copyright 2010
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 …
122 Haim Deutsch Copyright 2010
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…
123 Haim Deutsch Copyright 2010
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
124 Haim Deutsch Copyright 2010
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.
125 Haim Deutsch Copyright 2010
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
126 Haim Deutsch Copyright 2010
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
127 Haim Deutsch Copyright 2010
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
128 Haim Deutsch Copyright 2010
Haim Deutsch Copyright 2010
Sprint Planning
• Identify anything that might impact the Sprint
– Vacations, holidays, capacity of team members, etc
• Select a Sprint goal
• Working with 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
129
Release Planning
Sprint Planning
Sprint Review
1-4 weeks Sprint
Sprint Retrospective
Scrum Framework
Vision
Preparation for Action
130 Haim Deutsch Copyright 2010
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
131 Haim Deutsch Copyright 2010
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
132 Haim Deutsch Copyright 2010
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
133 Haim Deutsch Copyright 2010
Task Board
134 Haim Deutsch Copyright 2010
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
135 Haim Deutsch Copyright 2010
Discussion
• Is there such a Sprint as an “analysis” Sprint where requirements are pulled together?
• Is there such a thing as a “testing” Sprint?
• What is a “stabilization” Sprint and what should be done with it?
• If a project requires a lot of infrastructure and architecture work that will take eight weeks to complete, should the first Sprint be eight weeks long? Is the architecture an adequate deliverable?
136 Haim Deutsch Copyright 2010
Potential shippable product
137 Haim Deutsch Copyright 2010
138 Haim Deutsch Copyright 2010
Release Planning
Sprint Planning
Sprint Review
1-4 weeks Sprint
Sprint Retrospective
Scrum Framework
Vision
Preparation for Action
139 Haim Deutsch Copyright 2010
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
140 Haim Deutsch Copyright 2010
Everyone answers 3 questions
What did you do yesterday?
What will you do today?
Is anything in your way?
141 Haim Deutsch Copyright 2010
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.
142 Haim Deutsch Copyright 2010
Daily Stand Up fromHell
Haim Deutsch Copyright 2010 143
Release Planning
Sprint Planning
Sprint Review
1-4 weeks Sprint
Sprint Retrospective
Scrum Framework
Vision
Preparation for Action
144 Haim Deutsch Copyright 2010
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
145 Haim Deutsch Copyright 2010
Release Planning
Sprint Planning
Sprint Review
1-4 weeks Sprint
Sprint Retrospective
Scrum Framework
Vision
Preparation for Action
146 Haim Deutsch Copyright 2010
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.
147 Haim Deutsch Copyright 2010
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
148 Haim Deutsch Copyright 2010
It’s all about communication
149 Haim Deutsch Copyright 2010
Start / Stop / Continue
• Whole team gathers and discusses what they’d like to:
Start doing
Stop doing
Continue doing
150 Haim Deutsch Copyright 2010
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.
151 Haim Deutsch Copyright 2010
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
152 Haim Deutsch Copyright 2010
Let’s Try It!
155 155 Haim Deutsch Copyright 2010
Exercise: Planning Poker
• Remodel Mike Cohn’s kitchen – Install new hardwood floor – Refinish (remove, sand, repaint) the cabinets – Install granite countertop – Repaint entire kitchen – Lay shelf paper – Install recessed lighting – Replace electric stove with gas stove – Install built-in fridge – Install new oven – Plumb island and add sink – Replace simple window with bay-window
156 Haim Deutsch Copyright 2010
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
157 Haim Deutsch Copyright 2010
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
158 Haim Deutsch Copyright 2010
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
159 Haim Deutsch Copyright 2010
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
160 Haim Deutsch Copyright 2010
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
161 Haim Deutsch Copyright 2010
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
162 Haim Deutsch Copyright 2010
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
163 Haim Deutsch Copyright 2010
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
164 Haim Deutsch Copyright 2010
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
165 Haim Deutsch Copyright 2010
Scrum Review and Debrief
Scrum Simulation Debrief and Review
166 Haim Deutsch Copyright 2010
Release Planning
Sprint Planning
Sprint Review
1-4 weeks Sprint
Sprint Retrospective
Scrum Review
Vision
Preparation for Action
167 Haim Deutsch Copyright 2010
Parking Lot
• Review remaining parking lot items
• Create action items to address questions not answered
168 Haim Deutsch Copyright 2010
Course Retrospective
• What went well?
• What did not go so well?
• What should be changed for future courses?
• Last question: What can you bring back to your organization?
169 Haim Deutsch Copyright 2010
Exam and Graduation
• Time for the exam
– Please put away all papers
• Graduation
170 Haim Deutsch Copyright 2010
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
171 Haim Deutsch Copyright 2010
Haim Deutsch Copyright 2010 172 172
Additional Materials
Scrum of Scrums
173 Haim Deutsch Copyright 2010
Complementary Agile Practices
• Co-location
• Pair Programming
• Refactoring
• Test-Driven Development
• Continuous Integration
• Exploratory Spikes
• Evolutionary Design
• Agile Architecture
174 Haim Deutsch Copyright 2010
Co-Location
• The whole team works in the same room
• Big Visible Charts are on the wall
• Whiteboards galore
• “Osmotic” communication results in unplanned knowledge sharing
• From gossip to code
• Team bonding results
• High bandwidth communication
• Takes some personal adjustment
• People still need some private space
175 Haim Deutsch Copyright 2010
Pair Programming
• Two people at one computer
• Pilot, co-pilot
• Details, big picture
• Switch it up
• Challenges
• Non-traditional
• What? Two people to do the work of one?
• Benefits
• Fewer defects
• Cleaner designs
• Shared knowledge/cross-training
• Teamwork
Use incremental code reviews to ease into
it
176 Haim Deutsch Copyright 2010
Refactoring
• Definition: improve design without changing behavior
• Is a known science
• What to look for
• How to improve it
• Automated tests make it safe
• Is a daily practice in an Agile project
177 Haim Deutsch Copyright 2010
Test-Driven Development
• Is a design/code technique based on unit tests
• Simple to learn, simple rules to follow
• Benefits
• Allows design to evolve safely
• Robust, high quality design
with minimal complexity, low
coupling, high cohesion
• Lowers defect count by 10x
• Creates momentum based on
success
Add a test
Run test and fail
Write code to
pass test
Run tests, all pass
Refactor
TDD Rhythm
178 Haim Deutsch Copyright 2010
Continuous Integration
• Elements
• Frequent check-ins (1+/day)
• Test the build on each check-in
• Run all unit tests
• Run all acceptance tests
• May run other analyses
• Complexity, dependency, code coverage
• Fix anything that breaks
• Simplify the work needed to deploy
• Frequent practice and refinement
179 Haim Deutsch Copyright 2010
Continuous Integration
• Benefits
• Rapid notification if something breaks – And easier to find the cause – look in the last code checked-
in
• Never more than a day away from a production quality system
• Assurance that all parties agree on interfaces and behaviors
• Avoid the “stabilization” phase of a traditional process
180 Haim Deutsch Copyright 2010
Exploratory Spikes
• Experiments to answer technical or functional questions
• Have a specific goal
• Time-boxed for visibility in the sprint
• Reduce project risk
• Low fidelity
• UI paper mockups
• Minimal code with no tests
• May throw away the results
181 Haim Deutsch Copyright 2010
Evolutionary Design
• Whiteboard vs. design document
• Agile engineering allows constant refactoring
• YAGNI – no gold plating, minimal complexity
• Change is the norm
• Write readable code
• Write testable code
• Design to interfaces
• Use design patterns wisely
182 Haim Deutsch Copyright 2010
Agile Architecture
• Architecture == anything that is hard to change
• Strive for simplest design that does the job
• Design for 90%, not the last 10%
• Pre-test with wire frame system
• Encapsulate dependencies
• Be willing to change
• Encourage architects to help write the code
183 Haim Deutsch Copyright 2010
Agile Manifesto Review
• Form into groups;
• Discuss how the four value statements in the Manifesto are or are not supported in your organizations. Give examples;
• In your groups, examine the twelve principles. If you could only keep three, which three would you choose and why;
• Be prepared to provide an overview to the class on your group discussions;
• 30 Minutes.
184 Haim Deutsch Copyright 2010
• 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)
185 Haim Deutsch Copyright 2010
Exercise: Self-Directed Teams Part 1
• Form pairs
• Assign one person the boss, the other is the worker
• The boss can give the following commands – Go, Stop, Right, Left, Faster, Slower
• The worker must follow the boss’s commands
• The boss is responsible for having the worker proceed 60 normal paces within one minute, from the time “go” is said, until “stop is said by the instructor
• The worker counts the steps
• The boss can command the worker but not touch the worker or objects in the room
• Cannot stand in one place; must move as a team
186 Haim Deutsch Copyright 2010
Exercise: Self-Directed Teams Part 2
• With the same teams as before
• The worker is responsible for figuring out how to proceed 60 steps during the exercise by him or herself
• The boss is responsible to remove ANY obstacles that get in the worker’s way (but leave the walls in place)
• The time is reduced to 30 seconds
187 Haim Deutsch Copyright 2010