It’s a common question that came up again today. I thought I’d articulate it as succinctly as possible…
A methodology is a set of principles, tools and practices which can be used to guide processes to achieve a particular goal.
A framework is a loose but incomplete structure which leaves room for other practices and tools to be included but provides much of the process required.
See why Ken Schwaber refers to Scrum as a Framework. He explains:
The word “framework” means that much is not specified and must be devised by those using the framework. I equate Scrum to the game of chess. You can read the official rulebook for chess. The moves, players, sequences, scoring, etc. are all specified. Learn them. Then you can play chess. Maybe your chess game isn’t so good, but you can study great games, strategies, and tactics, and practice to get better and better. However, you are playing the game of chess, so you don’t have the option of changing the rule book. If you change the rules, it’s not chess any longer. Just learn how to play the game with excellence, which is enough of a challenge.
On the other hand Extreme Programming (XP) could be considered a methodology as it is more prescriptive in its approach and its environment. It promotes a set of rules that should be followed.