extreme programming may be embedded inside scrum

79
eXtreme Programming (XP) eXtreme Programming (XP) May Be Embedded Inside Scrum May Be Embedded Inside Scrum Edison Lascano Edison Lascano Army Polytechnic School / Ecuador [email protected] SSTC-2009 Salt Lake City 04-23-2009

Upload: edison-lascano

Post on 16-Jul-2015

77 views

Category:

Software


1 download

TRANSCRIPT

eXtreme Programming (XP) eXtreme Programming (XP) May Be Embedded Inside ScrumMay Be Embedded Inside Scrum

Edison LascanoEdison LascanoArmy Polytechnic School / [email protected]

SSTC-2009 Salt Lake City04-23-2009

Salt Lake City April/2009

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

2

What This Session Is NotWhat This Session Is NotSalt Lake City April/2009

What This Session Is NotWhat This Session Is Not

To convince you to use Agiley gA deep comparison between Traditional and Agilea g eA comparison between XP and Scrum

3

OutlineOutlineSalt Lake City April/2009

OutlineOutline

Software Development Life Cyclep yAgile ManifestoScrumScrumXPXP b dd d i id SXP embedded inside ScrumConclusions

4

SDLCSDLCSalt Lake City April/2009

SDLCSDLC

“Software Development Life Cycle”

5

Agile ManifestoAgile ManifestoSalt Lake City April/2009

Agile ManifestoAgile Manifesto

Source: http://agilemanifesto.org/

6

Waterfall vs AgileWaterfall vs AgileSalt Lake City April/2009

Waterfall vs. AgileWaterfall vs. AgileTraditional Agile

Detailed plan Dynamic plan

Sequential phases conducted by documentation

Iterative phases conducted by product delivery (by prioritizing)

Errors may be magnifiedy ( y p g)

Errors may be minimized

Functionality at the end Functionality after each iteration: Increments of the system every thirty

One Long period of timedays or lessShort periods of time

Project Manager Team self management

Requirements Analysis Customers working with development team (every iteration)

Reports (Docs) Communicationepo ts ( ocs) Co u cat o

7

The State Of Agile Development The State Of Agile Development Salt Lake City April/2009

g pg p(VERSIONONE)(VERSIONONE)

Which Agile methodology do youfollow most closely?follow most closely?

Source: VERSIONONEhttp://www.versionone.com/pdf/3rdAnnualStateOfAgile_FullDataReport.pdf

8

Salt Lake City April/2009

ScrumScrum

9

ScrumScrumSalt Lake City April/2009

ScrumScrum

Scrum, more a framework than a methodology.Transparency: it allows to inspect actual a spa e cy: t a ows to spect actua working softwareManagement focusManagement focusWorking software every two or four weeksweeks

10

Scrum Life CycleScrum Life CycleSalt Lake City April/2009

Scrum Life CycleScrum Life Cycle

--Daily

Scrum

Item 1

---

--

Sprint

< 15 min

- P i ll

Product Backlog SprintBacklogItem 1

Item 2

Item 3

Task 1

Task 2

--Sprint2-4 weeks…

---

------

----

----

-- Potentially Shippable Software

SprintReview

g

- Review

11

Product BacklogProduct BacklogSalt Lake City April/2009

Product BacklogProduct Backlog

To-do list that shows the result of the product owner’s work.

Product Owner(PO):Product Owner(PO):Compiles all the features (story users)Prioritizes them.A t j t ltAccept or reject resultsResponsible for ROI

Product BacklogItem 1

Interface between developer and customer

Item 1

Item 2

Item 3

12

Sprint BacklogSprint BacklogSalt Lake City April/2009

Sprint BacklogSprint Backlog

Before each sprint begins, the highest p g gpriority goals are transferred to the sprint backlog in a “Sprint Planning p g p gMeeting”. Scrum Master(SM):

Coach, gatekeeper.

Product Backlog SprintBacklog

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

Feature 2

Feature 3

Task 1

Task 2

---

g meetings, sprint reviews, impediments . Guides PO in ROI.Interface between ST and POInterface between ST and PO

13

SprintSprintSalt Lake City April/2009

SprintSprint

“30 day” period focused toward fixed y pscheduled goals. No changes during a Sprintp

Scrum Team(ST):7±2 members

Task--

SprintProduct Backlog Sprint

Backlog

Task implementationThey decide how to work

Feature 2

Feature 3

Task 1

Task 2

--Sprint2-4 weeks…

---

---

g to work

