Extreme Programming (XP) is a new software development method (SDM) that claims to be superior to other methods in some situations that are characterised by vague requirements and rapid change. XP has quickly gained a remarkable degree of acceptance in parts of the software engineering community. Interestingly, it has provoked a vivid and often controversial exchange of opinions, ranging from enthusiastic support to vigorous criticism. In this paper we look at possible sources of such fundamental disagreement. We use general systems theory as an integrative theoretical framework to analyse SDMs and expose their underlying, often implicit assumptions. We discuss some examples where the assumptions made by XP are fundamentally different from the assumptions made by most other SDMs. These fundamentally different assumptions indicate fundamentally different mental models. Mental models are central to systems thinking because they have a strong influence on our perception of reality and our behaviour. If they act as unconscious filters that limit our perception to what we expect, they can seriously impede our ability to learn. We conclude that mental models play a crucial role in the introduction of XP.
Wendorff, Peter, "Systems Thinking in Extreme Programming" (2002). ECIS 2002 Proceedings. 103.