Index: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Home > Extreme Programming
Extreme Programming (XP) is a method in or approach to software engineering, formulated by Kent Beck, Ward Cunningham, and Ron Jeffries . Kent Beck wrote the first book on the topic, Extreme Programming Explained, published in 1999. It is the most popular of several agile software development methodologies. The generalization of extreme programming to other types of projects is extreme project management.
1 Characteristics of XP
Fundamental characteristics of the extreme programming method are:
- Incremental and iterative developments - small improvement s after small ones
- Continuous, often repeated automated unit test, regression testing. See JUnit.
- Pair programming
- User interaction in the programming team ( Onsite Customer )
- Refactoring
- Shared code ownership
- Simplicity
- FeedbackIn cybernetics and control theory, feedback is a process whereby some proportion or in general, function, of the output signal of a system is passed (fed back) to the input. Often this is done intentionally, in order to control the dynamic behaviour of th
- Organising the system with a metaphorThere are broad categories of figurative language which are classified as metaphorical (see Literal and figurative language). The more common meaning of metaphor is a figure of speech that is used to paint one concept with the attributes normally associat
- Sustainable pace
These characteristics are only derivatives of principles that are known to be good, and are taken into extreme:
- InteractionGenerally, an interaction is a kind of action which occurs as two or more objects have an effect upon one another. The word is sometimes used synonymously with " transaction"; in some cases, a difference between the two should be distinguished. Examples i between developerIn computing, a programmer is someone who does computer programming and develops computer software. A programmer can be one who develops and maintains software on a large mainframe system or one who develops software primarily for use on personal computers and customerA customer is someone who purchases or rents something from an individual or organisation. Types of Customer Customers can be classified into two main groups; internal and external customers. An internal customer is someone who works for the organisation,s is good. Therefore, an XP team is supposed to have a customer on site, who specifies and prioritises work for the team, and who can answer questionA question is any of several kinds of linguistic expressions normally used by a questioner to request the presentation of information back to the questioner, in the form of an answer, by the audience. Alternatively, one may say that the question is the res as soon as they arise.
- If learning is good, take it to extremes: Reduce the length of development and feedback cycle s. Test early.
- Simple code is more likely to work. Therefore, extreme programmers only write code to meet actual needs at the present time in a project, and go to some lengths to reduce complexityThere are different senses of complexity In information processing, complexity is a measure of the total number of properties transmitted by an object and detected by an observer. Such a collection of properties is often referred to as a state. In physica and duplication in their code.
- If simple code is good, re-write code when it becomes complex.
- Code reviewCode review is peer review of computer source code intended to find and fix mistakes overlooked in the initial development phase, improving overall code quality. Code reviews can often find and remove common security vulnerabilities such as format strings are good. Therefore XP programmers work in pairs, sharing one screen and keyboard (which also improves communication) so that all code is reviewed as it is written.
- Testing code is good. Therefore, in XP, tests are written before the code is written. The code is considered complete when it passes the tests (but then it needs refactoring to remove complexity). The system is periodically, or immediately tested using all pre-existing automated tests to assure that it works. See test-driven development.
In general, Extreme Programming is believed to be useful for small teams under 12 persons. Some think it can be useful for larger teams while some consider the Rational Unified Process more appropriate in that case. However, XP has been demonstrated successfully on a team of over a hundred developers. It's not that XP doesn't scale, just that few people have tried to scale it, and XPers refuse to speculate on this facet of the process.
Read more »