Even at MIT, good ideas don't grow on trees.
Instead, I've found that good ideas have two ingredients: preparation and practice.
1. Preparation. The act of acquiring new knowledge and ideas. The foundation on which my good ideas will be built.
2. Practice. Generate lots of ideas. Engage with ideas in new ways. Think about what's next, what could be changed, what can be improved, how things work, what might happen if, implications, extrapolations.
Here's my method.
I read outside my field, especially non-fiction. This gives me new information and new perspectives.
For example, I picked up Vera Johnson-Steiner's book Notebooks of the Mind, which was a nice qualitative discussion of creativity. I read Cal Newport's Deep Work, which changed how I approach my work time. Peter Gray's book on self-directed education, Free to Learn, is personally relevant, and discussed a lot of education research about how children learn (including anthropology work about hunter-gatherer tribes!), which influenced how I approach my research on kids, robots, and learning. I've read books on laughter, mutual causality and systems theory, the differences between ancient Chinese and Western medicine, the impact of socioeconomic status and race on language and society, the psychophysiology of stress, and many more.
I read papers in my field. I read the "future work" sections in papers I like. These sections are full of researchers' ideas that didn't quite make it into the current project, ways to extend their work, and ways to improve their work.
I try to have a regular academic reading group. Success has varied. With my lab group, some years we've managed to meet weekly! Some years, we're lucky if meet once a month, if at all. Right now, I'm also in a reading group organized around the broad topic of learning; we've read papers recently on the connections between Piaget and Vygotsky, Bandura's intrinsic motivation theory, and how stress affects learning. We take turns choosing papers to read, which means I often read papers I may not otherwise have picked up. Some are highly relevant to my work, and some, not so much. One question I always try to ask is "How could I apply the ideas in this paper to my work?" That is, what can I learn from this paper? Having this question in mind helps me ground what I'm reading in what I already know.
Notebooks: I have one. Several, actually (along with some text files and unsent email drafts). I jot down ideas regularly: thoughts on whatever I'm reading about, interesting things I notice about the world, how concepts connect back to other things I've learned. I review these notes periodically. I look for patterns. When deliberating dissertation topics, I noticed themes in what I highlighted in my notes, which helped me narrow in on what really interested me. I've developed new research ideas and come up with ways of building on my previous work.
Spend time thinking, processing, summarizing, planning, and synthesizing. For me, this often overlaps with "notebook time", in that I do a lot of this thinking and planning on paper. I find writing time (such as working on a paper) is also synthesizing time. The process of writing coherent paragraphs about a topic means I'm clarifying and summarizing my understanding of the topic at the same time. The important thing, however you do it, is to not only accumulate knowledge but also process what you've learned. I find it important to spend connecting ideas and deepening my understanding of how different pieces of knowledge fit together.
Use class projects as an opportunity to explore random ideas. I've benefited from the MIT Media Lab's project-heavy class structure, since there's ample space to try out new things, no long-term vision or research agenda required. In my final project for an Affective Computing class, I tested a hypothesis about the impact of introducing a social robot in a particular way might have on people's social judgements of the robot. I've also made light-up balls that change color in response to accelerometer data (we called them glorbs), and created life-size paper robot silhouettes to ask questions about the "aliveness" of robots. Other people in my lab have, perhaps, gone in wackier directions -- for example, two students did a project about enhancing creativity during early stages of sleep, which involved getting people to fall asleep wearing an EEG cap, and having a robot wake them up with questions every time they started to get comfortably dreamy.
I talk to people. For example, in my lab group, we used to all walk downstairs to get tea or coffee from the 3rd floor kitchen at least twice a day. We'd troop back up to the lab, steaming mugs in hand, and stand around throwing ideas off the wall for half an hour before getting back to work. We discuss some serious stuff, like the ethics of child-robot interaction, as well as random stuff, like ceiling robots that could unobtrusively steal leftover food from other people's meetings. I also try to talk to people from outside my lab and outside my field. Hearing from people who see things from a different perspective or who need me to explain things in a different way can be incredibly helpful for gaining new insights and seeing things from a different point of view.
In all these conversations, notebooks, and classes, I try to keep asking, "And then what?" If my hypotheses are supported, what next? If I'm wrong about something, what are the implications? Where are the opportunities? What might happen if?
That's where my good ideas come from. Preparation and practice.