The Not Invented Here Bias

Dec 11 2013

There is a famous Toothbrush Principle of scientific theories:

A theory is like a toothbrush: Everyone wants one, everyone has one, but nobody wants to use someone else's.

We could replace theory with development framework and describe software development to a T.

Behavioral Economist Dan Ariely, in his book The Upside of Irrationality, uses the Toothbrush Principle to illustrate one popular formulation of the Not-Invented-Here (NIH) Bias. <!--break-->

The NIH bias suggests that humans tend to overvalue their own ideas and comparitively undervalue any competing ideas. And, yes, it is a near relative of the Ikea Effect that I discussed yesterday. The crucial difference, though, is that where the Ikea Effect is primarily concerned with the relation between labour and value, the NIH bias has to do with valuing our ideas.

Of all of the cognitive biases I know (overconfidence, anchoring, tyranny of defaults, and so on), NIH is the one I most frequently observe having a consequential impact on software development. And I, for one, wrestle with it almost daily.

At its core, software development is about identifying a computable strategy to solve a particular problem. It might be culling through petabytes of data, or it may be positioning elements on a visual canvas in just the right way. But regardless of the specific technologies, at its core, programming is a game of idea generation and implementation.

According to the NIH bias, we as individuals (and collectively as organizations) will tend to value our own ideas over the ideas we receive from others. Two of Ariely's examples are likely familiar:

  • Sony, the mega-corporation, spent at least a decade developing their own technologies (memory stick and so on) while steadfastly ignoring the evolving digital world around them. Notoriously, they were late to market in the MP3 player and flat panel TV markets. Why? Because they were convinced that their ideas about he future of technology were better than anyone elses.
  • Thomas Edison, inventor of Direct Current (DC), staunchly reject Tesla's Alternating Current (AC) model, going so far as to devote money and resources to toppling AC. He could not see the benefits of AC and how the future use of electricity would require AC.

Those of us in the software development world could cite, doubtless, thousands of cases without breaking a sweat. From memory managers to stylesheet implementations (Behaviors or JSSS anyone?), our industry is replete with individuals, vendors, and organizations that have dug their heels in around their own ideas. But this may not always be a bad thing. As with other biases, there are both positives and negatives to NIH.


  • Innovation: a new idea can lead to breakthroughs large or small.
  • Deeper Understanding: To turn a phrase: "You don't really understand something until you've implemented it"
  • Good Fit: Software is not a One-Size-Fits-All practice. Specific problems may call for new and novel solutions.


  • Yet another wheel: Our "different" idea may turn out to just be another version of the "same old idea".
  • A four-sided wheel: Worse, our "different" idea may be less effective than the "same old idea"
  • Wasted effort: As good as the idea is, implementing it instead of using an existing alternative may just be a waste of time.
  • Creating a Niche: "Good Fit" taken to an extreme becomes "niche." When nobody else understands your solution, it's a problem.
  • Exclusivism: Systemic NIH, like that of Sony, may appear to outsiders as extreme arrogance and exclusivism.

On my own, I have experienced first-hand both the positives and the negatives of NIH. Because I've experienced some big wins that resulted from NIH, I'm hesitant to argue strongly for full debiasing. But the one strategy I've found for at least doing some semblance of serious analysis is by completing a table like this:

Solution Cost Benefits Weaknesses Likelihood of Future Use
Mine Time? Does it create good novelty? What can't it do? Can it be reused?
Theirs 1 Money? Does it address our problem? What doesn't it do now? Will we use it again?
Theirs 1 Opportunity? Is it maintainable? Are we reliant on externals? Can others use it (or am I the only one)?

In each cell I have put prompts in there for the questions that must be asked in order to generate answers. The questions should be asked of every solution (not just one), but the idea is that when answering these questions, details will surface that will help debias.

The bottom line is that NIH can spark innovation, but it can also create headaches in the form of maintenance, lost opportunity, and even "four sided wheels". Can you create a successful strategy for weeding out the bad ideas, even if they are your ideas?