Pretty much all software projects deal mainly with two types of documentation: requirements and design. Both types are handled very differently (particularly so in XP projects). It is this difference that seems to cause some of the more heated arguments about documentation in XP, because each person is arguing with an implied document type swimming around in his or her head:
Ralph: XP has very little (design) documentation.
Alice: Nonsense! XP can have very detailed (requirements) documents.
Ralph: [Grows angry , holds out his fist] You wanna go to the moon, Alice? You wouldn t need no (design) document for that.
Alice: But we have lots of (requirements) documents! (They re just not written down . . .)
As you can see, this confusion can lead to some pretty scary scenarios. Therefore, it s useful to distinguish between the two types of documentation in a little more detail.