Summary
Extreme programming (XP) is a software development methodology intended to improve software quality and responsiveness to changing customer requirements. As a type of agile software development, it advocates frequent releases in short development cycles, intended to improve productivity and introduce checkpoints at which new customer requirements can be adopted. Other elements of extreme programming include: programming in pairs or doing extensive code review, unit testing of all code, not programming features until they are actually needed, a flat management structure, code simplicity and clarity, expecting changes in the customer's requirements as time passes and the problem is better understood, and frequent communication with the customer and among programmers. The methodology takes its name from the idea that the beneficial elements of traditional software engineering practices are taken to "extreme" levels. As an example, code reviews are considered a beneficial practice; taken to the extreme, code can be reviewed continuously (i.e. the practice of pair programming). Kent Beck developed extreme programming during his work on the Chrysler Comprehensive Compensation System (C3) payroll project. Beck became the C3 project leader in March 1996. He began to refine the development methodology used in the project and wrote a book on the methodology (Extreme Programming Explained, published in October 1999). Chrysler cancelled the C3 project in February 2000, after seven years, when Daimler-Benz acquired the company. Ward Cunningham was another major influence on XP. Many extreme-programming practices have been around for some time; the methodology takes "best practices" to extreme levels. For example, the "practice of test-first development, planning and writing tests before each micro-increment" was used as early as NASA's Project Mercury, in the early 1960s. To shorten the total development time, some formal test documents (such as for acceptance testing) have been developed in parallel with (or shortly before) the software being ready for testing.
About this result
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.
Related courses (2)
MATH-233: Probability and statistics
Le cours fournit une initiation à la théorie des probabilités et aux méthodes statistiques pour physiciens.
Related lectures (32)
Conditional Expectation: Properties and Examples
Explores conditional expectation properties, variance, and examples in practical applications.
Extreme Value Theory: Dependence Effects
Explores the extremal index and its impact on extreme events in stationary processes, along with the D'(u) condition for short-range dependence modeling.
Extreme Value Theory: Applications to Time Series
Explores Extreme Value Theory applications to time series, discussing extremogram, moving maxima, and rare event threshold sequences.
Show more
Related publications (33)
Related people (1)
Related concepts (29)
Software development process
In software engineering, a software development process is a process of planning and managing software development. It typically involves dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design and/or product management. It is also known as a software development life cycle (SDLC). The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.
Ward Cunningham
Howard G. Cunningham (born May 26, 1949) is an American computer programmer who developed the first wiki and was a co-author of the Manifesto for Agile Software Development. A pioneer in both design patterns and extreme programming, he started coding the WikiWikiWeb in 1994, and installed it on c2.com (the website of his software consultancy) on March 25, 1995, as an add-on to the Portland Pattern Repository. He co-authored (with Bo Leuf) a book about wikis, entitled The Wiki Way, and invented the Framework for Integrated Test.
Specification by example
Specification by example (SBE) is a collaborative approach to defining requirements and business-oriented functional tests for software products based on capturing and illustrating requirements using realistic examples instead of abstract statements. It is applied in the context of agile software development methods, in particular behavior-driven development. This approach is particularly successful for managing requirements and functional tests on large-scale projects of significant domain and organisational complexity.
Show more