- #[[CT216 - Software Engineering I]] - **Previous Topic:** [[Introduction to Agile Methods]] - **Next Topic:** [[Bootstrap CSS]] - **Relevant Slides:** ![Week 4 - Agile Methods, XP.pdf](../assets/Week_4_-_Agile_Methods,_XP_1664439416140_0.pdf) - - # XP - **eXtreme Programming (XP)** is one of the most popular agile software development methods. - Some characteristics of XP include: - Pair programming. - Refactoring. - Test-Driven Development (TDD). - Continuous Integration. - Metaphor. - Small releases. - Simple design. - Customer tests. - ## Principles of XP #card card-last-interval:: 21.53 card-repeats:: 4 card-ease-factor:: 2.32 card-next-schedule:: 2022-12-08T21:47:52.136Z card-last-reviewed:: 2022-11-17T09:47:52.136Z card-last-score:: 5 - Communication. - Simplicity. - Feedback. - Courage. - Respect. - All the contributors to an XP project (members of one team) sit together. This team must include a business representative (Product Owner) - the "Customer" - who provides the requirements, sets the priorities, and steers the project. - ## Planning - XP planning addresses two key questions in software development: predicting what will be accomplished by the due date, and determining what to do next. - **Release Planning** is a practice where the Customer presents the desired features to the programmers, and the programmers estimate their difficulty. - **Iteration Planning** is the practice whereby the team is given direction every few weeks (Sprints). - ## Customer Tests - As part of presenting each desired feature, the XP Customer defines one or more automated acceptance tests to show that the feature is working. - The team builds these tests and uses them to prove to themselves, and to the customer, that the feature is implemented correctly. - ## Small Releases - XP teams practice small releases in two important ways: - First, the team releases running, tested software, delivering business value chosen by the Customer, every iteration. - Second, XP teams release to their end users frequently as well. - ## Coding Standards - XP teams follow a common coding standard, so that all the code -