There are 3 main kinds of research:
Integrating existing knowledge into a coherent body of knowledge — here your contribution is twofold: to be comprehensive, and to present the wealth of facts in a comprehensible manner
Solving a problem for which no known solution exists — here originality is required, and ideally also simplicity and generality
Looking at existing solutions or methods in a new way to improve upon them — here your new approach should bring benefits like making the solution/method simpler, more effective or more widely applicable.
The outcome of IT research is generally one of the following:
the definition of a problem
development of a new theory, solution, model, technique, architecture or system
improving an existing theory, solution, model, technique, architecture or system
development of a component, aspect or part of a problem solution or task
measurement of some properties of a solution (part) e.g. time or space requirements, usability, etc.
identification of problems and limitations of an existing solution (part)
a demonstration that one solution (part) is better than an alternative
identification of factors influencing cost, performance or applicability of a solution (part)
the demonstration of a tradeoff in the solution space
analysis of a tradeoff
a generative, explanatory theory for some problem (part)
a demonstration of how an existing approach or technique can be used in a new context where its application is not obvious
description and analysis of a case study that places new demands on an existing approach or technique.
When choosing a goal for your research, remember to consider all these possibilities within your field of interest.
Most research is not fundamentally original, but is original in some aspect such as topic, approach, presentation, extension, result, or application area. If the area you wish to work in is relatively new, it is often easier to make a research contribution by tackling one of many problems not yet adequately addressed; while a well-established field requires expert guidance in order to ensure that one studies suitable aspects.
Look for something that interests you and the research community, and any supervisor or collaborators you hope to work with. If your topic does not really interest you, you will make your research task much harder and slower, because you will not enjoy the work. It will be much harder to be creative and passionate about it, not only during the problem solving stage but also when writing it up so as to interest and excite others.
If you are unfamiliar with the subject area, don't begin with bibliographic databases and research articles, as such papers have a narrow focus. You must first obtain a good background in the subject; it will help you to conduct a better search as well as ensuring that you understand the material you read better than you otherwise would have. This can be done by using secondary sources, namely handbooks, textbooks, review articles and encyclopedias. Secondary sources summarise and integrate information on a subject, drawing from primary sources already published; often they also give bibliographies as well as references to major papers in the field.
To help you choose a research topic, ask yourself:
What research skills you are best at and what type of research
requires these? What outcome is most important to you to improve problems in society? To bring computing to new kinds of user? To make money? To master some specific application context?
What application areas out there do you consider messy?
What new technologies do you know of that could drive change? What new problems could they raise? How do they affect known problems or tradeoffs? How might they affect another field which interests you?
What kinds of new users are there? What kinds of tasks do they require?
Finding an original problem solution is a daunting task. In applied research, the particular setup for which a solution is required may be so specific that no-one has tackled that particular problem before. Other research projects finesse this problem by starting with a specific technique and studying this in a new and challenging application domain. The majority of Computer Science research is technique-driven , i.e. a technique is applied in a new way or to a new application area, rather than problem- or goal-driven. The former type of research involves learning one technique, whereas problem-driven research requires familiarizing oneself with many techniques.
Breakthroughs in one problem area can be considered as solutions to similar problems in other areas (e.g. using AI techniques in the database field, etc.) When major breakthroughs (e.g. object-orientation) occur, these can provide alternatives for a great many problems, with potentially very useful research results. Such research requires thorough knowledge of both the new idea and the new problem area, and then being creative in applying the former in the new context. For example, if a new database paradigm were developed, it would need to be studied from the viewpoints of data definition and manipulation languages, query optimization mechanisms, efficient storage and access structures, suitable data models, transactions and concurrency control protocols, distribution, etc.
As the research lifecycle demonstrates, many advances stem from contradiction of existing ideas and practices. Having conducted a literature review of a topic, it is worthwhile considering whether any aspects appear incorrect, flawed or incomplete; this may provide a good research project. Some examples where current work underlies a research contribution are:
An error is identified and a new result drawn from existing data/experiments
A taxonomy has incorrectly placed certain systems/models/techniques in the wrong category, and an improved classification is proposed
A new way of looking at an existing system or problem is suggested
New data or a new context is discovered which refines or replaces current thinking
The Future Work section raises a question that interests you
It can happen that during the course of your research you come across a paper that has already achieved the exact research goal you had in mind. If it is a case study or applied research and your case study or environment differs from that in the paper, then you can proceed happily, and do your best to follow the approach used by those authors (unless you have reasons to believe this was inadequate). Otherwise, you can consider modifying your research goal slightly so that your work will differ sufficiently from the study you have just located without throwing you too far off your original plan. Or you can consider whether the existing research you have just discovered has any serious flaw, and change your study to focus on correcting this.
One of the hardest aspects of being a researcher is choosing a suitable project. In the beginning, see how many potential research projects you can brainstorm, and do not eliminate any even if you doubt their feasibility. Write each down so that it isn't forgotten and so that you have a full record of your ideas, rather than keeping just a few continuously changing ideas in your mind. This will also remind you that you are making progress at a time when you most need such reassurance. Group the ideas into sets of similar questions and finally select a question or group that is most appealing in terms of challenge and feasibility.
Remember one of the joys of research is that you can do what you choose, according to what interests you, so beware of others' influence over you and don't be too easily swayed.
If you cannot find anything completely satisfactory, start with the best idea you have and see where it leads you — actually tackling a problem or prototype system can lead you to appreciate more fully the importance and the challenge inherent in a research question which might otherwise seem unexciting.
Before you can make any start on research at all, is it essential to become familiar with the literature in the subject. Read the key works, look at recent copies of the key journals in the field, and if you like what you see then continue and do a literature review. Draw a mindmap or concept map of the subject, and see if this suggests new linkages or areas to explore. Reading academic journals or even articles in the popular press dealing with the topic can sometimes raise doubts in your mind or spark off related ideas which you can investigate.
Ask someone — supervisors, colleagues or even friends can suggest or lead you to a suitable topic if you discuss your dilemma with them. Find out what others in the department are doing and whether there are aspects or parts they would like you to tackle (and the collaboration they envisage, if any). Look at previous examples of research projects in the same field, to have an idea of scope, process, presentation and quality (ask senior researchers which examples are considered to be the best, and study them to understand why this is so)
Some factors influencing one's choice of topic are purely pragmatic — the availability of funding, a supervisor, equipment, software and other resources. It is also inadvisable to select a field where you do not have adequate background knowledge in the subjects underpinning the area.
It is important to choose a topic you will enjoy — both the problem area and the research methods you will need to use should appeal to you. Which skills do you particularly want to develop or improve? What are your personal strengths and weaknesses? What do you find appealing or daunting - working with people? statistics? theory? complex systems? If you have an outside interest, consider this as a potentially novel context, application area, case study or problem source. You will enjoy working on your project more, and can use your knowledge of that environment to find special challenges peculiar to that context.
Think about building on your own recent activities, whether this be previous research projects, prior reading, earlier systems or architectures you designed or built, interesting problems encountered at work or at home, advanced computing courses you enjoyed, etc. Use your own experience to find a novel perspective on a known problem (for example, if you are studying at a foreign university, you can consider your home country, its languages and its culture, and any special challenges they present).
Broadly speaking, one needs to choose a topic or subject area, narrow it down to a particular problem or aspect of interest, decide on one or more research questions or goals, and ensure that the question or goal is sufficiently interesting and significant for you to spend time tackling it and for others to spend time reading about your results. Each of these steps requires a great deal of reading, thinking and writing.
The amount of literature directly relevant to your topic is a good indicator of whether it is too broad or too narrow. Narrow down an area of interest by considering specific (types of) systems, aspects, application areas, user communities, case studies, sub-problems satisfying particular constraints, etc. One way to limit the scope of your work is to consider the major components of the system/problem, and examine the environment it resides in, and then decide which components or links to concentrate on. Alternatively, find similar systems/problems and choose some difference(s) to explore, or consider the various properties of the system/problem and choose one to study.
Having chosen a question or goal, it should not be researched and tackled without bearing in mind the framework of existing knowledge into which it must fit. Too narrow a focus, in one's reading and one's work, indicates a lack of balance and an inadequate appreciation of the contribution one wishes to make.
Once you decide on a research goal, to focus on a worthwhile contribution to knowledge in your topic, it is best to formulate one or more questions to answer. If you simply analyse what exists, build or design something new, it is not clear what can be learnt from the study or why it is important. By phrasing your research goal as a question, you focus on what you want to understand, solve or test, and have a far better chance of discovering something significant that others can learn from, use and build upon.
Setting one research question is best, but two or three is also acceptable. Do not try to answer four or more questions in one project. Writing your goal as a question often makes the research methods required reasonably clear. It forces you to be clear and specific, and express the problem in a way that its solution can be confirmed and evaluated. You can be more formal later and express the question as a hypothesis you wish to prove or disprove.
After you have decided what you want to study (your topic) and written down what is not known about it (your research question), the next step three is deciding what you want to understand and use when you find out the answer (your motivation). This 3-step process is not very different from what happens in industry and government, where success also depends on finding a problem, developing a solution, and then showing how others can benefit from what you have found.
Pro forma plans for research projects are also especially useful. These comprise two sentences. The first is the requirement, goal or question the project addresses. The second is a statement of the expected outcome of the research.
If one is unable to evaluate a research product, one cannot know if the research has succeeded in meeting its goal, and one certainly cannot convince others of this. Defining suitable evaluation criteria can be an important part of the research, and in the early phases of the research life cycle is in fact part of the problem definition (while in later phases, new criteria are identified). In addition to evaluating completed research, these criteria can be used earlier on to guide the research through feedback from tests and experiments. Experimental research requires evaluation criteria that are easy to measure, reliable (repeatable), valid (i.e. measuring the right thing) and convincing — e.g. CPU time, percentage of correct answers, etc.
Since choosing a topic involves thinking about the time it is likely to require, one needs to have some project plan from the very beginning when an idea is first mooted. Even when you are still deciding on a topic, you can already draw up a timetable to have an idea of what your secondary goals would be and how much time they are likely to need. It can sometimes be helpful to conduct a short preliminary investigation to make sure you are happy with your choice of research question before you invest too much time into solving it. This could involve building a very small prototype, or conducting an initial experiment, to get a feel of what this research will involve and how much you enjoy doing it. When you are confident that you have made a good choice for you and have a reasonable idea what you will be undertaking, then you can move on to the next stage of writing a formal research proposal.
Having chosen a research topic, confirm that it meets the following checklist of criteria:
It does not aim too high. The process of research can be as important as the goal, so do not aim for a major breakthrough or for studying and problem/task that will require more time than you can afford.
It does not aim too low. Ensure that the question or goal is sufficiently interesting and significant for you to spend time tackling it and for others to spend time reading about your results. Check its significance by writing down in one sentence why you are asking that question and what you expect to understand once you have the answer.
It meets expectations/regulations. If you are doing a thesis, researching for an employer or consulting company, being funded by an organization, or planning to publish in a particular journal, check their expectations — both written ones and unwritten ones (which you can only discover by talking to others in similar circumstances).
Resource requirements are in line with what will be available. Compare the time and resources you have, or are likely to acquire, against what the topic is likely to need. The difference can indicate a change in topic/focus. Alternatively, if the discrepancy is relatively small, time for raising extra resources must be planned into the start of the project.
There is sufficient expertise you can tap into for feedback. Find out if there is sufficient local know-how and research activity, and consider the likelihood of finding collaborators locally and further afield.
It is not governed by your place of work. If you choose an application area relevant to your employer, or a project instigated by your employer, think carefully about the likelihood of your changing job before the research is completed.