Abstract
One of the emerging techniques that is becoming increasingly popular for managing software project is eXtreme Programming (XP) (Beck, 1999, 2000; Williams, 2000). XP surely changes the way in which we develop and manage software, as all the other methodologies related to the Agile Manifesto do (Agile Alliance, 2001; Boehm, 2002; Cockburn, 2001; Highsmith, 2001; Rakitin, 2001). XP has been the methodology that I have adopted in recent years to develop and manage software projects — before modifying it in order to create my own methodology, ADPD (Agile and Defined Project Development), which is described in Chapter XI. In order to understand ADPD, it is necessary to acquire all the possible knowledge about XP, since ADPD is XP 80% and recognizes quite all the values of this revolutionary technique for developing and managing software projects. The most interesting feature of XP consists in the fact that it is human oriented (Brooks, 1995). XP considers the human factor as the main component for steering a project toward a success story. On the other hand, it is important to notice that XP is guided by programming rules, even if its more interesting aspects deal with the values that are the real guides for the design, development, and management processes.