The World According to Nick
My take on Software, Technology, Politics, and anything else I feel like talking about.
Friday, October 22, 2004

Not Invented Here Syndrome 

"Not Invented Here" is one of those syndromes that is a somewhat common topic among software folks. I personally think it ranks up there with the "Mythical Man Month". For those not in the know, NIH is what happens when you need to do something, there already exists a component or tool to do it, but because it wasn't created by you, you don't want to use it, and instead roll your own version that you feel is somehow better.

The problems with this attitude are many. First of all, you end up spending more time and money re-inventing the wheel than you would have if you had only bought a wheel. Secondly, your final product almost always suffers because you weren't able to use that time and money on the parts of your software that are truly unique. The tool you could buy, or find for free, is often times heavily used by others, meaning it's already tested... where as yours will initially have bugs in it. The list goes on.

Take for example my current client (who I am leaving nameless). This company has an "Architecture Team" that decrees from a mountain top how things ought to be done. First of all, this is a .NET house full of Microsoft junkies. Nothing wrong with that at all. They've picked a solution set and are going with it. What is scary is that .NET has a lot of tools to do pretty much whatever you want. However, in the ultimate display of NIH, they've decided they don't like SOAP for communicated with web services and have invented their own XML transport format.

So now, in order to call one single method on a web service, I have to write 13 lines of code to do it. These 13 lines of code make use of two utility libraries written by someone in the architecture team as well. Who knows how much work went into those two libraries. Had they just used SOAP like they should have, I could have made the identical call in just 1 line of code... making use of functionality already built into .NET. I won't even go into the performance impact of the extra casting and parsing that goes on either.

What's even more moronic is that they didn't actually forgo using SOAP... their custom XML envelope is being re-wrapped in a SOAP envelope anyway... so they're really just fighting with .NET, making it harder to use, for no good reason.

I used to think that NIH was a young programmer's problem. You had all these ideas coming out of school, had a big ego, and didn't know any better. You didn't understand what kind of pressures go into making software for a business... and so NIH runs rampant. As you get older, are out in the business world longer, you realize that it's not worth it, and you get over NIH. Maybe I was wrong. These guys in the Architecture Team have been around way longer than I have and should definitely know better. Maybe it's just ego.

Comments:

Post a Comment

About Me



Name: Nick
Home: Wauwatosa, WI, United States

I'm a Software Consultant in the Milwaukee area. Among various geeky pursuits, I'm also an amateur triathlete, and enjoy rock climbing. I also like to think I'm a political pundit.


 View My Profile

Archives
 Home Page

Subscribe to this Feed

Search Archives
Previous Posts
You Know You're a Geek When...
I Have Eight Different Bosses Right Now
Great Sex and No Sex
Blame the Technical Writer
Is He a Good Driver?
A Confession
Insecure Security
Congratulations - You Didn't Die
Housekeeping
Shannon You Ignorant Slut

Personal Links
Carnival of the Badger
The Coding Monkey
del.icio.us Links
Flickr Photos
Blog Critics Reviews





Blogroll Me!

music
books
video
culture
politics
sports
gaming

www.flickr.com
This is a Flickr badge showing public photos from Nick_Schweitzer. Make your own badge here.

Credits

Blogcritics: news and reviews







This page is powered by Blogger. Isn't yours?

Weblog Commenting and Trackback by HaloScan.com

RSS-to-JavaScript.com

Listed on BlogShares

Design By maystar