-14

Daily SprintDaily SprintSalt Lake City April/2009

Daily SprintDaily Sprint

Main purpose is to eliminate speed p p pimpediments:“Impediment backlog”

--Daily

Scrum

ped e t bac og•Done?•Do?•Impediments?

SM + ST + (PO)

---

--

Sprint

< 15 min

Product Backlog SprintBacklog

Impediments?

Feature 2

Feature 3

Task 1

Task 2

--Sprint2-4 weeks…

---

---

g

-15

Sprint ReviewSprint ReviewSalt Lake City April/2009

Sprint ReviewSprint Review

Team demonstrates the completed pfeature (item) to the PO. Informal, no slides needed, 2-hours,

--Daily

Scrum

SM + ST + PO + …

---

--

Sprint

< 15 min

Product Backlog SprintBacklog

Feature 2

Feature 3

Task 1

Task 2

--Sprint2-4 weeks…

---

------

SprintReview

g

- Review

16

First Shippable software First Shippable software Salt Lake City April/2009

(after 4 weeks)(after 4 weeks)Shippable software Sprint1

Retrospective

--Daily

Scrum

SM + ST + PO + Customer

---

--

Sprint

< 15 min

- P i ll

Product Backlog SprintBacklog

Feature 2

Feature 3

Task 1

Task 2

--Sprint2-4 weeks…

---

------

----

----

-- Potentially Shippable Software

SprintReview

g

- Review

17

Second prioritized featureSecond prioritized feature Salt Lake City April/2009

4 more weeks)4 more weeks)Shippable Shippable

Retrospective

ppsoftware Sprint1

ppsoftware Sprint 2

--Daily

Scrum

SM + ST + PO + Customer

---

--

Sprint

< 15 min

----

--- Potentially

Shippable Product Backlog Sprint

Backlog

Feature 3

Task 1

Task 2

--Sprint2-4 weeks…

---

------

----

----

ppSoftware…

SprintReview

g

- Review

18

Final Prioritized featureFinal Prioritized feature Salt Lake City April/2009

4 more weeks4 more weeksShippable

Shippable software Sprint 2

Shippable

Retrospective

Shippable software Sprint1

Shippable software Sprint 3

--Daily

Scrum

SM + ST + PO + Customer

---

--

Sprint

< 15 min

----

--- Potentially

Shippable

SprintBacklog

Task 1

Task 2

--Sprint2-4 weeks…

---

------

----

----

----

- ppSoftware……Sprint

Review

g

- Review

19

Final shippable software Final shippable software Salt Lake City April/2009

(after 12 weeks + planning…)(after 12 weeks + planning…)Shippable

Shippable software Sprint 2

Shippable

Retrospective

Shippable software Sprint1

Shippable software Sprint 3

----

--- Potentially

Shippable

----

----

----

- ppSoftware……

20

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

ProductProduct

200

250

Velocity: hours/day

50

100

150

-50

0

50

1 2 3 4 5 6 7 8 9

Velocity may help to determine if the

Hours versus days

y y pproduct can be delivered on time or if more resources are needed

21

Scrum Life CycleScrum Life CycleSalt Lake City April/2009

Scrum Life CycleScrum Life Cycle

200

250

0

50

100

150

1 2 3 4 5 6 7 8 9

Product Backlog

Feature 1

Feature 2

Feature 3Feature 3

22

Scrum Life CycleScrum Life CycleSalt Lake City April/2009

Scrum Life CycleScrum Life Cycle

200

250

0

50

100

150

1 2 3 4 5 6 7 8 9

Product Backlog SprintBacklog

Feature 2

Feature 3

Task 1

Task 2

---

g

23

Scrum Life CycleScrum Life CycleSalt Lake City April/2009

Scrum Life CycleScrum Life Cycle

200

250

0

50

100

150

1 2 3 4 5 6 7 8 9

--Sprint

Product Backlog SprintBacklog

Feature 2

Feature 3

Task 1

Task 2

--Sprint2-4 weeks…

---

---

g

-24

Scrum Life CycleScrum Life CycleSalt Lake City April/2009

Scrum Life CycleScrum Life Cycle

200

250

0

50

100

150

--Daily

Scrum

1 2 3 4 5 6 7 8 9

---

--

Sprint

< 15 min

Product Backlog SprintBacklog

Feature 2

Feature 3

Task 1

Task 2

--Sprint2-4 weeks…

---

---

g

-25

Scrum Life CycleScrum Life CycleSalt Lake City April/2009

