Vous êtes sur la page 1sur 79

eXtreme Programming (XP)

May Be Embedded Inside Scrum

Edison Lascano
Army Polytechnic School / Ecuador
elascano@dcc.espe.edu.ec

SSTC-2009 Salt Lake City


04-23-2009
Salt Lake City April/2009

y Who knows Agile???


y Who uses agile?
y Who uses Scrum?
y Who
Wh uses XP?
y Who uses traditional (waterfall…)

2
Salt Lake City April/2009

What This Session Is Not


y To convince yyou to use Agile
g
y A deep comparison between Traditional
aand Agile
g e
y A comparison between XP and Scrum

3
Salt Lake City April/2009

Outline
y Software Development
p Life Cycle
y
y Agile Manifesto
y Scrum
y XP
y XP embedded
b dd d inside
i id Scrum
S
y Conclusions

4
Salt Lake City April/2009

SDLC

“Software Development Life Cycle”

5
Salt Lake City April/2009

Agile Manifesto

Source: http://agilemanifesto.org/
6
Salt Lake City April/2009

Waterfall vs.
vs Agile
Traditional Agile

Detailed plan Dynamic plan

Sequential phases conducted by Iterative phases conducted by product


documentation deliveryy ((byy pprioritizing)
g)
Errors may be magnified Errors may be minimized
Functionality at the end Functionality after each iteration:
Increments of the system every thirty
days or less
One Long period of time Short periods of time
Project Manager Team self management

Requirements Analysis Customers working with


development team (every iteration)
epo ts ((Docs)
Reports ocs) Communication
Co u cat o

7
The State Of Agile
g Development
p
Salt Lake City April/2009

(VERSIONONE)

Which Agile methodology


do you
follow most closely?

Source: VERSIONONE
http://www.versionone.com/pdf/3rdAnnualStateOfAgile_FullDataReport.pdf
8
Salt Lake City April/2009

Scrum

9
Salt Lake City April/2009

Scrum
y Scrum, more a framework than a
methodology.
y Transparency:
a spa e cy: itt allows
a ows to inspect
spect actual
actua
working software
y Management focus
y Working software every two or four
weeks

10
Salt Lake City April/2009

Scrum Life Cycle

- -
Daily
- Scrum
-
- -
< 15 min

-
Product Backlog Sprint
Item 1 Backlogg Sprint Potentially
P i ll

-----------
Shippable
- 2-4 weeks…
- Sprint
- - -
- - -

Item 2 Software
Task 1

- - -

-
Item 3 Task 2 Review

11
Salt Lake City April/2009

Product Backlog
To-do list that shows the result of the
product owner’s work.
Product Owner(PO):
Compiles all the features (story users)
Prioritizes them.
A
Accept
t or reject
j t results
lt
Responsible for ROI
Product Backlog
Item 1
Interface between developer and
Item 2 customer

Item 3

12
Salt Lake City April/2009

Sprint Backlog
Before each sprint
p begins,
g the highest
g
priority goals are transferred to the
p
sprint backlogg in a “Sprint
p Planning g
Meeting”. Scrum Master(SM):
Coach, gatekeeper.
In charge of: engineering
practices improvement, daily
Product Backlog Sprint Scrums, Sprint goals, evaluation
Backlogg meetings, sprint reviews,
impediments .
Feature 2 Task 1
- - -
Guides PO in ROI.
Feature 3 Task 2 Interface between ST and PO

13
Salt Lake City April/2009

Sprint
“30 day”
y p
period focused toward fixed
scheduled goals. No changes during a
p
Sprint
Scrum Team(ST):
7±2 members
Task
- - implementation
Product Backlog Sprint They decide how
Backlogg Sprint to work

Feature 2
- - -
Task 1
- - -

- 2-4 weeks…
-
-
Feature 3 Task 2

14
Salt Lake City April/2009

Daily Sprint
Main p
purpose
p is to eliminate speed
p
impediments:
ped e t bac
“Impediment backlog”
og
SM + ST + (PO)
•Done?
- -
Daily
•Do?
- Scrum
- •Impediments?
Impediments?
- -
< 15 min

