Extreme programming
Published:
Extreme programming (XP) is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements. The extreme programming strategy is centered in the code production. Its philosophy is that the product is the code and we do not have other things as planning lose the focus and the attention over the code. In order to be practical the planning will be mostly done by coding tests. If the test is previous part of code will be doing Test-driven development. Feedbacks from the customers are other important parts of the development. The planning context in which is usually applied is in the planning game in which the customer and the developers interacts with certain rules in order to get a planning by getting the business logic of the customers. So, in summary:
- Requirements are expressed in code (test the software should pass) rather than specification documents, and in consequence they are incrementally designed.
- There is no Big Design Up Front.
- Software developers are usually required to work in pairs.
- A customer representative is attached to the project in order to accomplish requirements.
See also
Pair programming, Agile software development, Software development
Material
- Beck, Kent; et al. (2001). “Manifesto for Agile Software Development”. Agile Alliance. Retrieved 14 June 2010
Papers
- Beck, K. (1999). Embracing change with extreme programming. Computer, 32(10), 70-77.
- Erickson, J., Lyytinen, K., & Siau, K. (2005). Agile modeling, agile software development, and extreme programming: the state of research. Journal of database Management, 16(4), 88.
Books
- Beck, K. (2000). Extreme programming explained: embrace change. Addison-Wesley Professional.
- Beck, K., & Fowler, M. (2001). Planning extreme programming. Addison-Wesley Professional.