Scrum Life CycleScrum Life Cycle

200

250

0

50

100

150

--Daily

Scrum

1 2 3 4 5 6 7 8 9

---

--

Sprint

< 15 min

Product Backlog SprintBacklog

Feature 2

Feature 3

Task 1

Task 2

--Sprint2-4 weeks…

---

---

g

-26

Scrum Life CycleScrum Life CycleSalt Lake City April/2009

Scrum Life CycleScrum Life Cycle

200

250

0

50

100

150

1 2 3 4 5 6 7 8 9

--Sprint

Product Backlog SprintBacklog

Feature 2

Feature 3

Task 1

Task 2

-- -

--

-

Sprint2-4 weeks…

Daily Scrum< 15 min

---

---

g

- -

27

Scrum Life CycleScrum Life CycleSalt Lake City April/2009

Scrum Life CycleScrum Life Cycle

200

250

0

50

100

150

1 2 3 4 5 6 7 8 9

--Sprint

Product Backlog SprintBacklog

Feature 2

Feature 3

Task 1

Task 2

--Sprint2-4 weeks…

---

---

g

- -

--

-

-Daily

Scrum< 15 min

28

Scrum Life CycleScrum Life CycleSalt Lake City April/2009

Scrum Life CycleScrum Life Cycle

200

250

0

50

100

150

1 2 3 4 5 6 7 8 9

--Sprint

Product Backlog SprintBacklog

Feature 2

Feature 3

Task 1

Task 2

----

Sprint2-4 weeks…

D il

---

---

g

---

-Daily

Scrum< 15 min

29

Scrum Life CycleScrum Life CycleSalt Lake City April/2009

Scrum Life CycleScrum Life Cycle

200

250

0

50

100

150

1 2 3 4 5 6 7 8 9

--Sprint

Product Backlog SprintBacklog

Feature 2

Feature 3

Task 1

Task 2

--Sprint2-4 weeks…

---

------

SprintReview

g

- Review

30

Scrum Life CycleScrum Life CycleSalt Lake City April/2009

Scrum Life CycleScrum Life Cycle

200

250

Shippable software Sprint1

0

50

100

150

Retrospective

1 2 3 4 5 6 7 8 9

--Sprint - P i ll

Product Backlog SprintBacklog

Feature 2

Feature 3

Task 1

Task 2

--Sprint2-4 weeks…

---

------

----

----

-- Potentially Shippable Software

SprintReview

g

- Review

31

Scrum Life CycleScrum Life CycleSalt Lake City April/2009

Scrum Life CycleScrum Life Cycle

200

250 Shippable software

Shippable software

0

50

100

150

Retrospective

Sprint1 Sprint 2

1 2 3 4 5 6 7 8 9

--Sprint --

----

- Potentially Shippable

Product Backlog SprintBacklog

Feature 3

Task 1

Task 2

--Sprint2-4 weeks…

---

------

----

----

ppSoftware…

SprintReview

g

- Review

32

Scrum Life CycleScrum Life CycleSalt Lake City April/2009

Scrum Life CycleScrum Life Cycle

200

250

Shippable

Shippable software Sprint 2

Shippable

0

50

100

150

Retrospective

Shippable software Sprint1

Shippable software Sprint 3

1 2 3 4 5 6 7 8 9

--Sprint --

----

- Potentially Shippable

SprintBacklog

Task 1

Task 2

--Sprint2-4 weeks…

---

------

----

----

----

- ppSoftware……Sprint

Review

g

- Review

33

Scrum Life CycleScrum Life CycleSalt Lake City April/2009

Scrum Life CycleScrum Life Cycle

200

250

0

50

100

150

-50 1 2 3 4 5 6 7 8 9

----

--- Shippable

Software

----

----

----

- Software……

34

Scrum valuesScrum valuesSalt Lake City April/2009

Scrum valuesScrum valuesCommitmentOpennessFocusocusRespectCourageCourage

35

Scrum PracticesScrum PracticesScrum PracticesScrum Practices

Product BackloggSprint BacklogSprint (and Sprint Planning Meeting)Sprint (and Sprint Planning Meeting)Daily Sprint (Daily Scrum Meeting)S i R i M iSprint Review MeetingRetrospectiveScrum MasterScrum TeamsProduct Owner

36

Scrum has been used byScrum has been used bySalt Lake City April/2009

Scrum has been used byScrum has been used by

•Microsoft •Intuit•Yahoo•Google•Electronic Arts•Lockheed Martin

