Just trying to explain this two concepts that could help driving conversations at architecture level since there is always a situation in during the design where you will find using them.

So, first of all, they are not synonyms.

Methodology

This is a common used concepts among academics. For dissertations, the methodology explains how a particular conclusion was reached. A methodology express the procedures, methods, principles and rules under a particular discipline [1] that will lead you to an specific result, in terms of a thesis, the conclusion reached.

And moving that concept into the software development scope [2], a methodology defines the process and the set of specific deliverables and artifacts that are needed to develop and maintain applications during its lifecycle.

Framework

It’s basically a tool set or a set of methods that can be applied separately or all the same time, the process to apply each method might or might not defined, but, is not essential for the usage of each tool.

In software [3] we use the term frameworks as well, frameworks like .NET (yes, dotnet core is still a framework), Java EE, Spring, etc, define tools and components that can help you to build and deploy applications.

In Project Management for example, PM Book can be identified as framework, since it defines a set of methods to be used in projects, but it not defines the procedure to combine each method.

Core differences

In conclusion, a methodology defines what to deliver, how to create those deliverables and the logical order to do so, meanwhile a framework only defines what you can do.

That is why you can use 2 different frameworks to produce something new, for example, in software you could use Spring of top of Java EE, or Scrum with a Critical Path Method from the PM BoK (r).

Some examples

Now that we know the differences, we can categorize the following practices and software components under each category.

  • Scrum is a framework
  • Agile is a framework
  • Angular is a framework
  • Ionic is a framework
  • react it’s not a framework nor a methodology…
  • Nodejs it’s not a framework nor a methodology…

In software we use a lot frameworks, since we need to adapt the principles, deliverables, components to specific contexts.

You can check the post made by Michael Wood where he digs more in other Frameworks and methodologies used around technology projects and organizations.