eXtreme Programming (XP) May Be Embedded Inside Scrum

7 downloads 0 Views 2MB Size Report
Apr 23, 2009 - Software Development Life Cycle p y. Agile Manifesto ... Potentially. Shippable. Software. Sprint. Review g. -. Review. 11 ..... •BMC Software.
eXtreme Programming (XP) May Be Embedded Inside Scrum Edison Lascano Army Polytechnic School / Ecuador [email protected]

SSTC-2009 Salt Lake City 04-23-2009

Salt Lake City April/2009

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

2

What This Session Is Not

Salt Lake City April/2009

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

3

Outline

Salt Lake City April/2009

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 y

4

Salt Lake City April/2009

SDLC

“Software Development Life Cycle”

5

Agile Manifesto

Salt Lake City April/2009

Source: http://agilemanifesto.org/ 6

Waterfall vs. vs Agile

Salt Lake City April/2009

Traditional

Agile

Detailed plan

Dynamic plan

Sequential phases conducted by documentation Errors may be magnified

Iterative phases conducted by product deliveryy ((byy pprioritizing) g) Errors may be minimized

Functionality at the end One Long period of time

Functionality after each iteration: Increments of the system every thirty days or less Short periods of time

Project Manager

Team self management

Requirements Analysis

Customers working with development team (every iteration)

epo ts ((Docs) ocs) Reports

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

Scrum

Salt Lake City April/2009

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 y

10

Salt Lake City April/2009

Scrum Life Cycle

-

Daily Scrum < 15 min

-

Product Backlog

Sprint g Backlog

Item 1

-

Item 2

Task 1 -

Item 3

-

-

Task 2

-

-

-

-

-

-

Sprint 2-4 weeks…

-

- Sprint -

-

-

-----------

-

Potentially P i ll Shippable Software

Review

11

Product Backlog

Salt Lake City April/2009

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 Product Backlog Item 1 Item 2

Responsible for ROI Interface between developer and 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 backlog g in a “Sprint p Planning g sprint Meeting”. Scrum Master(SM): Coach, gatekeeper.

Product Backlog

Sprint g Backlog

Feature 2 -

Feature 3

-

In charge of: engineering practices improvement, daily Scrums, Sprint goals, evaluation meetings, sprint reviews, impediments .

Task 1

Guides PO in ROI.

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

Product Backlog

-

Sprint g Backlog -

Feature 2

Task 1 -

Feature 3

-

-

-

-

Task implementation

-

Sprint 2-4 weeks…

They decide how to work

-

-

Task 2

14

Salt Lake City April/2009

Daily Sprint Main p purpose p is to eliminate speed p impediments: ped e t bac backlog” og “Impediment

SM + ST + (PO)

-

Daily Scrum

< 15 min

-

Product Backlog

Sprint g Backlog -

Feature 2

Task 1 -

Feature 3

-

-

-

-

•Done? •Do? Impediments? - •Impediments?

-

-

Sprint 2-4 weeks…

-

-

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 g Backlog -

Feature 2

Task 1 -

Feature 3

-

-

-

-

-

-

-

Sprint 2-4 weeks…

-

Task 2

-

- Sprint -

-

-

Review

16

First Shippable software (after 4 weeks)

Salt Lake City April/2009

Shippable software Sprint1

Retrospective

SM + ST + PO + Customer

-

Daily Scrum < 15 min

-

Product Backlog

Sprint g Backlog -

Feature 2

Task 1 -

Feature 3

-

-

-

-

-

-

-

Sprint 2-4 weeks…

-

Task 2

-

- Sprint -

-

-

-----------

-

Potentially P i ll Shippable Software

Review

17

Second prioritized feature 4 more weeks)

Salt Lake City April/2009

Shippable pp software Sprint1

Shippable pp software Sprint 2 Retrospective

SM + ST + PO + Customer

-

Daily Scrum < 15 min

-

Product Backlog

Sprint g Backlog -

Task 1 -

Feature 3