•Nielsen Media•First American Real Estate•BMC Software•Ipswitch•Lockheed Martin

•Philips•Siemens•Nokia

•Ipswitch•John Deere•Lexis Nexis•Sabre

•IBM•Capital One•BBC

•Salesforce.com•Time Warner•Turner Broadcasting•OceOce

Source: Mountain Goat Software LLCSource: Mountain Goat Software LLC ( http://www.mountaingoatsoftware.com/scrum-a-presentation )

37

Salt Lake City April/2009

eXtreme ProgrammingeXtreme Programming

38

eXtreme ProgrammingeXtreme ProgrammingSalt Lake City April/2009

eXtreme ProgrammingeXtreme Programming

Discipline Approach to Software p ppDevelopment (Wells, D., “What is Extreme Programming? :

http://www.extremeprogramming.org)

F d th th “ ” Focused on the way the “programmers” program software.

39

eXtreme ProgrammingeXtreme ProgrammingSalt Lake City April/2009

eXtreme ProgrammingeXtreme Programming

Someone gives you a problemg y p◦ What is the most important thing of this

problem◦ We attempt to solve it with the first try

Pair programmingp g gCode reviewUnit tests more and more while writingUnit tests, more and more while writing◦ They must pass one by one

R f t iRefactoring

40

eXtreme Programming Life CycleeXtreme Programming Life CycleSalt Lake City April/2009

eXtreme Programming Life CycleeXtreme Programming Life Cycle

Source: Extreme Programming: A gentle Introduction:htt // t i / / j t ht lhttp://www.extremeprogramming.org/map/project.html

41

eXtreme Programming Life CycleeXtreme Programming Life CycleSalt Lake City April/2009

eXtreme Programming Life CycleeXtreme Programming Life Cycle

Based on a set of rules and practicespIt gives more emphasis on designing, coding and testing.co g a test g.Nevertheless… so much freedom…

42

PlanningPlanningSalt Lake City April/2009

PlanningPlanning

User StoriesRelease planningProject velocityProject velocityIterationsM l dMove people aroundStand-up meeting

43

DesigningDesigningSalt Lake City April/2009

DesigningDesigning

Simplicityp ySystem metaphorCRC cardsCRC cardsSpike solutions

f irefactoring

44

CodingCodingSalt Lake City April/2009

CodingCoding

Available customerFollow standardsUnit test firstUnit test firstPair programmedI d iIntegrates code at a timeIntegrate oftenCollective code ownershipOptimizationpNo overtime

45

TestingTestingSalt Lake City April/2009

TestingTesting

Unit tests for all codePass unit tests before releasingAny bug generates testsAny bug generates testsAcceptance tests

46

A single iteration in XPA single iteration in XPSalt Lake City April/2009

A single iteration in XPA single iteration in XP

Customer

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

A single iteration in XPA single iteration in XPSalt Lake City April/2009

A single iteration in XPA single iteration in XP

CustomerUser story

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

A single iteration in XPA single iteration in XPSalt Lake City April/2009

A single iteration in XPA single iteration in XP

PProgrammer

CustomerUser story

Tester

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

A single iteration in XPA single iteration in XPSalt Lake City April/2009

A single iteration in XPA single iteration in XP

PProgrammer

ProductCustomer

User story

Tester

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

A single iteration in XPA single iteration in XPSalt Lake City April/2009

A single iteration in XPA single iteration in XP

PProgrammer

ProductCustomer

User storyRefactoring

Tester

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

XP (main) ValuesXP (main) ValuesSalt Lake City April/2009

XP (main) ValuesXP (main) Values

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

52

XP PracticesXP PracticesXP PracticesXP PracticesKent 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-site customerOn site customer

◦ Coding standards

53

Salt Lake City April/2009

XP and ScrumXP and Scrum

54

XP and ScrumXP and ScrumXP and ScrumXP and Scrum“Supporting eXtreme Programming with Scrum, How

d S ” b R h l D i A i d d J h we do Scrum” by Rachel Davies Amarinda and Joseph Pelrine (2003).

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

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

55

Scrum is missing something, isn’t it?Scrum is missing something, isn’t it?Salt Lake City April/2009

Scrum is missing something, isn t it?Scrum is missing something, isn t it?

56

Scrum is missing something, isn’t it?Scrum is missing something, isn’t it?Salt Lake City April/2009

Scrum is missing something, isn t it?Scrum is missing something, isn t it?

How to design?gHow to code?How to test?How to test?

57

Scrum is good at something, isn’t it?Scrum is good at something, isn’t it?Salt Lake City April/2009

Scrum is good at something, isn t it?Scrum is good at something, isn t it?

ManagementgTransparency

58

XP is missing something, isn’t it?XP is missing something, isn’t it?Salt Lake City April/2009

XP is missing something, isn t it?XP is missing something, isn t it?

59

XP is missing something, isn’t it?XP is missing something, isn’t it?Salt Lake City April/2009

XP is missing something, isn t it?XP is missing something, isn t it?

Too open to be followedp…Organization…

60

XP is good at something, isn’t it?XP is good at something, isn’t it?Salt Lake City April/2009

XP is good at something, isn t it?XP is good at something, isn t it?

Good rules and practices to designp gGood rules and practices to codeGood rules and practices to testGood rules and practices to test

61

XP and ScrumXP and ScrumSalt Lake City April/2009

XP and ScrumXP and Scrum

62

63

64

65

66

67

68

Scrum Management PracticesScrum Management PracticesSalt Lake City April/2009

Scrum Management PracticesScrum Management Practices

Product BackloggSprint BacklogSprintSprintDaily ScrumP d IProduct Increment

69

XP Engineering PracticesXP Engineering PracticesSalt Lake City April/2009

XP Engineering PracticesXP Engineering Practices

Simple Designp gTestingRefactoringRefactoringPair programmingC ll i hiCollective ownershipContinuous integrationStandards to code

70

Advantages from Scrum to XPAdvantages from Scrum to XPSalt Lake City April/2009

Advantages from Scrum to XPAdvantages from Scrum to XP

Better managementgScalable projectsComplement principles and practicesComplement principles and practicesThe Product Owner conceptVi ibili (B d h )Visibility (Burn-down charts)

71

Advantages from XP to ScrumAdvantages from XP to ScrumSalt Lake City April/2009

Advantages from XP to ScrumAdvantages from XP to Scrum

Tells what to do during the sprintg pTells how to programTells how to programTells how to programComplement principles and practicesC ll i hiCollective ownershipIncremental design

72

ConclusionsConclusionsSalt Lake City April/2009

Conclusions…Conclusions…

.

.

.

.

.

.

.

73

Salt Lake City April/2009

Additional InformationAdditional Information

74

Some links to learnSome links to learnSalt Lake City April/2009

Some links to learnSome links to learn

Scrum: An Introduction to Scrum◦ http://www.mountaingoatsoftware.com/scrum

-a-presentation

Extreme Programming.orgExtreme Programming.org◦ http://www.extremeprogramming.org/what.ht

ml◦ And many others…

75

Agile Project Management ToolsAgile Project Management ToolsSalt Lake City April/2009

Agile Project Management ToolsAgile Project Management Tools

VersionOne, Vendor Y, XPlanner, Vendor XSample:◦ VersionOne http://www.versionone.com: five VersionOne http://www.versionone.com: five

stages to planning and executing projects:Product Planning, Release Planning, Iteration Planning, Iteration Tracking, and Review

76

ReferencesReferencesSalt Lake City April/2009

ReferencesReferences1. 3rd Annual Survey: 2008, “The State of Agile Development”,

Conducted: June July 2008 Conducted: June-July, 2008, http://www.versionone.com/pdf/3rdAnnualStateOfAgile_FullDataReport.pdf

2 “Manifesto for Agile Software Development” 2. Manifesto for Agile Software Development http://www.agilemanifesto.org/

3. Gangolly, J. “System Analysis & Design”, ”Methodologies for System Development” October 1997 System Development , October 1997, http://www.albany.edu/acc/courses/fall97/acc681/ch7.html

4. “An Introduction to Scrum,” presentation by Mike Cohn, htt // t i t ft / t tihttp://www.mountaingoatsoftware.com/scrum-a-presentation

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

ReferencesReferencesSalt Lake City April/2009

ReferencesReferences7. Passova S., EBIZQ in action Conference Series, “The need for

Customer Oriented Software Development” 2005 Customer-Oriented Software Development , 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 IncScrum , 2007 C4Media Inc

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 // d d / ith / ith t

Edison LascanoEcuadorian Army Polytechnic School

http://www.dcc.espe.edu.ec/scrumwithxp/scrumwithxp.pptAnd the whole document from:http://www.dcc.espe.edu.ec/scrumwithxp/scrumwithxp.pdf

Ecuadorian Army Polytechnic [email protected]

79