Professional Documents
Culture Documents
Certied ScrumMaster
Contents
Section Agile Foundations Scrum Flow Scrum Team Development Team Product Owner ScrumMaster Project Management Roles Team Chartering Product Backlog Agile Estimating User Stories Release Planning Sprints Sprint Backlog Sprint Planning Daily Scrum Page Section 3 Controlling and Reporting 13 Sprint Review 21 Scaling and Distributing Scrum 25 Agile Retrospectives 33 38 43 45 57 66 81 102 108 116 124 135 Contact, Copyright & Attribution Page 143 154 161 177 189
Agile Foundations
Software Development
Software development is (most of the time) an empirical process: The environment and prerequisites are incompletely dened Requirements change over time The knowledge about the best approach is incomplete The system is complex As a result, success depends on: Getting early and frequent feedback for the system under development, in terms of requirements and approach - e.g. by demonstrating and evaluating running increments early and often. Making it easy for the participants to react to this feedback and adapt the requirements and approach - e.g. by making it easier for the participants to steer development. Effective communication between all of those involved in developing the system so that the business and technical knowledge is available to those who need it. The most effective means of communication is often the spoken word. The agile principles are rooted in these insights.
These are codied in the Agile Manifesto and the accompanying principles:
Written in 2001 by 17 prominent gures in the eld of software development
Running software
over
over
over
That is, while there is value in the items on the right, we value the items on the left more
Complex
Complicated
Close to Certainty
Close to Agreement
Simple
Far from Certainty
Technology
Source: Strategic Management and Organizational Dynamics by Ralph Stacey in Agile Software Development with Scrum by Ken Schwaber and Mike Beedle.
Source: Wikipedia
11
Complex
Complicated
More predictability than unpredictability Fact-based management Experts work out wrinkles
Simple
Repeating patterns and consistent events Clear cause-and-effect Well established knowns Fact based management
12
Scrum Flow
The Essentials of Scrum
13
Scrum in 5 Minutes
The product owner is responsible for creating and prioritising the product backlog, a dynamic list of features for the product. Anyone can contribute to the product backlog but the product owner has the nal say on prioritisation. Before each sprint, the team decides in a sprint planning meeting, how many of the highest prioritised features they can deliver during the sprint. They decide what tasks are necessary to realise these features and enter them into the sprint backlog. During the sprint, the team synchronises in a daily scrum meeting and follows progress in the burn down chart. The ScrumMaster coaches the team, removes impediments and ensures that the team is able to work effectively. During the sprint, valuable functionality is developed and a potentially shippable product increment created, which is demonstrated by the team during a sprint review meeting. The scrum team then holds a retrospective and identies how they can work together more effectively during the next sprint.
14
The Essentials
Sprint
An iteration with a xed duration
3 Documents
Product Backlog Sprint Backlog Sprint Burn Down Chart
4 Meetings
Sprint Planning Daily Scrum Sprint Review Retrospective
3 Roles
Product Owner ScrumMaster Development Team
15
Scrum Flow
24 Hours
Sprint Goal
Return
Sprint Backlog
Return Cancel Voucher Gift-wrap Cancel Gift-wrap Voucher
Product Backlog
16
New Requirements
17
18
Scrum Roles
Team
Self-organising responsible for realising the product increment
Other stakeholders
coordinated by the Product Owner
ScrumMaster
removes impediments responsible for process
Product Owner
denes the product responsible for the results
19
Scrum Values
Commitment Focus Openness Respect Courage
20
21
Scrum Roles
There are three roles in Scrum:
The Product Owner The Development Team The ScrumMaster
The people who fulll these roles are called collectively the Scrum team. All others are outside of the Scrum team.
22
Others
Product Owner
Development Team
Scrum Master
23
24
25
Team Phases
Norming Storming
Performing
Forming
(Tuckman 1965)
27
Team Phases
Performing
Forming
Storming
Norming
Adjourning
28
Team Phases
Forming
Individual roles and responsibilities are not clear Team requires clear aims and objectives from a leader
Storming
Team members vie for position as they attempt to dene their own position Conict is normal and not necessarily negative A coaching leadership style can help the team to remain focussed Sometimes a team remains locked in this phase
29
Team Phases
Norming
Team establishes its own way of working Important decisions are made by the team A facilitation and enabling leadership style supports the team
Performing
The team has a deeper understanding of what it is doing and why it is doing it (strategic awareness) Disagreements are resolved constructively Real feeling of collective responsibility and belonging Under stress, a team may fall back into the storming phase
30
31
32
33
34
Starting a Project
Product owner
Product Backlog Idea User User Epic Story Story Vision User User User Story Story Story
Team
Prioritize
Estimate
Release Plan
Other sources Creativity User centered Design
Sprint Planning
35
The product owner constantly supports the team with information and feed-back The product owner typically needs 50 to 100% of his/her time for playing the role properly
36
37
The ScrumMaster
38
39
40
Coaching, facilitation
Help the team develop Support individual team members to exploit their potential
41
42
Do we need a project manager as well as the three Scrum roles? Discuss in your table groups for 5 minutes and then report back
43
44
Team Chartering
Creating powerful working agreements, a denition of ready and a denition of done
45
Team Charter
A team charter is the working agreement of a team
The team puts into writing the work practices it agrees should be adhered to It contains basic agreements, engineering rules, communication rules and commitments The denitions of ready and done are core parts of the team charter
46
47
48
Meetings
Daily Scrum: time, location, follow-up discussions, late-penalties, participation of chickens Sprint planning meeting: time, structure, attendance Sprint review: structure, attendance, preparation, rules for demos Retrospectives: structure, attendance, techniques Issue resolution: impediment resolution, requirement ambiguity resolution Tracking: burn down chart on task board or electronically, update before every daily scrum
49
50
Engineering Rules
Continuous integration and deployment: which tools, how team members are notied if there is a problem Testing: which tools, coverage of automated unit tests and automated acceptance tests Test driven development Pair programming, audit and review rules, common code ownership Coding standards Documentation standards
51
Communication Rules
Respectful conversation Active listening How to deal with stakeholders What the team expects from the product owner. For example:
timely feedback prioritized product backlog at sprint planning the team could encourage the product owner to write a separate charter with his/her commitments
52
Denition of Ready
Denes how product backlog items (e.g. stories) will be continuously rened and prepared for future sprints (product backlog grooming) Typically includes:
Requirements workshops Estimating workshops Time for research
Product owners can expect teams to spend up to 10% of their capacity on helping to groom the product backlog.
53
Denition of Done
Denes when:
Tasks Product backlog items (e.g. stories) The product increment
are considered done. Can be implemented as checklists for these three levels which are displayed prominently in the team room.
54
55
When an organization is new to Scrum: be careful to communicate the specic purpose and structure of the team charter so that there are no misunderstandings
56
57
Requirements in Scrum
In Scrum collecting requirements and realization of the requirements overlaps, we dont separate requirements and realization phases Requirements in Scrum are emergent
We will discover more about how to meet the customers needs as the project progresses Existing requirements change New requirements are discovered
58
Characteristics
Emergent Prioritized
By the product owner
Estimated
By the development team
59
60
Levels of Granularity
The product backlog will contain items with typically three levels of granularity:
Fine grained, high priority items. Requirements small enough and detailed enough so that they are ready for the next sprint. These are typically represented as normal user stories. Medium grained, medium priority items. Requirements that can be roughly estimated but that need breaking down before realisation. Typically represented as larger user stories. Coarse grained, low priority items. High level requirements that are often represented as as epic stories.
61
Levels of Granularity
Fine-grained. Ready for next sprint. User stories.
Priority
62
63
As an insurance agent I want to offer a potential customer a discount so that I can win her business
Fixed list of discounts selectable (5, 10, 15%)? Displayed in policy summary? Transmitted to mainframe correctly?
As a discount approver I want to see a list of discounts waiting for approval so that I can control my budget
As a discount approver I want to be able to accept, reject or change a discount so that I can control my budget
Accept a discount, check DB updated Reject a discount, check DB updated Change a discount, check DB updated
64
13
65
Agile Estimating
66
Levels of Planning
Agile projects contain typically: Release Planning Goal: to predict the number of sprints and teams High-level estimation of product backlog items Covers a period of of 3 to 6 months (dependent on project or product) Initial release planning at start of project (or application for funding) Updated after each sprint Sprint Planning Goal: to achieve a commitment from the team for the sprint goal Detailed estimation of the necessary tasks to implement the selected product backlog items Occurs at sprint start Upated every day based on the remaining effort The same basic planning method is used independent of level
67
Release Planning
We estimate features in Story Points Story Points: Unit-less Relative in comparison to other estimations Express the size (relative effort) of a feature Velocity: How many story points did the team implement in a sprint Advantages: Story Point do not become obsolete Story Points are only an estimate of size Relative estimates are simpler and less fraught with connotations In story points we estimate faster
est. velocity V = 20
duration 15 Sprints
68
69
Estimation
How large is a backlog item in comparison to others? Triangulation (compare with two other items or tasks) Use the teams experience Use expert knowledge from outside the team if necessary Dont lose the focus being overly precise Its just an estimate!
70
71
Animal Points
Assign animal points (range 1 - 40):
chicken horse
2 13
lion
lamb Echidna
8
giraffe
cat
40
72
Echidna?
73
74
75
Planning Poker
An estimation method based on Wideband Delphi Estimation in story points (size-/complexity points) or units of time (e.g. hours) scale: 0 - - 1 - 2 - 3 - 5 - 8 - 13 - 20 - 40 100 (inspired by the Fibonacci sequence) Approach: The item to be estimated is discussed and a common understanding developed (for product backlog items, the Product Owner describes the requirement and the team asks questions) Each team member makes up his/her mind and makes a (concealed) estimate The estimates are revealed simultaneously The results, especially the outliers, are discussed Estimation continues until until agreement is reached
76
77
Johann
Kurt
Richard
5 3
Amy
Karlheinz
5 13
5
78
79
More Information
Mike Cohn: Agile Estimating and Planning Prentice Hall 2005
80
User Stories
A promise for a conversation
81
In parallel to the team working on the sprint, the product owner will look ahead and decompose more epics
83
84
Business Objective
85
86
Who
Should be an end-user role Should describe the role with as much precision as possible
Bad: As a user Good: As a secretary of a frequent yer
87
What
Should describe a clear scenario Should contain the business scenario, not the technical solution
88
Why
Represents the business value, when the problem is solved Is indispensable to keep all participants focused on the business value
89
90
91
C/S architecture or business layers: User Stories should cover all layers
92
Bad Story
Good Story
95
96
97
98
99
A complete specication
We may need additional documentation for traceability, compliance or other reasons
100
101
Release Planning
102
Determine Velocity
103
104
105
Sprint 1
Sprint 2
Sprint 3
106
Sprint 1
Sprint 2
Sprint 3
107
Sprints
108
Product Increment
The sprint goal always represents a potentially shippable product increment containing new valuable business functionality This keeps the teams focus on value creation and helps to keep the stakeholders supportive of the project
109
Uninterrupted Work
The team should not be exposed to changed requirements during a sprint: this is a serious impediment and can be disastrous to the teams morale and velocity Exception: High-priority support. It is often helpful to reserve some capacity for support (e.g. 20% dependent on context). In addition, the team may use up to 10% of its gross capacity for lookahead and preparation for future sprints
110
Keeping Track
The team keeps track on the progress by updating the sprint backlog at least daily. They do this by:
Estimating the work remaining for the tasks that they currently have in progress Making sure that newly discovered tasks are captured, entered into the sprint backlog and estimated
The burn down chart visualizes the status and provides the information for adaption
by removing backlog items if progress is slower than expected by adding backlog items and re-planning All changes at the product backlog item level must be authorized by the product owner
111
112
Overhead
The overhead for planning, review and retrospective should be kept to the necessary minimum
Some authors require not more than 10% of the time
The team members are expected to contribute about 10% of their time in additional planning, research and look-ahead for future sprints
The number depends on the project phase, the complexity of the area and technology and the experience of the team members
113
The ScrumMaster works constantly to remove impediments so that work can continue without interruption
114
Abnormal Termination
When
the sprint goal becomes obsolete (e.g. due to changed market conditions) External disturbances become so dominant that the sprint goal cannot be reached (e.g. if despite the ScrumMasters best endeavours several members have been removed from the team)
The product owner and ScrumMaster may decide to cancel the sprint and re-plan a new sprint
This should remain an extreme measure when all other efforts to remove impediments have failed
115
116
Living artifact
117
118
119
For distributed teams, you probably need to maintain it electronically (e.g. with Excel)
120
Task Board
121
122
123
Sprint Planning
124
125
126
Make it visible
e.g. on a prominent location of the task board
Do not skip this step, it is important for focused work during the sprint
127
Team Capacity
Example capacity breakdown:
Gross capacity: 100% Scrum process overhead (meetings): 10% Lookahead/preparation for future sprints: 10% High-priority support: 25% Available for achieving sprint goal: 55%
Recommendation:
Before sprint planning, ask each team member to state how many days they will be available during the next sprint
128
Sprint Planning
The team takes the highest prioritized backlog item
discusses it with the product owner decomposes it into the necessary tasks estimates the tasks
129
Advantages
It is easier to ensure the conceptual integrity of the product increment
130
Sprint planning is as much about outline design as it is about planning This is a cornerstone of a teams common understanding and team forming. Do not try to skip this. It is worth every minute.
131
132
133
Special Tasks
Identify necessary technical tasks
Sometimes you need technical user stories Technical tasks can be part of such a story or be standalone
Educational tasks
May be useful to tackle future requirements May be useful to break skill monopolies
Explain to the product owner why such tasks or stories are necessary and can increase the ability to deliver future sprints. However, the product owner should decide
134
135
136
Only Scrum team members speak - others are welcome but should listen only
If other stakeholders or managers want to comment during the meeting, ask them kindly to defer their comments until after the Daily Scrum
Tip: repeat the daily Scrum rules at the beginning of the meeting every few days or if there have been rule violations recently
137
138
139
Tracking Progress
At the end of the Daily Scrum, the sprint backlog and the burn down chart should be updated
If the team has a task board, the team updates it. In some teams, the index cards are only moved during/after the Daily Scrum, in others the task board is updated as soon as a task is nished or added Update the sprint backlog. In some teams individual team members are responsible, in others teams the ScrumMaster agrees to do this on the teams behalf Update the burn down chart
140
141
142
143
144
Effects of Measuring
Individual performance Lines of code Competing Individuals Un-refactored code
On-time delivery
Sloppy code
People will change their behavior depending on how you evaluate them
145
Sprint
The teams velocity during the sprint, updating the release burn down chart and the release plan
Release
Deploying value to the customer
146
Reports
Sprint burn down chart Shows the total remaining effort for the team Additional variants: counting open tasks, counting open stories Sprint end report Optional but can form a useful of the sprint Compiled by ScrumMaster or team Task board Release burn down chart Shows remaining functionality by sprint Additional variant: parking lot chart shows functionality by category Velocity diagram Shows velocity by sprint
147
148
149
Accounting
Recommended accounting procedure
The customer pays for sprints, i.e. the cost of the team for the sprint and receives an estimate of what can be delivered at the end of the sprint and receives the sprint result, i.e. the new product increment resulting from the completed product backlog items
Advantages
It is transparent There is no need to add a surcharge to cover the risk of a xed-price charge
150
Outside of Scrum
Time sheets
Most organizations need individual time-sheets They should not be connected to single tasks The sprint result is the achievement of the selforganizing team and not of the individual members
151
152
700"
600"
Remaining(Work((PT)(
300"
200"
100"
153
Sprint Review
154
155
Participants
The Scrum team
The team presents results The product owner gives (positive and negative) feedback and accepts or rejects results The ScrumMaster moderates the meeting
156
Preparing a Review
The team
Decides who is going to present what Prepares the demonstration
The ScrumMaster
Makes sure the sprint backlog and the burn down chart are up to date (on behalf of the team) Prepares an overview of the nished product backlog items and calculates the velocity based only on the nished items
157
The ScrumMaster states the velocity, recapitulates the insights, thanks all participants and announces the next meetings
Retrospective and sprint planning Date and venue of the next sprint review
158
159
160
161
Brooks Law
Adding manpower to a late software project makes it later Throwing people at a problem will often not resolve the problem but make it worse Scale up organically and bear in mind that with a good Scrum implementation, teams can achieve more than you might assume with a traditional approach
You might not actually need to scale up as much
163
Scale up by adding additional Scrum teams when this preparatory work has been accomplished and when necessary
164
Component teams
Each team has ownership of one or more components
Both possible with Scrum but feature teams are the preferred option is most cases Integrating everything by the end of each sprint is much more difcult with component teams and might require an additional integration sprint which can be wasteful
165
Marketing
Customer
Customer
166
Product Backlogs
At the end of each sprint, update to reect the consolidated results of all teams
167
Scrum of Scrums
168
Scrum of Scrums
Enables teams to synchronize with one another during sprints Ideally daily, after the individual teams Daily Scrum, but 2-3 times a week often acceptable Representative from each team - not necessarily the ScrumMaster - the team decides dependent on the subject matter Three main questions:
What has the team done since the last meeting? What will the team do until the next meeting? What impediments does the team have that need to be escalated? (i.e. that cannot be efciently removed at the team level) Additional question: Is the team about to do some that will create an impediment for another team? (e.g. perform a large integration or fail to satisfy a dependency) Scrum of Scrums impediment log Logs and tracks issues that have been escalated to the Scrum of Scrums
169
By the end of a sprint, a team must have fully integrated its results with those of the other teams Regular Scrum of Scrums meeting
Basic method to coordinate the work of multiple teams
170
171
Distributed Teams
Scrum thrives on good communication
This is most effective if teams are collocated and can communicate direct face-to-face
If absolutely necessary, distribute teams geographically but avoid dispersing the members within each team Each team should have its own ScrumMaster and product owner The ScrumMaster must be collocated with the team It is desirable if the product owner is collocated with the team as well Consider cross-seeding the teams with team members from other sites on a rotating basis. This can help to break down cultural barriers and improve communication
173
Dispersed Teams
If you really have to disperse the members within a team:
Bring them together at the beginning of a project and regularly thereafter Use technology to increase the communication bandwidth (e.g. webcams, Skype etc.)
Team formation will take longer Productivity will never be as high as with a collocated team
174
Agile Retrospectives
Organizations Learn in Teams
177
Why Retrospectives
Share lessons learned Generate common insights Bring improvements back into the teams work
What worked well, what should be improved, what should we try
178
179
180
181
Different voices advocate longer or shorter retrospectives - nd what works for the team Dont skip retrospectives completely
The team will miss out on an important learning opportunity and important issues might remain hidden
182
Retrospective Blueprint
Open meeting State the purpose of the meeting, the agenda and the time box and agree discussion rules Gather data Collect observations and facts Generate insights Group facts, nd patterns and clusters, discuss underlying reasons and systematic structures Decide what to do Identify possible improvements, consequences in the work of the team and impediments Close meeting Find out if the meeting was worthwhile for the participants, thank them for their contribution
183
The ScrumMaster moderates Others should only be present in exceptional circumstances and only when invited by the team
184
187
188
189
Simon Roberts
BSc (Hons) in Physics MBA specializing in creativity, innovation and change Over 25 years experience in software engineering and project management Agile and light-weight methods since late 1990s Scrum since 2002 Experienced Scrum trainer, coach and mentor Certied Scrum Trainer, Certied Scrum Developer
190
Contact Information
ScrumCenter GmbH
training@scrumcenter.com
Simon Roberts
simon.roberts@scrumcenter.com Tel: +49 160 8082012
191
The Scrum ow animation is taken from Mike Cohn: A redistributable introduction to Scrum http://www.mountaingoatsoftware.com/presentation/30-an-overview-of-scrum
192
Version 2.2-en, May 2011 2011 ScrumCenter GmbH, All rights reserved