Agile Software Construction

Over the last four chapters, we have considered in detail both Agile Modelling (AM) and eXtreme Programming (XP). Both are from the agile movement and both are motivated by the desire to produce better software faster. But how do they relate (if at all)? What is the relationship between Agile Modelling and XP? Are they complementary or contradictory? In this Chapter, we will consider exactly this issue and look at how Agile Modelling can actually enhance an XP project.
In actual fact, many of the Agile Modelling practises fit straight into XP. In many cases, they are the modelling equivalent of the XP programming-oriented practises. However, Agile Modelling's emphasis is obviously modelling and XP's emphasis is programing, so there are differences and there are practises that are only relevant to one of the methods or the other.
The question therefore is, "Do the Agile Modelling practises add any value to the XP practises?" Here we mean, "Do they add value in terms of helping to produce the end product, that is, the software?" If they don't actually help to produce a better piece of software or to speed up the process of creating that software, then they don't add value.
It is also important to consider whether Agile Modelling actually fits in with the philosophy of XP at all. At first sight, there may be a fundamental conflict. That is, XP does not encourage big up-front modelling and Agile Modelling is obviously about modelling, therefore,...