Apology

After the original site vanished and then returned I decided to make a local copy of this very useful page.

You'd be wise to go to the original on the WikiWikiWeb: http://c2.com/cgi/wiki?ExtremeProgrammingRoadmap rather than this cheap ripoff.
Dick Botting


http://xp.c2.com/html.zip -- fast download of these pages.)

Back Up Extreme Programming Roadmap

This site has captured several years of Extreme Programming discussion and evolution. Use this roadmap to find your way to the most important pages in a logical order. If you still feel lost or confused by the form this discussion takes, try the more gentle introduction called WelcomeVisitors.

Begin with some of the contextual overview pages:
WhosWritingAboutXp
ExtremeProgrammingInContext.
ExtremeProgrammingSystem.
ExtremeProcess.
ExtremeRoles.
ExtremeProgrammingSummary.

Before you get to the programming, you should do some ExtremePlanning. Also, KentBeck has sort of a checklist to help you know, AreYouDoingXp?

The DrivingMetaphor and OneHandOnTheYoke set out the paradigm.

Specific ExtremeProgramming practices:

DoTheSimplestThingThatCouldPossiblyWork encourages us not to over (or under)-engineer;
AskTheCode because it knows; CodeSmells if it has a problem; ListenToTheCode;
UnitTests ensure that we don't break one another's code;
FunctionalTests tell us how we're progressing against user needs;
ContinuousIntegration helps avoid IntegrationHell;
ContinuousIntegrationRelentlessTesting ditto;
RefactorMercilessly keeps the code clean and speeds progress;
and see also WikiPagesAboutRefactoring;
ProgrammingInPairs gives higher quality, great cross-training, and higher speed; (mailing list: PairProgramming);
SpikeSolution helps explore the area we're working on;
ModelFirst plus SpartanUserInterface helps us concentrate on real customer value.
ExtremePlanning suggests quickly building a map of the whole imagined system and incrementally refining it
The PlanningGame formalizes the rituals and roles of planning
CountDownToRelease discusses how to use the ExtremePlanning practices when you're getting close to release.
ExtremeReuse - adopting third party software and making it XP-compatible by building tests
TossIt - making projects trim and keeping projects trim.
SystemMetaphor - how we communicate the system to ourselves and others.
XpDesign - who does the design in an XP project, and when?
ExtremeDocuments - we do documentation, sometimes differently.
SupportCrisis - what to do until the doctor comes.
IncrementalDelivery
LazyOptimization
Results in...
IterativeDevelopment - tends to be a natural result of ContinuousIntegration and ContinuousIntegrationRelentlessTesting and DoTheSimplestThingThatCouldPossiblyWork at each iteration.
DynamicDesign - from RefactorMercilessly and short Code-Compile-Debug cycle.

Who's Who:
TheThreeExtremos

Significant discussion and reference:
HistoryOfExtremeProgramming
MinimalMethodologies
JustInTimeProgramming
EconomicsOfXp
AnalyzingXpWithOptionsPricing
ExtremeArticle
ExtremeStoryCards
ExtremeDevelopmentCycle
WikiPagesAboutTransitioningToExtremeProgramming
XpGlossary

Thoughtful inquiry and response:
XpConceptsInAcceptedMethodologies
IsExtremeProgrammingWacko
XpIsaPseudoMethodology
ThoughtfulReactionsToXp
DoesXpDoDesign
XpDoesDesign
DesignToolsForXp
DesignInXp
ExtremeProgrammingResearch
InterviewWithKent

Applicability of ExtremeProgramming:
AdoptVsAdapt- What is the right metaphor for moving to XP?
WhyIsXpSoHard- Is XP hard?
ExtremeProgrammingBoundaryConditions
LargeExtremeProgramming
ExtremeProgrammingMayScaleUp
HundredPersonProject
ExtremeProgrammingChallenge - Explores how extreme programming might work out of its native habitat.
ExtremeProgrammingForOne
ExtremeAdaExperiment -- a lone programmer applies XP to Ada
AtsGoesExtreme -- Running diary of a small team's experience with ExtremeProgramming

ExtremeProgrammingWithVisualBasic
ExtremeProgrammingWithPowerBuilder
TestDrivenProgramming -- using XP with C++
ExtremeUnifiedProcess -- XP + RationalUnifiedProcess
ExtremeProgrammingWithAtgDynamo
LargeScaleIndividualSoftwareDevelopment - Thoughts on applying the concepts of XP as the lone programmer on a large project

Get Trained in XP:
ExtremeHour -- In at the deep end with the world's shortest development project.
HowYouWentExtreme -- & how to get over the initial shock.
XpTrainingClasses -- A place for notices about XP Training.
IronGeek -- Think you're extreme? Want a bet?

Explore the limits of XP:
BeyondExtremeProgramming
ExtremeManagement
ExtremeProgrammingBoundaryConditions
WhenXpIsUnpopular
WhyXpIsPopular
ImprovingExtremeProgramming -- when and how elements are added to XP
MegaExtremeProgramming
TestsCantProveTheAbsenceOfBugs
ProofsCantProveTheAbsenceOfBugs
NameXp - let's call it something else
ExtremeConversion - successful conversion of a running 9-gig XP database
XpEvangelism
XpForManagers

Curiosa:
ExtremeWay
ExtremeProgrammingMaster
ToAyoungExtremist -- A must-read for all visionaries.
ExtremeNormalForm

Themes:
YouArentGonnaNeedIt
TheSourceCodeIsTheDesign
ExtremeValues - Simplicity, Feedback, Communication, Courage - everything we do comes from these.
FourVariables - Resources, Scope, Quality, Time - describe project status.

Examples:
Now take a look at ExtremeProgrammingProjects, or read about WhosWritingAboutXp.

Conferences and talks:
XpTwoThousand, hold in Cagliari, Italy
XpTwoThousandAndOne, to be held in Villasimius, Sardinia, Italy

Other XP sites:
<http://www.xprogramming.com hosted by RonJeffries
<http://www.extremeprogramming.org hosted by DonWells
<http://www.xpdeveloper.com/ hosted by TimMackinnon, PaulSimmons and OliBye
XpForumAtEgroupsDotCom started by FrankWestphal for the GermanXpCommunity
<http://www.objectmentor.com Information about XpTrainingClasses.
XpMailingList -- The mailing list that gave <news:comp.object a much-needed break from all the XP threads.
<http://www.extremeprogramming.dk -- Danish XP site hosted by JorgenLarsen

Extreme Programming in the News
"It's Hip To Code At The Edge" (<http://www.zdnet.com/intweek/stories/news/0,4164,2571758,00.html)
"Taking Programming to the Extreme Edge" (<http://www.infoworld.com/articles/mt/xml/00/07/24/000724mtextreme.xml)
"Pair Programming: Development Times Two" (<http://www.infoworld.com/articles/mt/xml/00/07/24/000724mtpair.xml)
"Extreme Programming: Does it Really Work?" (<http://www.ddj.com/articles/2000/0050/0050k/0050k.htm)

Communities and User Groups:
XpCommunity in Germany, London, the Netherlands, and Sweden
XpUsersGroups in Hamburg, and Phoenix.

Companies and People
PeopleDoingXp
CompaniesDoingXp

Specific practices that are *NOT* part of XP:

ExtremeReviews
LiterateProgramming
ExtremeCatalysis
BigDesignUpFront
BigBangTesting
ArmCl


CategoryExtremeProgramming
EditText of this page (last edited <November 19, 2000)
FindPage by searching (or browse <LikePages or take a <VisualTour)