-

-

-

-

-

-

-

Sprint 2-4 weeks…

-

Task 2

-

- Sprint -

-

-

---------------

-

Potentially Shippable pp Software …

Review

18

Final Prioritized feature 4 more weeks Shippable software Sprint1

Salt Lake City April/2009

Shippable software Sprint 2

Shippable software Sprint 3

Retrospective

SM + ST + PO + Customer

-

Daily Scrum < 15 min

-

Sprint g Backlog -

Task 1 -

-

-

-

-

-

-

-

Sprint 2-4 weeks…

-

Task 2

-

- Sprint -

-

-

--------------------

-

Potentially Shippable pp Software … …

Review

19

Final shippable software (after 12 weeks + planning…)

Shippable software Sprint 3

Retrospective

--------------------

Shippable software Sprint1

Shippable software Sprint 2

Salt Lake City April/2009

Potentially Shippable pp Software … …

20

Burndown charts: Sprint and Product

Salt Lake City April/2009

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

Scrum Life Cycle

Salt Lake City April/2009

250 200 150 100 50 0 1

2

3

4

5

6

7

8

9

Product Backlog Feature 1 Feature 2 Feature 3

22

Scrum Life Cycle

Salt Lake City April/2009

250 200 150 100 50 0 1

2

3

4

Product Backlog

6

7

8

9

Sprint g Backlog

Feature 2

Task 1 -

Feature 3

5

-

-

Task 2

23

Salt Lake City April/2009

Scrum Life Cycle 250 200 150 100 50 0 1

2

3

4

Product Backlog

5

6

7

8

9

-

Sprint g Backlog -

Feature 2

Task 1 -

Feature 3

-

-

-

-

-

Sprint 2-4 weeks…

-

-

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 g Backlog -

Feature 2

Task 1 -

Feature 3

-

-

-

-

-

-

-

Sprint 2-4 weeks…

-

-

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

-

Product Backlog

-

Sprint g Backlog -

Feature 2

Task 1 -

Feature 3

-

-

-

-

-

-

Sprint 2-4 weeks…

Daily Scrum < 15 min

-

-

-

-

Task 2

26

Salt Lake City April/2009

Scrum Life Cycle 250 200 150 100 50 0 1

2

3

4

Product Backlog

5

6

7

8

9

-

Sprint g Backlog -

Feature 2

Task 1 -

Feature 3

-

-

-

-

-

Sprint 2-4 weeks…

-

Task 2

-

-

-

Daily Scrum < 15 min

-

-

27

Salt Lake City April/2009

Scrum Life Cycle 250 200 150 100 50 0 1

2

3

4

Product Backlog

5

6

7

8

9

-

Sprint g Backlog -

Feature 2

Task 1 -

Feature 3

-

-

-

-

-

Sprint 2-4 weeks…

-

-

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

Product Backlog

5

6

7

8

9

-

Sprint g Backlog -

Feature 2

Task 1 -

Feature 3

-

-

-

-

-

Sprint 2-4 weeks…

-

-

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

Product Backlog

5

6

7

8

9

-

Sprint g Backlog -

Feature 2

Task 1 -

Feature 3

-

-

-

-

-

Sprint 2-4 weeks…

-

Task 2

-

- Sprint -

-

-

Review

30

Salt Lake City April/2009

Scrum Life Cycle Shippable software Sprint1

250 200 150 100 50

Retrospective

0 2

3

4

Product Backlog

5

6

7

8

9

-

Sprint g Backlog -

Feature 2

Task 1 -

Feature 3

-

-

-

-

-

Sprint 2-4 weeks…

-

Task 2

-

- Sprint -

-

-

-----------

1

Potentially P i ll Shippable Software

Review

31

Salt Lake City April/2009

Scrum Life Cycle Shippable software Sprint1

250 200 150

Shippable software Sprint 2

100 Retrospective

50 0 2

3

4

Product Backlog

5

6

7

8

9

-

Sprint g Backlog -

