Extreme programming: Difference between revisions

Content deleted Content added
Wesley (talk | contribs)
it's an agile process
No edit summary
Line 5:
For more information on this and related topics, see the definition at [[Ward Cunningham]]'s website, http://www.c2.com/cgi/wiki?ExtremeProgramming
 
Fundamental forchracteristics of the method are:
*short incremental [[programming]] steps
*continuous, often repeated automated [[regression testing]]. See [[JUnit]].
Line 12:
*fixing all known [[computer bug|bugs]] before adding functionality
*[[refactoring]]
 
These characteristics are only derivatives of principles that are known to be good, and are taken into extreme:
#If communication is good, take it to extremes: Have a customer representative present in the project team;
#If learning is good, take it to extremes: Reduce the length of feedback cycles. Test early;
2. #Simple code is more likely to work. Therefore, extreme programmers only write code to meet actual needs in the present project.;
#If simple code is good, re-write code when it becomes complex;
3. #Code reviews are good. Therefore XP has programmers program in pairs, sharing one screen and keyboard.; (also improves communication)
4. #Testing code is good. Therefore, in XP, test suites are written before the code is written. The code is considered complete when it passes the tests. The system is periodically, or immediately tested using all preexistingpre-existing automated tests to assure that it works.
 
----
Line 19 ⟶ 27:
 
1. Requirements are addressed by having a customer on-site, available to the programmers. If this is not possible, the customer may describe use cases on cards, that are periodically photocopied for the engineering staff.
 
2. Simple code is more likely to work. Therefore, extreme programmers only write code to meet actual needs in the present project.
 
3. Code reviews are good. Therefore XP has programmers program in pairs, sharing one screen and keyboard.
 
4. Testing code is good. Therefore, in XP, test suites are written before the code is written. The code is considered complete when it passes the tests. The system is periodically, or immediately tested using all preexisting automated tests to assure that it works.
 
Reference: