Summary
Extreme Programming (XP) was conceived and developed to address the specific needs of software development conducted by small teams in the face of vague and changing requirements. This new lightweight methodology challenges many conventional tenets, including the long-held assumption that the cost of changing a piece of software necessarily rises dramatically over the course of time. XP recognizes that projects have to work to achieve this reduction in cost and exploit the savings once they have been earned. Fundamentals of XP include: * Distinguishing between the decisions to be made by business interests and those to be made by project stakeholders. * Writing unit tests before programming and keeping all of the tests running at all times. * Integrating and testing the whole system--several times a day. * Producing all software in pairs, two programmers at one screen. * Starting projects with a simple design that constantly evolves to add needed flexibility and remove unneeded complexity. * Putting a minimal system into production quickly and growing it in whatever directions prove most valuable. Why is XP so controversial? Some sacred cows dont make the cut in XP: * Dont force te