Download - eXtreme Programming
![Page 1: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/1.jpg)
eXtremeeXtreme Programming Programming
Fad, Fall-back or Fail-safe Focus?
Fast Defect-Free Software Delivery!
http://www.xp.co.nz
![Page 2: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/2.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
SW Delivery - SW Delivery - What do we want?What do we want?
Implement the business processes Deliver to “expectations” User-friendly, “Intuitive”, Just how I would do it! Reliable software - Defect-free On Time delivery Within budget Future proofed.
![Page 3: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/3.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
Software Development Software Development FailuresFailures
70% of projects result in failure (legal letters)
70% of these are not technology problems But are change management or communication
problems!
Can we continue with methodologies with a
chance of success of less than 1/3rd?
![Page 4: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/4.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
““Old Economy”Old Economy”
We know what we are doing – ‘cause we have done it a 1000 times before
Give our really bright programmers detailed specifications and they will do exactly what they are told (they won’t need to think!)
We managers cannot learn much useful from geeks (Programmers don’t know anything about business!).
![Page 5: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/5.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
““New Economy”New Economy”
I have not been here beforeThere are no roads on my mapHey, I’m off the map!Where are:
– the deserts (there is nothing there)
– the uncrossable ravines (we cannot go forward)
– the wild gorillas (what will get us out there?)
– the swamps? (Will we catch a disease?)
![Page 6: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/6.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
How to cross new territory!How to cross new territory!
Set strategic goals Take short day marches
– Record every thing you do– Make sure at least 2 people are familiar with the route
Look around – what can you see? Make a decision about where to go tomorrow Check against our strategic goals.
![Page 7: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/7.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
Some people say . . .Some people say . . .
Develop software iterativelyManage requirementsUse component-based architectureVisually model softwareVerify software qualityControl changes.
![Page 8: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/8.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
But we say . . .But we say . . .
Develop software incrementallyReview requirements after every small stepDeliver small incremental components into
production every three weeksDon’t visualise - See the real thingBuild in and prove it is defect freeReview all requests every three weeks.
![Page 9: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/9.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
To effect change . . .To effect change . . .
Hit the block . . .Admit the way we do it is not workingSeek another wayTry another wayIf it works . . .
Embed it as OUR way.
![Page 10: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/10.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
Common SenseCommon Senseto the Extreme!to the Extreme!
Everybody will design every day System will always be the simplest possible Review code all the time Test all the time Define and refine architecture all the time Integrate and test several times a day Iterate every hour; deliver every day.
![Page 11: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/11.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
What is XP?What is XP?
Early, concrete and continuing feedback to the user in short cycles
Incremental planning all the time Flexible implementation schedule responding to
business needs Automatic tests to allow customers to monitor
progress Communication: Oral, tests, source code Evolutionary design!
![Page 12: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/12.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
XP in ShortXP in Short
User Stories The Planning Game Small Releases Metaphor Simple Design Test every case Refactoring
On-site customer Pair programming Coding Standards Collective Ownership Continuous
Integration 40-hour week.
![Page 13: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/13.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
Basic AttitudesBasic Attitudes
Rapid FeedbackAssume simplicityIncremental changeEmbracing changeQuality workPlus . . .
![Page 14: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/14.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
Four ValuesFour Values
Communication – user management to coders
SimplicityFeedbackCourage.
![Page 15: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/15.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
Secondary PrinciplesSecondary Principles
Teach learning Small initial investment Play to win Concrete experiments Open, honest communication Work with people’s instincts, not against them Accepted responsibility Local adaptation Travel light Honest measurement.
![Page 16: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/16.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
Managers must:Managers must:
Make IT happenCo-ordinateReportReward.
![Page 17: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/17.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
My Experience My Experience (Large package)(Large package)
Hit the Block (1m lines of code)
Integration tests repeatedly fail– 3 tier – DB Mtce, SQL procs, COM objects, actual code– Multiple environments – Unix, Novell, MS 3.1,98,Me
Brilliant code does not “fit” anymore Cannot locate impact of a change Bottleneck in the general admin program Bottleneck: stored procedures, WISE, Documentation
Surfacing n-tier deep error messages.
![Page 18: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/18.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
My SolutionMy Solution
Break code into separate applications & “core”– Redesign Build scripts – 3 weekly releases
Coding– Inspection – Pre/Post-assertion– Standards and style guides– Best practice Friday sessions– Test harnesses– Coverage and performance tests– Paired programmers
Feature “razor”.
![Page 19: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/19.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
One pair in One dayOne pair in One day
Whiteboard with user; get the Story right, Design code unit, split into tasks, volunteer to deliver
Write Face – Pre/post-assertions– Write 50 lines of code– Write 50 lines of test harness– Inspect– Test including Coverage and Performance
Iterate for each test case – each path thru code Show user the tests that day.
![Page 20: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/20.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
Other Coding PracticesOther Coding Practices
As soon as Face is executable– Move to repository– Integrate– Build– Document– Pass to QA
Release to teamPart of next customer release.
![Page 21: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/21.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
Six is Too Many!Six is Too Many!
Project versus team size – 6 pairs plusdocumentation editor plus QA (2) plus Build Script controller plus Install Script controller
Time in communication If team requires 15 minutes per each two way pair then the
7th unit costs twice as much. So need to segment project into separately
manageable and deliverable projects Dev Environment, Build, database, menu, access
rights, etc.
![Page 22: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/22.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
A Year is Too Long!A Year is Too Long!
Keep focus, staff turnoverCost of changing staff mid-projectBut Netscape – 4 week bursts, 2 week re-setNow continuous releases – by a teamMay be 3 weeks for large packages Focus is on every day delivering completed proven
defect-free code and test harness and documentation Web-based systems have much smaller deliverables.
![Page 23: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/23.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
EconomicsEconomics
Pay only for what worksMinimise riskGet benefits earlyMaintainable codeMeasure cost, time, quality, scopeRisks are all made short-termComplex and irresolvable debates.
![Page 24: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/24.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
NZ ProgrammersNZ Programmers
Have good IS qualificationsLearn quickly from good conceptual baseOften have commerce qualificationsShow initiativeAre not into CYAWork well together: no internal competitionRespect common sense.
![Page 25: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/25.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
When to use XPWhen to use XP
Not on very large projects– My advice – avoid these because your chance of
winning is quite low!
Not for embedded software if the hardware is frozen
Not with data-driven apps – RAD for these Not with “Old Economy” management
– My advice – avoid these because your chance of winning is quite low!
![Page 26: eXtreme Programming](https://reader035.vdocument.in/reader035/viewer/2022062408/5681361d550346895d9d92d1/html5/thumbnails/26.jpg)
Tuesday, 24 April 2001
Confidential to Ian Mitchell, FNZCS
Thank You!Thank You!
[email protected]://www.xp.co.nzPhone: +64 9 528-3350Mobile: +64 25 965-608