Extreme Programming is well suited to companies with small in-house software development teams creating in-house software. (Chromatic, 2003). It is well suited to projects with uncertain final outcomes, and whose requirements are vague or change frequently. XP works well when there is a customer who can be dedicated to the project, and the organisation is receptive to the frequent delivery of software.
A team adopting XP must be comfortable with its practices (McBreen, 2002). Some XP practices like pair programming or test driven development may evoke strong reactions from developers who would prefer to work differently.