All too often, I hear organizations say that they are agile simply because they adopted continuous integration or test driven development. This is simply not the case. It can be easy for organizations to blur the lines between agile development technologies and extreme programming (XP) techniques for delivering high quality software.
The lines can get fuzzy, but the way I like to think about it is to think of agile development as the project management component, while XP is related to the craft of software development. Agile methodologies can help you determine what you’re going to do while XP will be a set of tools and techniques agreed upon by the team to help achieve quality code.
An organization is truly agile when it is capable of responding to change in such a way that it can quickly adjust its priorities to the needs of its customers. No more, no less. An organization becomes agile by collaborating with its customers to determine how to best satisfy the customers needs and then works to ensure those needs are met. Without active engagement of the customer an organization will NEVER be agile, regardless of the other development techniques used.