Because of this I strongly believe that research in software engineering must be based on what practitioners do. I started to write professionals, but realised that a lot of important stuff in the world of software are actually made by amateurs (in the sense they are not getting paid to do it). And I also think research methods from the social sciences can provide great insights into software engineering.
A colleague of mine said that a good researcher in software engineering should have three base pillars to stand on:
- A good knowledge of real problems that practitioners have
- An interest in developing solutions to these problems
- Knowledge and experience in evaluating the solutions in practical (real) settings
A short litmus test to discern if a researcher has enough experience of practical problems:
Describe the difference between a software process and a software project.