Professional Documents
Culture Documents
Roadmap
XP coping with change and uncertainty
> Customers and Developers why do we plan?
> The Planning Game
>
Iteration
> Scrum
> Agile lessons from industry
>
Oscar Nierstrasz
ESE 3.2
Sources
>
>
www.extremeprogramming.org
Oscar Nierstrasz
ESE 3.3
Roadmap
Iteration
> Scrum
> Agile lessons from industry
>
Oscar Nierstrasz
ESE 3.4
Extreme Programming
Product
Planning
GameXP is a set of mutually
Process
Simple Design
System
supportive
practices for
Metaphor
Teamwork
Continuous
Integration
developing quality software
Testing
Refactoring
Coding
Pair programming
Collective Code
Ownership
40 Hour Week
On-Site Customer
Joseph
Oscar Nierstrasz
Coding
Standards
Small
Releases
Driving Metaphor
>
ESE 3.6
Roadmap
XP coping with change and uncertainty
> Customers and Developers why do we plan?
> The Planning Game
>
Iteration
> Scrum
> Agile lessons from industry
>
Oscar Nierstrasz
ESE 3.7
Why we plan
Oscar Nierstrasz
ESE 3.8
Oscar Nierstrasz
ESE 3.9
Customer-Developer Relationships
A well-known experience in Software Development:
The customer and the developer sit in a small boat in the ocean and
are afraid of each other.
Customer fears
They won't get what they asked for
They must surrender the control of
their careers to techies who don't care
They'll pay too much for too little
They won't know what is going on (the
plans they see will be fairy tales)
Developer fears
They won't be given clear definitions
of what needs to be done
They will be given responsibility
without authority
They will be told to do things that don't
make sense
They'll have to sacrifice quality for
deadlines
ESE 3.10
ESE 3.11
Separation of Roles
Customer makes business decisions
Developers make technical decisions
Business Decisions
Technical Decisions
Scope
Estimates
Priority
Team velocity
Warnings about technical risks
ESE 3.13
Roadmap
XP coping with change and uncertainty
> Customers and Developers why do we plan?
> The Planning Game
>
Iteration
> Scrum
> Agile lessons from industry
>
Oscar Nierstrasz
ESE 3.14
Overview:
Oscar Nierstrasz
ESE 3.15
Developers
Write Story
Exploration Phase
Estimate Story
Split Story
Sort Stories by Value
Sort Stories by Risk
Commitment Phase
Set Velocity
Choose Scope
Iteration
Steering Phase
Recovery
New Story
Oscar Nierstrasz
Reestimate
ESE 3.16
Roadmap
XP coping with change and uncertainty
> Customers and Developers why do we plan?
> The Planning Game
>
Iteration
> Scrum
> Agile lessons from industry
>
Oscar Nierstrasz
ESE 3.17
Purpose:
The Moves:
Oscar Nierstrasz
ESE 3.18
User Stories
Oscar Nierstrasz
Stories
A story contains:
> a name
> the story itself
> an estimate
Example:
When the GPS has contact with two or fewer satellites for more
than 60 seconds, it should display the message Poor satellite
contact, and wait for confirmation from the user. If contact
improves before confirmation, clear the message automatically.
Oscar Nierstrasz
ESE 3.20
Splitting Stories
Oscar Nierstrasz
ESE 3.21
Roadmap
XP coping with change and uncertainty
> Customers and Developers why do we plan?
> The Planning Game
>
Iteration
> Scrum
> Agile lessons from industry
>
Oscar Nierstrasz
ESE 3.22
Begin with the stories that you feel the most comfortable estimating.
Intuitively imagine how long it will take you.
Base other estimates on the comparison with those first stories.
Spike Solutions:
Oscar Nierstrasz
ESE 3.23
Estimating Stories
Keys to effective story estimation:
> Keep it simple
> Use what happened in the past (Yesterdays weather)
> Learn from experience
Comparative story estimation:
> One story is often an elaboration of a closely related one
> Look for stories that have already been implemented
> Compare difficulties, not implementation time
twice as difficult, half as difficult
estimates.
Oscar Nierstrasz
ESE 3.24
Roadmap
XP coping with change and uncertainty
> Customers and Developers why do we plan?
> The Planning Game
>
Iteration
> Scrum
> Agile lessons from industry
>
Oscar Nierstrasz
ESE 3.25
Purpose:
>
Customer: to choose scope and date of next delivery
>
Developers: to confidently commit to deliver the next release
The Moves:
>
Customer: Sort by stories by value
Oscar Nierstrasz
ESE 3.26
Commitment Phase
>
>
1.
2.
3.
1.
1.
2.
fixing the date and choosing stories based on estimates and velocity
fixing the stories and calculating the delivery date
Oscar Nierstrasz
ESE 3.27
Roadmap
XP coping with change and uncertainty
> Customers and Developers why do we plan?
> The Planning Game
>
Iteration
> Scrum
> Agile lessons from industry
>
Oscar Nierstrasz
ESE 3.28
done.
> Recovery: Developers realize velocity is wrong
Oscar Nierstrasz
ESE 3.29
>
>
Oscar Nierstrasz
ESE 3.30
Roadmap
XP coping with change and uncertainty
> Customers and Developers why do we plan?
> The Planning Game
>
Iteration
> Scrum
> Agile lessons from industry
>
Oscar Nierstrasz
ESE 3.31
Iteration Planning
Oscar Nierstrasz
ESE 3.32
Iteration Planning
>
>
>
>
Oscar Nierstrasz
ESE 3.33
Roadmap
XP coping with change and uncertainty
> Customers and Developers why do we plan?
> The Planning Game
>
Iteration
> Scrum
> Agile lessons from industry
>
Oscar Nierstrasz
ESE 3.34
Scrum
The
The Scrum
Scrum Software
Software Development
Development Process
Process for
for Small
Small Teams.
Teams. In
In IEEE
IEEE Software,
Software, July
July 2000
2000
Product backlog
Sprint backlog
Sprint
Working increment
of the software
35
Scrum roles
Oscar Nierstrasz
36
>
>
Oscar Nierstrasz
37
>
>
>
>
>
Oscar Nierstrasz
38
>
Scrum of scrums
>
Sprint planning
>
Sprint review
>
Sprint retrospective
review sprint process
Oscar Nierstrasz
39
Roadmap
XP coping with change and uncertainty
> Customers and Developers why do we plan?
> The Planning Game
>
Iteration
> Scrum
> Agile lessons from industry
>
Oscar Nierstrasz
ESE 3.40
Oscar Nierstrasz
41
Oscar Nierstrasz
42
Oscar Nierstrasz
43
>
>
>
>
>
Oscar Nierstrasz
44
>
>
>
>
>
>
Oscar Nierstrasz
ESE 3.45
>
>
>
>
>
Oscar Nierstrasz
ESE 3.46
License
>
http://creativecommons.org/licenses/by-sa/3.0/
ESE 3.47