Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Extreme Programming William C. Wake 2-2-2000.

Similar presentations


Presentation on theme: "Introduction to Extreme Programming William C. Wake 2-2-2000."— Presentation transcript:

1 Introduction to Extreme Programming William C. Wake William.Wake@acm.org 2-2-2000

2 XP is...

3 Background: Cost of Changes t $ t $ “Then” (exponential) “Now” (flattened)

4 Background: Cost of Money t $ “Up-front design” “Pay as you go” $$

5 XP Principles zRapid feedback zAssume simplicity zIncremental change zEmbrace Change zQuality Work

6 XP Practices zPlanning Game zMetaphor zTests zRefactoring zPair programming zSmall releases z Simple design z Collective ownership z Continuous integration z Open workspace z 40-hour week

7 Rights zManager and Customer: zYou have the right.. to an overall plan, to know what can be accomplished, when, and at what cost. zetc. z Developer: z You have the right.. to know what is needed, via clear requirement stories, with clear declarations of priority. z etc.

8 The XP Cycle (in the small) analysis test code design

9 Planning Game

10 zUsers write stories zDevelopers estimate them zUsers split, merge, & prioritize zPlan overall release (loosely) and the next iteration

11 Tests zFunctional Tests zUnit Tests

12 Functional Tests zSpecified by the user zImplemented by users, developers, and/or test team zAutomated zRun at least daily zPart of the specification

13 Unit Tests zWritten by developers zWritten before and after coding zAlways run at 100% zSupport design, coding, refactoring, and quality.

14 Test Metrics Tests failed Tests passed 1 2 3 4 5 6 7 Key:

15 Design zPay as you go zSpike when necessary z“You aren’t gonna need it” z“Simplest thing that could possibly work” z“Once And Only Once”

16 Refactor (Mercilessly) zRefactor = to improve the structure of code without affecting its external behavior zDone in small steps zSupported by unit tests, simple design, and pair programming zSeek “once and only once”

17 Refactoring Example

18 Adopting XP zSome practices can be done solo, others by team, others require users to help. zUser involvement zFunctional tests and unit tests zSimple design & refactoring zPair programming

19 Other Approaches zUML: XP uses it on the whiteboard (if at all) zRational Unified Process: XP has many fewer roles & documents; XP emphasizes team over artifacts zSCRUM: XP compatible

20 Who, Us? And other questions

21 More Information zExtreme Programming Explained, by Kent Beck zRefactoring, by Martin Fowler zhttp://www.xprogramming.com zhttp://c2.com/cgi/wiki?Extreme ProgrammingRoadmap


Download ppt "Introduction to Extreme Programming William C. Wake 2-2-2000."

Similar presentations


Ads by Google