There are many agile methodologies and frameworks, including Scrum, XP and Kanban. For some, choosing one works well. For others, it’s necessary to use more than one.
We find that most projects that are being done using “agile” are actually using three complimentary approaches– they are framing the project using Scrum as a progress exposure model, they are using XP engineering techniques to raise code quality so the organization has confidence the application is always in a releasable state, and they are working in an environment of Lean in order to limit work in progress (done through swarming), as well as to expose and remove ‘wasteful’ elements of their process.
By combining complementary techniques, you can help your teams become more effective and higher functioning teams.