Image by daviddoctorrose via creative commons
NIH (Not Invented Here) syndrome is a condition in which developers (or business owners/managers) feel that they need create something themselves instead of using a perfectly viable existing solution.
This usually manifests itself in the form of “That costs to much, let’s build it ourselves and save the money.”
Funny thing is … this usually costs exponentially more in the long run.
NIH Syndrome can kill your project/company faster than you think.
Let me explain why…
Let’s assume you’re evaluating an analytics package for your web or mobile application.
You have two options here –
- Use an existing off the shelf product (Google Analytics, Keen, MixPanel, Localytics, etc – there’s a ton out there). These range anywhere from free up to a couple hundred a month – anywhere in that range.
- Build an analytics package yourself (cost: You think its free, ohhhhhh not so fast – it’s not).
You opt with option #2 – build it yourself. RE: None of the existing analytics packages provide the functionality you need so you decide to build your own.
Bad move.
Most likely an existing product/service will do the job for 80%-90% of the companies out there, for the majority of their use cases. With a little tweaking you can get everything you need out of it. You just need to understand the tools.
Most business savvy and time conscious companies will decide to use the existing service instead of building it themselves. These companies realize that they are not in the market for creating a new analytics package. Unfortunately, not all companies are that fortunate.
I’ve consulted for companies where engineers go rogue and build everything themselves because they feel their solution is superior.
This is a problem.
Unfortunately these diversions are exactly what end up costing the company tons of time and money and it could have all been avoided if the proper questions would have been asked. When NIH Syndrome rears its ugly head often enough the team becomes so distracted with their own creations (aka: Shiny Object Syndrome) that the engineering department begins to slow down product development due to the new distraction that has nothing to do with their market.
How do you know if you’ve developed NIH Syndrome?
I tend to use this steadfast heuristic as a baseline for all NIH syndrome based evaluations.
If you ever find yourself saying or thinking …
“We don’t need that, we can build that ourselves.” or “That costs too much, we can build it ourselves for cheaper.”
Then you most definitely suffer from NIH Syndrome…
You may also suffer from NIH syndrome if you insist that you must …
- build your own analytics package
- build your own status page
- implement your own encryption algorithm
- build your own blog solution from scratch
- build your own internal testing tools when existing ones work better but you lack the understanding
- build your own monitoring software
- build your own API protocol
- implement your own CSS language
- build your own logging framework
- build your own router
Sure, there are exceptions to the case, but if you’re a small company then there is no reason to be building solutions that do not serve your target market.
When is NIH Syndrome not a syndrome?
When the existing solutions truly do not match your business needs!
If you find that the existing solutions are far more cumbersome to use than building something new and you can validate that with numbers (time vs effort vs ROI, etc) then go for it.
So… how do you go about validating if something is worth building vs using an off the shelf solution?
Evaluating Off The Shelf Cost vs Build It Yourself Cost
Every time you start to think “I can build that” or “Thats expensive, let me build it” perform this quick task:
Ask yourself this – How much time do I think it would take to build, support, bug fix and feature enhance a custom solution that matches the existing off the shelf product? Take the number of hours, multiple it by $100/hr (yes your time is worth that much – at minimum) and then look at that number.
I bet you its over $5,000 at a minimum if not $8,000-$10,000 or more! For some solutions its probably closer to 25k-50K.
Furthermore, that number is for your quick and dirty approach not a polished app like the ones you can buy on a monthly subscription.
Now look at the the price of the existing solutions. Take that number and multiply the monthly price times 3 and times 6 (You’ll be able to figure out if a solution works well for you at 3 months and most definitely by 6 months).
Lets say the off the shelf solution is $150 a month. I know what you’re thinking “Whoa, thats a lot” .. not really when you look at the numbers though! 150 * 3 = $450, 150 * 6 = $900
How much money would you rather spend? $900? or $5K-$10K?
I’d rather spend the $900. I’m sure you would too.
The Hidden Gotcha
Here’s the hidden gotcha about NIH Syndrome – if you do decide to build something yourself you also lose all inherient momentum you’ve gained working on your product. All of your engineers time, effort and mental energy gets put into this infrastructure component instead of pushing the product forward.
When you suffer from NIH syndrome, not only do you lose money in the long run by building it yourself, but you lose money by losing market share and attracting new customers.
The next time you begin to get the feeling of “we can build that ourselves” (for any reason) go back to the cost section above and run some quick mental math. Remove the emotion and make a logical decision and use something that exists so you can go back to serving your customers by building your product, not a new shiny object.
Thomas Kerin says
No one should ever invent their own cryptography. Since you mention it, I’d suggest making this an outright ‘never do’, not just a symptom of NIH 🙂
Donn Felker says
Exactly my friend. Exactly! 🙂