extreme programming may be embedded inside scrum
Post on 16-Jul-2015
72 Views
Preview:
TRANSCRIPT
eXtreme Programming (XP) eXtreme Programming (XP) May Be Embedded Inside ScrumMay Be Embedded Inside Scrum
Edison LascanoEdison LascanoArmy Polytechnic School / Ecuadorelascano@dcc.espe.edu.ec
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
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
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
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
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
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
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 Schoolelascano@dcc.espe.edu.ec
79
top related