-
Product Backlog Sprint
Backlogg Sprint
Feature 2
- - -
Task 1
- - -

- 2-4 weeks…
-
-
Feature 3 Task 2

15
Salt Lake City April/2009

Sprint Review
Team demonstrates the completed
p
feature (item) to the PO. Informal, no
slides needed, 2-hours,
SM + ST + PO + …
- -
Daily
- Scrum
-
- -
< 15 min

-
Product Backlog Sprint
Backlogg Sprint

- 2-4 weeks…
- Sprint
- - -
- - -

Feature 2 Task 1
- - -

-
Feature 3 Task 2 Review

16
First Shippable software Salt Lake City April/2009

(after 4 weeks) Shippable


software
Sprint1

Retrospective

SM + ST + PO + Customer
- -
Daily
- Scrum
-
- -
< 15 min

-
Product Backlog Sprint
Backlogg Sprint Potentially
P i ll

-----------
Shippable
- 2-4 weeks…
- Sprint
- - -
- - -

Feature 2 Software
Task 1
- - -

-
Feature 3 Task 2 Review

17
Second prioritized feature Salt Lake City April/2009

4 more weeks)
Shippable
pp Shippable
pp
software software
Sprint1 Sprint 2

Retrospective

SM + ST + PO + Customer
- -
Daily
- Scrum
-
- -
< 15 min

-
Product Backlog Sprint Potentially

---------------
Backlogg Shippable
pp
Sprint Software

- 2-4 weeks…
- Sprint
- - -
- - -

Task 1
- - -

Feature 3
-
Task 2 Review

18
Final Prioritized feature Salt Lake City April/2009

4 more weeks Shippable


software
Sprint 2
Shippable Shippable
software software
Sprint1 Sprint 3

Retrospective

SM + ST + PO + Customer
- -
Daily
- Scrum
-
- -
< 15 min

-
Sprint Potentially

--------------------
Backlogg Shippable
pp
Sprint Software

- 2-4 weeks…
- Sprint
- - -
- - -

Task 1
- - -

-
Task 2 Review

19
Final shippable software Salt Lake City April/2009

(after 12 weeks + planning…) Shippable


software
Sprint 2
Shippable Shippable
software software
Sprint1 Sprint 3

Retrospective

Potentially

--------------------
Shippable
pp
Software

20
Burndown charts: Sprint and Salt Lake City April/2009

Product
Velocity: hours/day
250

200

150

100

50

0
1 2 3 4 5 6 7 8 9
-50

Hours versus days

Velocityy may
y help
p to determine if the
product can be delivered on time or if
more resources are needed
21
Salt Lake City April/2009

Scrum Life Cycle


250
200
150
100
50
0
1 2 3 4 5 6 7 8 9

Product Backlog
Feature 1

Feature 2

Feature 3

22
Salt Lake City April/2009

Scrum Life Cycle


250
200
150
100
50
0
1 2 3 4 5 6 7 8 9

Product Backlog Sprint


Backlogg

Feature 2 Task 1
- - -

Feature 3 Task 2

23
Salt Lake City April/2009

Scrum Life Cycle


250
200
150
100
50
0
1 2 3 4 5 6 7 8 9

- -
Product Backlog Sprint
Backlogg Sprint
Feature 2
- - -
Task 1
- - -

- 2-4 weeks…
-
-
Feature 3 Task 2

24
Salt Lake City April/2009

Scrum Life Cycle


250
200
150
100
50
0
1 2 3 4 5 6 7 8 9

- -
Daily
- Scrum
-
- -
< 15 min

-
Product Backlog Sprint
Backlogg Sprint
Feature 2
- - -
Task 1
- - -

- 2-4 weeks…
-
-
Feature 3 Task 2

25
Salt Lake City April/2009

Scrum Life Cycle


250
200
150
100
50
0
1 2 3 4 5 6 7 8 9

- -
Daily
- Scrum
-
- -
< 15 min

