How do I minimize the number of "unknown unknowns"? There's a famous quote from a former US government official regarding the things we know, the things we know we don't know, and things we don't know we don't know. Likewise, there are many colorful versions of this too (my personal favorite - careful, some cursing involved).

As a soon-to-be second-year graduate student, I'm rapidly discovering just how much damage that last category - the "unknown unknowns" - can be. To wit: I was given a project to work on by my advisor that seemed straightforward enough, and I was confident I could successfully complete it within a few weeks. I even tried to pad the time required by asking for a month.

Fast-forward a month, and the project was "working" in only the broadest sense of the term. I ran up against a number of problems - ranging from being bottlenecked by other lab members who were struggling with their own projects that fed directly into mine, to taking a wrong turn and attempting to use a software package that didn't work correctly, to discovering numerous times that what I had coded was extremely clunky to move forward and needed to be refactored.

In each case, I learned something new (usually several things) that made the next iteration of my work more successful - and yet after 3 iterations over the course of a month, the project itself is still barely working, I'm rather sleep deprived, and at this rate I'm likely to miss an important deadline to gather results for a paper (it won't torpedo the paper, but it will likely weaken it).

What I'd like to know is this: are there any strategies I can follow to try and minimize the number of obstacles before I start a research project? I spent nearly a week prior to starting this - and several days over the last month - reading nearly a dozen related papers, sketching out ideas, but I only just realized that I was researching the wrong topic (specifically: "how are multiprocessor scheduling policies designed" while I should have been researching "how are multiprocessor schedulers designed" - a subtle difference I think). To be honest, I'm not certain I can sustain this level of stress for the duration of my degree program.
If you wish to minimize the known unknowns, them you would have to explore more studies published in the area you are researching on. Your advisor, provided he is well versed on the topic, could help you out with this. On the other hand the unknown unknowns can only be discovered by exploring the topic yourself with extensive experimentation and see whether the concept has been published before. To know what is really unknown, you would have to know everything that is known.

Well that would be the holistic view. But coming to the practical view, the known unknowns would only point to the knowledge your thesis committee or reviewers know that you don't but aware of. And, unknown unknowns is more or less the same only that unaware of what they know. 

So it would be better to understand the practical implications of your problem and not to get yourself stressed out too much.

Hope this helps.