Doing research is a fancy elitist term for studying your problem. It is nothing but learning a new subject, like in a college or university.
You search and read the best books on the subject (it is murderously difficult to determine which book is the best, but it worth it) watch online courses (from reputable universities, of course) and sometimes even YouTube videos of narcissistic demagogues and bullshitters.
Doing research is educating yourself on the subject. Just this.
- write down all the details (statements of fact).
- write down all the definitions (exact meaning of words).
- write down an informal description of a model
- write down parts of formal model (definitions you have understood).
Structure writing into major parts
- Informal description in English
- Domain-specific language (a shared context)
- A rigorous formal model (if any)
- Data structures (shape of the data)
- Implementation details
- Strive for perfection of parts
- Simplify and reduce to a perfect form
- When there is noting more to remove
(an opposite of nothing more to add)
- every computer program is a model
of some real or mental process
(everything is a process)
The principal emphasis is on articulation (and precise definition) of concepts related to the problem domain.
Not some fancy abstract concepts, but those which describe entities (and processes) which are directly suggested by actual aspects of the real world (What Is).