CPS 213 Lecture Notes - Lecture 5: Software Projects, Incrementalism, Software Architecture
Document Summary
Values of xp: communication, simplicity, feedback, courage, respect. Extreme programming or xp is a new lightweight process. Originally used for small- to medium-sized software projects (although can scale to larger projects) Designed to adapt well to the observed realities of modern software production: short timelines, high expectations, severe competition, unclear and rapidly changing requirements. Based on the idea of continuous evolution. Very practical: based largely on simplicity, testing. In spite of its brash, undisciplined, fun presentation, solidly based on the software disciplines and processes of the past. The idea was to take the best practices of good software development to the limit (the extreme) If code reviews are good, review code all the time. If testing is good, test all the time. If design is important, design all the time. If simplicity is good, always use the simplest solution possible. If architecture is important, refine architecture all the time. If integration is important, integrate all the time.