Task 1 -

Feature 3

-

-

-

-

-

Sprint 2-4 weeks…

-

Task 2

-

- Sprint -

-

-

---------------

1

Potentially Shippable pp Software …

Review

32

Salt Lake City April/2009

Scrum Life Cycle 250 200

Shippable software Sprint1

150 100

Shippable software Sprint 2

Shippable software Sprint 3

50 Retrospective

0 2

3

4

5

6

7

8

9

-

Sprint g Backlog -

Task 1 -

-

-

-

-

-

Sprint 2-4 weeks…

-

Task 2

-

- Sprint -

-

-

--------------------

1

Potentially Shippable pp Software … …

Review

33

Scrum Life Cycle

Salt Lake City April/2009

250 200 150 100 50 0 1

2

3

4

5

6

7

8

9

--------------------

-50

Shippable Software … …

34

Scrum values

Salt Lake City April/2009

Commitment y Openness y Focus ocus y Respect y Courage y

35

Scrum Practices 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 y

36

Scrum has been used by •Microsoft •Yahoo •Google •Electronic Arts •Lockheed Martin •Philips •Siemens •Nokia •IBM •Capital One •BBC

Salt Lake City April/2009

•Intuit •Nielsen Media •First American Real Estate •BMC Software •Ipswitch •John Deere •Lexis Nexis •Sabre •Salesforce.com •Time Warner •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

eXtreme Programming y

Salt Lake City April/2009

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

eXtreme Programming y

Salt Lake City April/2009

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

Pair programming p g g y Code review y Unit tests, tests more and more while writing y

◦ 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 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… y

42

Planning

Salt Lake City April/2009

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

43

Designing

Salt Lake City April/2009

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

44

Coding

Salt Lake City April/2009

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 y

45

Testing

Salt Lake City April/2009

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

46

A single iteration in XP

Salt Lake City April/2009

Customer

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

A single iteration in XP

Customer

Salt Lake City April/2009

User story

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

A single iteration in XP

Salt Lake City April/2009

Programmer

Customer

User story

Tester

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

A single iteration in XP

Salt Lake City April/2009

Programmer

Product Customer

User story

Tester

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

A single iteration in XP

Salt Lake City April/2009

Programmer

Product Customer

User story Refactoring

Tester

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

XP (main) Values

Salt Lake City April/2009

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

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 and d Joseph J h Pelrine (2003).

y

“Scrum and XP from the Trenches “, Henrik Kniberg (2007)

y

“XP @ Scrum “ by ADM www.controlchaos.com (April2009) . . .

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? How to design? g y How to code? y How to test? y

57

Salt Lake City April/2009

Scrum is good at something, isn isn’tt it? Management g y Transparency y

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? Too open p to be followed y …Organization… y

60

Salt Lake City April/2009

XP is good at something, isn isn’tt it? Good rules and p practices to design g y Good rules and practices to code y Good rules and practices to test y

61

XP and Scrum

Salt Lake City April/2009

62

63

64

65

66

67

68

Salt Lake City April/2009

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

69

XP Engineering Practices

Salt Lake City April/2009

Simple p Design g y Testing y Refactoring y Pair programming y Collective C ll i ownership hi y Continuous integration y Standards to code y

70

Salt Lake City April/2009

Advantages from Scrum to XP 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 ) y

71

Salt Lake City April/2009

Advantages from XP to Scrum 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 y

72

Conclusions Conclusions…

Salt Lake City April/2009

. y. y. y. y. y. y. y

73

Salt Lake City April/2009

Additional Information

74

Some links to learn y

Salt Lake City April/2009

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

VersionOne,Vendor Y, XPlanner,Vendor X y Sample: y

◦ VersionOne http://www.versionone.com: five stages to planning and executing projects: x x x x x

Product Planning, Release Planning, Iteration Planning, Iteration Tracking, and Review

76

References

Salt Lake City April/2009

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

References

Salt Lake City April/2009

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 [email protected] 79