Presentation is loading. Please wait.

Presentation is loading. Please wait.

EXtreme Programming: An Introduction Presentation by: Jon Banta.

Similar presentations


Presentation on theme: "EXtreme Programming: An Introduction Presentation by: Jon Banta."— Presentation transcript:

1 eXtreme Programming: An Introduction Presentation by: Jon Banta

2 What is it ? Agile Software Development Methodology Iterative Lightweight –Fewer rules, practices and documents than a heavyweight methodology. Stresses customer satisfaction and teamwork

3 When does it work? Risky Projects –Short timeframes, new technology/concepts Dynamic Requirements –Frequently changing functionality needs Small Programming Teams –2-12 persons, possibly more Highly Testable Projects –Must conform to automated unit and acceptance Testing

4 Rules and Practices Theology can be split into 4 categories –Planning –Coding –Designing –Testing

5 Planning Customer Writes User Stories –Same purpose as use cases Release Planning Creates Schedule –Lays out overall project Frequent Releases –Prioritized small releases of functionality Measure Project Velocity –Measure of work actually getting done

6 Planning (cont.) Iteration Planning –Meeting sets plan for next iteration based on previous iteration’s velocity Move People Around –Cross training for flexibility Stand-up Meetings Every Day –Everyone contributes Fix XP when Breaks –Change procedures if they don’t fit the project

7 Designing Strive for Simplicity Choose a System Metaphor –System for naming classes/methods Use CRC Cards Create Spike Solutions –Code to explore technical problem, ignoring all other aspects (thrown away) No Functionality Added Early Refactor Mercilessly Whenever, Wherever

8 Coding Customer ALWAYS Available –All phases to write user stories/answer questions Create Coding Standards –Consistent Code Code Unit Tests First –Tests written before code Pair Programming –One person code, one critique

9 Coding (cont.) Only One Integration at a Time –Easier to ID new bugs location Integrate Often –Developers have access to latest version Collective Code Ownership –Everyone Contributes to all parts Optimize Last –Bottleneck guesses frequently wrong No Overtime –Bad for morale

10 Testing All Code Has Unit Tests –Tests submitted into Repository with code Code Must Pass Unit Test Before Release Create Test When Bug Encountered –Create test before debugging Frequent Acceptance Tests –Close relationship with quality assurance –All scores published –Customer verifies all results (black box)

11 Conclusions The eXtreme Programming method is designed to free developers from the overhead of heavyweight methodologies in order to increase productivity and creativity while still providing a framework for organized software development. Focuses on getting the customer exactly what they want quickly but with high quality.

12 More Info www.eXtremeprogramming.org www.Xprogramming.com


Download ppt "EXtreme Programming: An Introduction Presentation by: Jon Banta."

Similar presentations


Ads by Google