To improve professionally with excellence in any area of activity, it is extremely important to study the fundamental concepts in your profession. For this it is necessary to understand what they are and what are the differences between: methodology, method, process and technique.
These concepts are present in all nature of work. Very well defined by professionals in the academic research area, they are not always well understood by other areas, for example by programming and software development professionals.
I will start by presenting a quick conceptual summary, found in dictionaries, for each of these terminologies:
- branch of logic that deals with the methods of the different sciences
- part of a science that studies the methods it uses
- is a set of methods, techniques and tools that determine how a process should be performed.
- procedure, technique or way of doing something, especially according to a plan
- organized, logical and systematic process of research, instruction, investigation, presentation
- is a systematic way of performing a task
- any technical, scientific procedure
- is a continuous action, continuous and prolonged performance of some activity; follow-up, course
- continuous sequence of facts or operations that have a certain unity or that are reproduced with a certain regularity; progress, development, march
- way of doing something; method, way, procedure
- is a non-systematic way of performing a task
- way of handling technical details (as a writer does) or using body movements (as a dancer does)
- skill, special ability to handle these details or use these moves
Methodology is related to the broad study, research and presentation of methods, processes and techniques.
When studying a methodology you will not be presented with an “implementation script”.
Let’s compare the methodology to the study of a language, for example, Portuguese. By studying this language you learn all its rules, forms of use, grammatical compositions, objectives and applicability for the language in contexts and everyday situations, formal, professional, business.
This scope of methodology study is the same when you are studying, for example: Methodologies for software development.
You will be introduced to a wide variety of rules, syntaxes, symbols, tools, methods, which you can use at the appropriate times in your software projects.
Therefore, when studying a methodology you will be, firstly, being inserted into a philosophical context of study related to software development.
Philosophical yes, because no methodology is disassociated with the behavioral issues of those involved in this complex activity that is the construction of computational systems.
What you really need to understand is that the study of a methodology - or several ones, otherwise how to compare their differences and choose the most appropriate one - brings a large volume of information and options that should not be used in their fullness for each and every project of software.
Read more about What is Methodology
For example: you learn all the syntactic and grammatical rules of Portuguese to know when to use them, because, of course, you won’t need them all when writing a personal email, they will be a little different when the email is professional, and you still have to know how to break these rules if you’re writing in a chat app with friends.
The objective in the previous examples is to communicate in Portuguese, the methodology is the same however, the process, techniques and tools that you will use must be in accordance with the context.
To learn about methodologies in the field of software development, I recommend reading books on Software Engineering.
It would not be a direct relationship with methodology, but the two suggestions below present broad views of the complexity involved and also discuss methodologies.
I always suggest the classics as a must-read.
But you can search for options that are just as good and maybe more affordable in this Software Engineering Books List.
Even though the Software Engineering literature broadly describes methodologies, we could cite the two most present in studies of this field of knowledge: Classical or Cascade Methodologies and Agile Methodologies.
See below the evolution of the study and the beginning of its applicability with the understanding and difference of methodology for processes and methods.
Perhaps in contexts unrelated to Software Engineering, method and process can have very different connotations. However, by the very definitions that you can read in the dictionary, in short, both define a systematic and sometimes orderly and continuous way of carrying out an activity.
One of the definitions of method itself incorporates “process” as its meaning:
Organized, logical and systematic process of research, instruction, investigation, presentation
Or even process that defines “method” as one of its meanings:
way of doing something; method; manner; procedure
This means that a method or process defines, or can define, sequences, steps or steps to be performed in different activities.
If we are going to apply the concepts to Project Management, it is a way to execute one (or more) of the steps of your project.
For example, you can use the Critical Path Method (CPM) which uses a diagram to help manage project processes that have tight deadlines with a high risk of delay.
Another example is the GTD method (Getting Things Done - “Doing Things”), which helps personal projects that need more productivity, organizing the execution of a more effective routine.
In the context of Software Engineering, for example: software development methods can define sets of tools and steps that must or can be performed in a software project.
Software development processes, in general, describe the steps to be performed in the same way.
SDP or Software Development Processes can exist as guides to be followed within certain methodologies - do you understand the relationship?
I’ll explain it another way: methodology is philosophical, it defines guidelines, assumptions, values - methods and processes are practical, they define steps, orderly sequences, application of rules and tools.
The most common thing is that, after studying and defining the use of a methodology, you study and define a method that is totally or partially based on it.
Although not common, there may be methods that mix guidelines from more than one methodology, however, depending on the area of knowledge where they are applied, this is not possible because there are conflicts mainly between the values preached by each methodology.
If we contextualize it in Software Engineering, I say from experience that it is possible to “adapt” processes based on methods for your team or development company, which merges some tools or steps, but as long as the “junctions” do not conflict with the values as I mentioned above.
Technique I consider the concept easier to understand or explain: technique is a skill, the application of a tool.
Considering the relationship with other concepts, technique is how to do it, or how to execute it, defined by the stages or steps in processes and methods.
For example, consider adopting a Kanban for task tracking in a traditional or software development project.
Creating a Mockup of a screen (prototype) is the application of a technique in a step of Software Prototyping defined in a possible software method or process that you are following, this one created by taking based on some methodology, for example, the agile methodology.
Knowing the conceptual differences between methodology, methods, processes and techniques will bring you greater understanding and better practical application when studying them in your area of expertise, or, within our context, in Software Engineering.