-
Product Backlog Sprint
Backlogg Sprint
Feature 2
- - -
Task 1
- - -

- 2-4 weeks…
-
-
Feature 3 Task 2

26
Salt Lake City April/2009

Scrum Life Cycle


250
200
150
100
50
0
1 2 3 4 5 6 7 8 9

- -
Product Backlog Sprint
Backlogg Sprint
Feature 2 Task 1
- - -

- 2-4 weeks…
- -
Daily
-

- -
- - -
Scrum

-
< 15 min
Feature 3 Task 2
-

27
Salt Lake City April/2009

Scrum Life Cycle


250
200
150
100
50
0
1 2 3 4 5 6 7 8 9

- -
Product Backlog Sprint
Backlogg Sprint
Feature 2
- - -
Task 1
- - -

- 2-4 weeks…
-
--
Feature 3 Task 2
-
Daily
- Scrum
< 15 min
-
28
-
Salt Lake City April/2009

Scrum Life Cycle


250
200
150
100
50
0
1 2 3 4 5 6 7 8 9

- -
Product Backlog Sprint
Backlogg Sprint
Feature 2
- - -
Task 1
- - -

- 2-4 weeks…
-
- -

-
Feature 3 Task 2
D il
Daily
- Scrum
< 15 min
-
-
29
Salt Lake City April/2009

Scrum Life Cycle


250
200
150
100
50
0
1 2 3 4 5 6 7 8 9

- -
Product Backlog Sprint
Backlogg Sprint

- 2-4 weeks…
- Sprint
- - -
- - -

Feature 2 Task 1
- - -

-
Feature 3 Task 2 Review

30
Salt Lake City April/2009

Scrum Life Cycle


Shippable
250 software
200 Sprint1
150
100
50
Retrospective
0
1 2 3 4 5 6 7 8 9

- -
Product Backlog Sprint
Backlogg Sprint Potentially
P i ll

-----------
Shippable
- 2-4 weeks…
- Sprint
- - -
- - -

Feature 2 Software
Task 1
- - -

-
Feature 3 Task 2 Review

31
Salt Lake City April/2009

Scrum Life Cycle


250 Shippable Shippable
200 software software
150
Sprint1 Sprint 2
100
50 Retrospective

0
1 2 3 4 5 6 7 8 9

- -
Product Backlog Sprint Potentially

---------------
Backlogg Shippable
pp
Sprint Software

- 2-4 weeks…
- Sprint
- - -
- - -

Task 1
- - -

Feature 3
-
Task 2 Review

32
Salt Lake City April/2009

Scrum Life Cycle


Shippable
250 software
200
Sprint 2
Shippable Shippable
150 software software
100 Sprint1 Sprint 3
50
Retrospective
0
1 2 3 4 5 6 7 8 9

- -
Sprint Potentially

--------------------
Backlogg Shippable
pp
Sprint Software

- 2-4 weeks…
- Sprint
- - -
- - -

Task 1
- - -

-
Task 2 Review

33
Salt Lake City April/2009

Scrum Life Cycle


250
200
150
100
50
0
-50 1 2 3 4 5 6 7 8 9

Shippable

--------------------
Software

34
Salt Lake City April/2009

Scrum values
y Commitment
y Openness
y Focus
ocus
y Respect
y Courage

35
Scrum Practices
y Product Backlogg
y Sprint Backlog
y Sprint (and Sprint Planning Meeting)
y Daily Sprint (Daily Scrum Meeting)
y Sprint
S i Review
R i M Meeting
i
y Retrospective
y Scrum Master
y Scrum Teams
y Product Owner
36
Salt Lake City April/2009

Scrum has been used by


•Microsoft •Intuit
•Yahoo •Nielsen Media
•Google •First American Real Estate
•Electronic Arts •BMC Software
•Lockheed Martin •Ipswitch
•Philips •John Deere
•Siemens •Lexis Nexis
•Nokia •Sabre
•IBM •Salesforce.com
•Capital One •Time Warner
•BBC •Turner Broadcasting
•Oce
Oce

