Download presentation
Presentation is loading. Please wait.
Published byGabriel Morton Modified over 9 years ago
1
DAVID STOTTS DEPT. OF COMPUTER SCIENCE UNIV. OF NORTH CAROLINA AT CHAPEL HILL Extreme Programming
2
In Reaction to… “Big Process” SEI Capability Maturity Model (CMM)CMM “Heavy” development practices Hard to steer, unresponsive Can we do better for smaller efforts?
3
Extreme Programming Kent Beck, late 90’s One of several “Agile” processes Small teams (2 to 8 people) Modest projects Emphasis on customer as project driver
4
“Change Happens” Embrace change as normal Not an aberration whose cause needs to be found Process must be lightweight and agile to respond to change “Steer”able
5
XP Core Values Communication Simplicity Feedback Courage (fearlessness)
6
XP Practices Pair programming Test-first development Simple design: Add no function before its time Re-factoring The planning game User/client on-site
7
XP Practices Small releases Continuous integration Collective code ownership Coding standards (and self- documenting code) No overtime System metaphor
8
Why Agile Methods? Why is change inevitable? People… People are noisy and unpredictable Process involving people needs small steps, constant measurement to be steerable
9
eXtreme Programming Try it … Further reading: “XP” by J. Highsmith“XP” by J. Highsmith
10
Test-first development If a class does not have automatic tests, you must assume it does not work Regression testing … tests retain value JUnit (Beck & Gamma): industrial- strength regression testing for the common man
11
JUnit Small, easy to learn, easy to use, effective Java classes TestCase, Suite, runners 15 other language implementations http://www.junit.org http://www.xprogramming.com/software.htm
12
JUnit Test Class One test method per target method “test anything that can break” … “don’t test anything that can’t” Can we give better guidance? Can we systematically produce consistent and complete test classes?
13
The Planning Game Informal brainstorming… few hours to a few days Customer talks about what he/she wants Engineers listen, ask questions, make “user stories” Each story is a card, a few sentences, describes some function of the system
14
The Planning Game Engineers “cost” each story Customer “values” each story Rank order of cards Customer selects top 4 or 5 items… Engineers produce Release One
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.