Scrum
http://www.controlchaos.com
http://www.agilealliance.org
Ken.schwaber@verizon.net
Agenda
1. What is agile?
2. Scrum overview
3. Case study
4. Scrum management
5. Fixed price/Fixed date
contracts
6. Increments, CMM, XP, and
ephiphanies
Categorization of complexity in
development projects
Requirements
Technology
Defined Processes
Empirical Processes
• When you can’t define things enough
so that they run unattended and
produce repeatable, acceptable
quality output;
• Empirical models are used when the
activities are not predictable, are
non-linear, and are too complex to
define in repeatable detail; and
• Control is through inspection and
adaptation.
© Advanced Development Methods 2002 All Rights Reserved 6
Scrum Tutorial
Agile Practices
Agile lays out a vision and then nurtures
project resources to do the best
possible to achieve the plan.
Agile is the “art of the possible.”
Scrum Overview
• Empirical management and control
process for development efforts;
• Used at product companies and IT
organizations since 1990;
• Wraps existing engineering
practices;
• Extremely simple but very hard;
• CMM Level 2 compliant, partially
Level 3
• Usually implements in 1 day,
delivers business functionality in 30
days;
• Scalable; and
• Scrum feels completely different!
© Advanced Development Methods 2002 All Rights Reserved 10
Scrum Tutorial
VRU
Scrum Practices
-Scrum Teams
• Self-organizing
• Cross-functional with no roles
• Seven plus or minus two
• Responsible for committing to work
• Authority to do whatever is needed
to meet commitment
• Work environment
Scrum Practices
-Product Backlog
• List of functionality, technology,
issues
• Emergent, prioritized, estimated
• More detail on higher priority
backlog
• One list for multiple teams
• Product Owner responsible for
priority – agile business project
manager
• Anyone can contribute
Product Backlog
Jfkdla;fjkdla
jf;ds
This Sprint : well defined work that
fjdkla
fdjklad;
fdjkla;s
can be done in <30 days & produce
fjdk
fjkdla;fjkdal
;f
jfkdlsj;a
executable
fjdkla;
fjdklas;
fdjkld
fdkjla;
fdjklsa;
fjkfjdkjdkfjk
dla;
fjkdl Probable next sprint : backlog
fjkdl;aj
fdjklas;
fjdklas;kd
fjkdlas;
next in priority, depends on
fdjkl;a
fjdklas;
fdjkalfjdask; results from prior Sprint
jfkdla;
fjdkla;
fdkjal;
fdjkal;
fdjksla;;dafd
fdjkla;
fjdkla;;asl
fdjksal; During a Sprint, that
fjdkl
fdjskfal;fjkd
asl;jf Sprint’s backlog is fixed
fjdklas;f
fjdkals;
fjdksal;
and can only be
fdjsaklfjdslk
jfdl changed as a result of
fjdkla;
fdjkals;dfdjk
l the work being
fjdkla;jfd
fdjkafl;adjf
fdjksfl
fdjkdla;sfdja
Planned performed in that Sprint.
skf
fdjkaslf;df
fdjkasl;j
Release Backlog outside the
fjdksla;f;dsa
l
fjdksal;f
fdjsakl;fd
current Sprint is always
fdjkal;fdfddj
fkdl
jfkdal;fjkdas
changing, evolving, and
l;fd
being reprioritized.
Abnormal Termination
• Sprints can be cancelled before
the allotted thirty days are
over;
• Team can cancel Sprint if they
feel they are unable to meet
Sprint goal;
• Management can cancel Sprint if
external circumstances negate
the value of the Sprint goal; and
• If a Sprint is abnormally
terminated, the next step is to
conduct a new Sprint planning
meeting, where the reason for
the termination is reviewed.
Scrum Practices
-Sprint Planning Meeting
Product
Backlog
Team
Capabilities Next Sprint
Review, Goal
Business
Conditions Consider,
Organize Product Backlog
Technology
Stability Sprint Backlog
Executable
Product
Increment
Project :
Sprint Goal & Backlog
• Sprint Goal is to provide a standardized
middleware mechanism for customer
service transaction access to production
databases.
• Selected Product Backlog:
1. Provide access for three key
customer service transactions to
legacy databases
2. Provide secure, recoverable
processing of transactions
3. Improve scalability of database
access
4. Support any input device
5. Simplify process of accessing
multiple databases
Sprint Backlog
T a s k D e s c r ip t io n O r ig in a t oRr e s p o n s ibSlet a tu s ( N o t S t a r t e d / H o u r s o f w o r k r e m a in in g u n til c o m p le t io
In P r o g r e s s /
C o m p le t e d )
1 2 3 4 5 6 7 8 9 10 11
T itle Im p o r t 275 318 393 386 386 386 385 355 258 254 246
W rite C D o f o ld c o d e A lle n Co m p le te d 1 1 1 1 1 1 1 1 1 1
B a c k u p D a ta b a s e o n to C D B arry Co m p le te d 10 10 10 10 10 10 10 0 0 0 0
R e b u ild D a ta b a s e B arry Co m p le te d 0 0 40 40 40 40 40 40 25 25 20
B lo w a w a y d ir e c to r y s tr u c tu r e A lle n Co m p le te d 2 0 0 0 0 0 0 0 0 0 0
In s ta ll c r u is e c o n tr o l a n d c o n f ig u r e ( in v e s tig a te C V S s tr u c tu r e ;R ic h a r d Co m p le te d 2 1 1 4 4 4 4 8 0 0 0
c o n f ig u r e c ru is e c o n tr o l f o r C V S e n v ir o n m e n t)
In s ta ll a n d c o n f ig u r e Jb o s s o n E1 0 K R ic h a r d Co m p le te d 2 2 2 2 2 2 2 2 2 2 0
Es ta b lis h c o d e s ta n d a r d s a n d r e v ie w w ith th e te a m Tim Co m p le te d 2 0 0 0 0 0 0 0 0 0 0
R e v ie w Ju n it w ith th e te a m , a n d c o n s tr u c t a s a m p le Ju n it te s t Jim Co m p le te d 0 0 0 0 0 0 0 0 0 0
C o n f ig u r e IW S f o r o u r e n v ir o n m e n t Jim Co m p le te d 4 4 4 4 4 4 4 4 4 4
Ex p lo r e S ite m in d e r , a n d e x p la in h o w w e u s e S ite m in d e r w ith IW G eSo r g e Co m p le te d 1 4 4 4 4 4 4 4 3 3 3
a n d Jb o s s .
Ex p lo r e C E. Ex p la in h o w w e u s e C E in o u r e n v iro n m e n t. A lle n Co m p le te d 4 3 3 2 2 2 2 2 2 2 2
B u ild a C E p r o to ty p e . A lle n Co m p le te d 4 4 4 4 4 4 4 4 4 4 4
Ex p lo r e To p lin k, Ex p la in h o w w e u s e To p lin k in th e L a n d S y s teRmic. h a r d Co m p le te d 4 4 4 4 4 4 4 4 4 4 4
B u ild a To p lin k p r o to ty p e . R ic h a r d Co m p le te d 4 0 0 0 0 0 0 0 0 0 0
B u ild d a ta b a s e s c h e ma B arry Co m p le te d 40 40 40 40 40 40 35 35 30
B u ild f u n c tio n th a t a llo w s im p o r tin g o f title s f r o m L T O d a ta to o Jim b je c t Co m p le te d 24 24 24 24 24 24 24 0 0 0
graph
B u ild f u n c tio n to p e r s is t title o b je c t g r a p h to s ta g in g d b Jim Co m p le te d 16 16 16 16 16 16 11 8 8 35
Ex a m in e K e g d a ta b a s e To m Co m p le te d 16 16 16 16 16 16 16 16 16 16 16
Ex a m in e L T O d a ta b a s e To m Co m p le te d 0 0 16 16 16 16 16 16 16 16 16
C o n s tr u c t a M V C f o r th e w e b f r o n te n d R ic h a r d Co m p le te d 6 6 6 6 6 6 6 0 0 0 0
C o n s tr u c t a n U p lo a d JS P to u p lo a d L T C S d a ta f ile s . R ic h a r d Co m p le te d 4 4 4 4 4 4 4 4 4 4 4
B u ild a w e b p a g e ; d e te r m in e w h a t in f o r m a tio n to in c lu d e Ja c q u ie Co m p le te d 6 10 10 10 10 10 10 10 10 10 2
Pr o d u c t b a c klo g f o r n e x t 1 2 m o n th s S ue Co m p le te d 6 6 6 6 6 6 6 6 6 4 4
Pr io r itiz e b a c klo g S ue Co m p le te d 6 6 6 6 6 6 6 6 6 4 4
D e te r m in e r e le a s e s K ane Co m p le te d 8 8 7 7 7 7 7 7 6 6 4
T e c h n ic a l o v e rv ie w f o r S c r u m A lle n Co m p le te d 0 16 16 16 16 16 16 16 16 16 16
- ES B L o g ic a l M o d e l
- L o g ic a l D B
- En v ir o n m e n t C o n f ig u r a tio n
Sprint Trend
Burndown Graph
S p r in t B a c k lo g T r e n d
2500
2000
15 0 0
10 0 0
500
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 0 3 1 3 2
T im e
Scrum Practices -
End-of-Sprint Review
Daily Scrums
per Sprint
Sprint 1 9:00AM
9:15AM
9:15AM
Sprint 2 9:30AM
9:30AM
9:45AM
Sprint 3
9:45AM
10:00AM
Coordinating
Scrum of Scrums
Manage Product The Product Owner establishes, nurtures and communicates the
the Owner product vision. He achieves initial and on-going funding for the
project by creating initial release plans and the initial Product
vision
Backlog.
Manage Product The Product Owner monitors the project against its ROI goals and an
the ROI Owner investment vision. He updates and prioritizes the Product Backlog to
ensure that the most valuable functionality is produced first and built
upon. He prioritizes and refines the Product Backlog and measures
success against expenses.
Manage Team During an iteration the team selects and develops the highest-priority
the features on the Product Backlog. Collectively, the team expands
Product Backlog items into more explicit tasks on a Sprint Backlog
develop
and then manages its own work and self-organizes around how it
ment desires to complete the iteration. The team manages itself to its
iteration commitments.
Manage Scrum The Scrum Master is responsible for setting the team up for success
the Master by ensuring the project and organizational culture are optimized for
meeting the ROI goals of the project. This involves organizing a
process
Sprint Planning Meeting (during which the team expands Product
Backlog into Sprint Backlog), a Sprint Review Meeting (during
which the newly developed functionality is demonstrated), shielding
the team from outside disturbances, holding brief Daily Scrum
meetings, and removing obstacles to progress.
Manage Product The Product Owner makes decisions about when to create an official
the Owner release. For a variety of reasons it may not be desirable to release at
the conclusion of every increment. Similarly, if an official release is
release
planned for after the fifth increment it may be released (with fewer
features) after the fourth increment in order to respond to
competitive moves or capture early market share. The Product
Owner makes these decisions in a manner consistent with the
investment vision that has been established for the project.
Management is responsible
for maximizing value
•Vision
•Functionality and business
architecture
•Releases
•Target Technical architecture
•Development infrastructure and
technology
•Return on Investment
•1st Year Plan
•2ndYear Plan
© Advanced Development Methods 2002 All Rights Reserved 40
Scrum Tutorial
Complexity Factor
2.0
..6
Requirements
.2
.0 Complex
.2
..6
Deployment
Technology
Daily Scrums
per Sprint
Sprint 1 9:00AM
9:15AM
9:15AM
Sprint 2 9:30AM
9:30AM
9:45AM
Sprint 3
9:45AM
10:00AM
Coordinating
Scrum of Scrums
Adjust estimates
• Market share
• Documents per hour
• Customer calls per hour
• Revenue per salesperson
2500
2000
1500
1000
500
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
Time
Sprint Signatures
Report Progress
•ROI analysis
•Product backlog analysis
•Recommendations
Managing a Release
Managing a Release
To the customer, business value is a
function of his or her choice of cost,
quality, time, and functionality:
Value driven projects leave the
determination of the four variables in
the customers’ hands throughout the
project.
The customer only commits to one
Sprint at a time.
The customer authorizes development
iterations by iteration, and is free to
change any of the variables based on
progress to date and the business
value that is provided.
etc. etc.
2 Requirements management √√
2 Software project planning √√
2 Software project tracking √√
and oversight
2 Software subcontract
management
2 Software quality assurance √√
2 Software configuration √
management
3 Organization process focus √
3 Organization process √
definition
3 Training program
3 Integrated software
management
3 Software product √√
engineering
3 Intergroup coordination √
3 Peer review
9:15AM
Sprint 2 9:30AM
9:30AM
9:45AM
Sprint 3
9:45AM
10:00AM
Coordinating
Scrum of Scrums
© Advanced Development Methods 2002 All Rights Reserved 60
Scrum Tutorial
Planning
Scrum xP
Agile Epiphanies
The business project manager realizes it’s ok to proceed without
all of the requirements being defined.
The developers realize that it’s ok to proceed without having all
of the requirements documented.
The business project manager sees a product increment
demonstrated at the end of each of the several Sprints. He or she
realizes their involvement was important and had an immediate,
tangible result. He or she also realize that the project will be
successful and deliver them something they want and need.
A team member realizes someone will help when problems
occur.
The IT project manager senses teamwork after walking through a
co-located team area. The buzz, energy, and focus are palpable.
The business and IT Project Manager realize they don’t have to
tell the team what to do or ensure that it does it.
The team realizes that no one is going to tell it what to do; the
team has to figure out what work to do on its own.
The team stops seeming like individual roles of “testers and
programmers” and everyone starts acting like “developers.”
Questions?