Presentation is loading. Please wait.

Presentation is loading. Please wait.

Extreme Programming Based on and

Similar presentations


Presentation on theme: "Extreme Programming Based on and"— Presentation transcript:

1 Extreme Programming Based on http://www.jera.com/techinfo/xpfaq.html http://www.jera.com/techinfo/xpfaq.html and http://www.extremeprogramming.org/

2 What is XP? Extreme Programming (or XP) is a set of values, principles and practices for rapidly developing high-quality software that provides the highest value for the customer in the fastest, simplest way possible. Fits into the “Agile” school of programming – lightweight methodologies Developed by Kent Beck Has been around about 6 years

3 What is “Simplest?” 1. The system (code plus tests) clearly communicates everything that needs to be communicated at the current instant in its development. This means that it runs every existing test, and that the source code clearly reveals the intention behind it to anyone who reads it.

4 Simplest, continued 2. The system contains no duplicate code, unless that would violate (1). 3. The system contains the minimum number of classes possible without violating (1) or (2). 4. The system contains the minimum number of methods possible, consistent with (1) (2) and (3).

5 Core Principles 1. Planning: Customer describes features in User Stories – gives name, describes feature Development estimates effort and how much of that can be done in one time period (iteration) Customer prioritizes and decides how often and when each release will occur

6 Core Principles 2.Small releases  Start with smallest, useful set of features  Release early and often 3.System metaphor  Provides naming scheme 4.Simple design

7 Core Principles 5. Continuous testing Add a feature, add a test Unit tests – specified by developer Acceptance tests – specified by customer Run test suite again after each test is added 6. Refactoring Get rid of duplicate code

8 Core Principles 7. Pair Programming All code is written with two programmers at a machine Promotes review while writing 8. Collective Code Ownership Everyone is able to work on all parts 9. Continuous Integration Integrate daily and retest

9 Core Principles 10. 40-Hour Work Week 11. On-site Customer 12. Coding Standards

10 Iteration Each lasts 1-3 weeks Begins with planning meeting with customer Determine tasks to be done in each iteration Each developer signs up for what they will do and estimate effort

11 Iteration Programming/testing Write tests first Pair programming on all production code Delivery At end of iteration, customer is given a working, bug-free system Final delivery is just the product of the last iteration Overview - http://www.extremeprogramming.org/map/project.html http://www.extremeprogramming.org/map/project.html

12 Terms Project velocity Measure of how much work is being done Sum up estimates of user stories finished in iteration In next iteration, customer can choose user stories/features equal to work done in previous Increases if developers finish early and ask for more tasks

13 Terms Spike Solution Simple program to explore a potential solution for a narrow problem Will probably be thrown away “Write the smallest possible code that could be said to perform a function independent of existing mechanism. “ -- Ward Cunningham

14 Areas of Benefit from Pair Programming Economics Programmer Enjoyment Design quality Continuous Reviews Problem solving Learning Team Building and Communication Staff and Project Management

15 When is XP Appropriate? Projects where requirements change a lot High-risk projects Projects requiring 2-12 programmers Projects where customers can be involved with team Projects that can be tested


Download ppt "Extreme Programming Based on and"

Similar presentations


Ads by Google