Extreme Programming Pocket Guide_ En
Reviewed by: FabrizioGianneschi
Extreme Programming (XP) is a software development methodology that belongs to the Agile methodology family. It has achieved a great success in recent years.
Reasons for the interest of the developers community are many, starting from the positioning of the programmer to the centre of the entire process (in a hierarchy that assumes a few number of levels and the disappearance of the Â“analystÂ” figure), creating tests before coding (TDD Â– Test Driven Development) and last but not least the pair programming.
Lovers of the XP state that it could be the adeguate way to forget old development mechanisms focused on the triad Â“analysis, development, testingÂ”, that become obsolete and inadeguate to mantain plans with elevate requirements change rate, such as web projects.
Detrators, instead, point their fingers against the lack of rigorous documentation, the absence of an initial design phase and a widespread sensation of Â“anarchyÂ” that in some situations can carry the plan outside control of the manager.
The book we review is dedicated, according to the authors, to the third generation of extreme programmers, people that were not in the small group of talented XPÂ’s creators neither contributed to make it to grow and to apply during last years. This new generation surely heard about XP and perhaps would know a little more about it.
To them, the book costitutes a pratical guide that explains the foundations of XP: motivations of its birth, basic notions (the well known Â“12 praticesÂ”), people roles and some pratical, useful, advices.
The book is divided in 8 chapters (the last one is for reference) relatively concise and clear, written with a style that we can define itself as Â“agileÂ”.
Chapter 1 illustrates the reasons that brought Ward Cunningham, Kent Beck and the others famous XP founders to think at a new movement: the necessity to create a development process that would allow them to react to continuous changes, guaranteeing however an high quality product. If your project has some of these characteristics, then XP could be the right solution!
HereÂ’re also mentioned the famous XP equation and the four foundamentals values on which the entire stuff is based: communication, feedback, simplicity and courage.
Chapter 2, illustrates the details of the 12 main practices, grouped by competences: regarding code, developers and those about business aspects. The choice to assemble them in three groups is an uncommon method seen in literature, but itÂ’s surely a good idea that improves overall comprehension and importance.
Each pratice is also associated with an objective (for example, pair programming has the effect to spread the knowledge, experiences and ideas); this puts in evidence in clear way the benefits that the possible adoption of the practice can allow.
Finally, is reported a schematic roll of necessary requirements to introduce the pratice into a working group, including eventual couples with other pratices.
Chapter 3 explains some temporal aspects of the XP process: iterations, releases and planning. A paragraph illustrates in detail the behaviour of the group on the first iteration, usually a big obstacle for XPÂ’s newbies.
Chapter 4 is a deepening on the useful tools of XP programmers: task and user stories (similar to UML use cases, but less schematic and, most important, written by the customer). A brief explanation regarding the ideal job place of an XP team, called war room, is also present.
Chapter 5 defines XP roles: customer, developer, tracker, coach. For everyone, the book identifies responsabilities and rights.
Chapter 6 illustrates some rudiments that a team of extreme programmers should keep in mind, as the simplicity, the principle to not work by suppositions (that could not take place in the future) and other trivial aspects that, in real life (real job) are very difficult to observe and preserve.
At last, chapter 7 describes the more complex of all pratices: the beginning of the project! ThereÂ’re some pratical advices, too: for example, when the 12 pratices are too complex to use as a whole from the start, or when there isnÂ’t a real customer on site (an XP requirement).
In conclusion, a book to read quickly, thanks to the friendly syle and looking to its pocket format. We recommend it to all of those who heard of XP, but have not still dedicated a bit of time on it.