Source: Mountain Goat Software LLC


( http://www.mountaingoatsoftware.com/scrum-a-presentation )
37
Salt Lake City April/2009

eXtreme Programming

38
Salt Lake City April/2009

eXtreme Programming
y Discipline
p Approach
pp to Software
Development (Wells, D., “What is Extreme Programming? :
http://www.extremeprogramming.org)

y FFocused
d on the
th way the
th “programmers”
“ ”
program software.

39
Salt Lake City April/2009

eXtreme Programming
y Someone ggives you
y a problem
p
◦ What is the most important thing of this
problem
◦ We attempt to solve it with the first try
y Pair programming
p g g
y Code review
y Unit tests,
tests more and more while writing
◦ They must pass one by one
y R f t i
Refactoring
40
Salt Lake City April/2009

eXtreme Programming Life Cycle

Source: Extreme Programming: A gentle Introduction:


htt //
http://www.extremeprogramming.org/map/project.html
t i / / j t ht l

41
Salt Lake City April/2009

eXtreme Programming Life Cycle


y Based on a set of rules and practices
p
y It gives more emphasis on designing,
codingg and
co a testing.
test g.
y Nevertheless… so much freedom…

42
Salt Lake City April/2009

Planning
y User Stories
y Release planning
y Project velocity
y Iterations
y Move
M people
l around
d
y Stand-up meeting

43
Salt Lake City April/2009

Designing
y Simplicity
p y
y System metaphor
y CRC cards
y Spike solutions
y refactoring
f i

44
Salt Lake City April/2009

Coding
y Available customer
y Follow standards
y Unit test first
y Pair programmed
y Integrates
I code
d at a time
i
y Integrate often
y Collective code ownership
y Optimization
p
y No overtime
45
Salt Lake City April/2009

Testing
y Unit tests for all code
y Pass unit tests before releasing
y Any bug generates tests
y Acceptance tests

46
Salt Lake City April/2009

A single iteration in XP

Customer

(Adapted from “The need for Customer-Oriented Software Development” [7])


47
Salt Lake City April/2009

A single iteration in XP

Customer
User story

(Adapted from “The need for Customer-Oriented Software Development” [7])


48
Salt Lake City April/2009

A single iteration in XP

Programmer

Customer
User story

Tester

(Adapted from “The need for Customer-Oriented Software Development” [7])


49
Salt Lake City April/2009

A single iteration in XP

Programmer

Product
Customer
User story

Tester

(Adapted from “The need for Customer-Oriented Software Development” [7])


50
Salt Lake City April/2009

A single iteration in XP

Programmer

Product
Customer
User story
Refactoring

Tester

(Adapted from “The need for Customer-Oriented Software Development” [7])


51
Salt Lake City April/2009

XP (main) Values
y Communication ((improve
p it))
y Simplicity (seek it)
y Feedback (get it)
y Courage (proceed with)

52
XP Practices
Kent Beck defines 20 practices in his book “Extreme Programming
explained
explained”
◦ The planning game
◦ Small releases
◦ Metaphor
◦ Simple design
◦ Testing
◦ Refactoring
◦ Pair programming
◦ Collective ownershipp
◦ Continuous integration
◦ 40-hour week
◦ On
On-site
site customer
◦ Coding standards
53
Salt Lake City April/2009

XP and Scrum

54
XP and Scrum
y “Supporting eXtreme Programming with Scrum, How
we do
d Scrum”
S ” by
b Rachel
R h l Davies
D i Amarinda
A i d andd Joseph
J h
Pelrine (2003).

y “Scrum and XP from the Trenches “, Henrik Kniberg


(2007)

y “XP @ Scrum “ by ADM www.controlchaos.com (April-


2009)
y .
y .
y .
55
Salt Lake City April/2009

Scrum is missing something, isn


isn’tt it?

56
Salt Lake City April/2009

Scrum is missing something, isn


isn’tt it?
y How to design?
g
y How to code?
y How to test?

57
Salt Lake City April/2009

Scrum is good at something, isn


isn’tt it?
y Management
g
y Transparency

58
Salt Lake City April/2009

XP is missing something, isn


isn’tt it?
y

59
Salt Lake City April/2009

XP is missing something, isn


isn’tt it?
y Too open
p to be followed
y …Organization…

60
Salt Lake City April/2009

XP is good at something, isn


isn’tt it?
y Good rules and p
practices to design
g
y Good rules and practices to code
y Good rules and practices to test

61
Salt Lake City April/2009

XP and Scrum

62
63
64
65
66
67
68
Salt Lake City April/2009

Scrum Management Practices


y Product Backlogg
y Sprint Backlog
y Sprint
y Daily Scrum
y Product
P d Increment
I

69
Salt Lake City April/2009

XP Engineering Practices
y Simple
p Designg
y Testing
y Refactoring
y Pair programming
y Collective
C ll i ownership hi
y Continuous integration
y Standards to code

70
Salt Lake City April/2009

Advantages from Scrum to XP


y Better management
g
y Scalable projects
y Complement principles and practices
y The Product Owner concept
y Visibility
Vi ibili (B(Burn-down
d charts)
h )

71
Salt Lake City April/2009

Advantages from XP to Scrum


y Tells what to do duringg the sprint
p
y Tells how to program
y Tells how to program
y Complement principles and practices
y Collective
C ll i ownership hi
y Incremental design

72
Salt Lake City April/2009

Conclusions
Conclusions…
y.
y.
y.
y.
y.
y.
y.

73
Salt Lake City April/2009

Additional Information

74
Salt Lake City April/2009

Some links to learn


y Scrum: An Introduction to Scrum
◦ http://www.mountaingoatsoftware.com/scrum
-a-presentation

y Extreme Programming.org
◦ http://www.extremeprogramming.org/what.ht
ml
◦ And many others…

75
Salt Lake City April/2009

Agile Project Management Tools


y VersionOne,Vendor Y, XPlanner,Vendor X
y Sample:
◦ VersionOne http://www.versionone.com: five
stages to planning and executing projects:
x Product Planning,
x Release Planning,
x Iteration Planning,
x Iteration Tracking, and
x Review

76
Salt Lake City April/2009

References
1. 3rd Annual Survey: 2008, “The State of Agile Development”,
Conducted: June-July,
June July 2008
2008,
http://www.versionone.com/pdf/3rdAnnualStateOfAgile_FullData
Report.pdf
2
2. “Manifesto
Manifesto for Agile Software Development
Development”
http://www.agilemanifesto.org/
3. Gangolly, J. “System Analysis & Design”, ”Methodologies for
System Development
Development”, October 1997,
1997
http://www.albany.edu/acc/courses/fall97/acc681/ch7.html
4. “An Introduction to Scrum,” presentation by Mike Cohn,
htt //
http://www.mountaingoatsoftware.com/scrum-a-presentation
t i t ft / t ti
5. Wells, D., “What is Extreme Programming?
“http://www.extremeprogramming.org/what.html
6. Control Chaos, Scrum It’s About Common Sense, “XP @ Scrum”,
http://www.controlchaos.com/about/xp.php
Edison Lascano , pg.77
Salt Lake City April/2009

References
7. Passova S., EBIZQ in action Conference Series, “The need for
Customer Oriented Software Development
Customer-Oriented Development”, 2005,
2005
http://www.ebizq.net/topics/dev_tools/features/5556.html?&pp=1
8. Henrik Kniberg, “Scrum and XP from the Trenches, How we do
Scrum”, 2007 C4Media Inc
Scrum

78
Salt Lake City April 22/2009

You can reuse this file as you need. Modifications or copies are allowed.
You can download this file from:
htt //
http://www.dcc.espe.edu.ec/scrumwithxp/scrumwithxp.ppt
d d / ith / ith t
And the whole document from:
http://www.dcc.espe.edu.ec/scrumwithxp/scrumwithxp.pdf

Edison Lascano
Ecuadorian Army Polytechnic School
elascano@dcc.espe.edu.ec

79