Is the NIH Syndrome Still Alive in Your Shop?

General
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

The “Not Invented Here” (NIH) Syndrome is nothing new. If it is true, as I suspect, that part of the nature of people is to worship the work of their own hands, the NIH syndrome is as old as mankind. Regardless, this way of thinking has never been a good idea, and it’s not a good idea now.

Sure, this way of thinking makes for amusing anecdotes. There was quite a discussion on the subject of re-inventing the wheel on the Midrange Computing Web forums recently. (If you’re not participating, point your browser to www.midrangecomputing.com/forums and join the fun.) One participant wrote about a group of System/34 programmers who had a program that read a file in order to count the records. These programmers were “blissfully unaware” of the ?F’A,filename’? procedure- control expression.

Another forum participant mentioned a programmer who always created user profiles “with QDFTJOBD as the job description (from which the library list is set), *WRKSTN for the output queue parameter, and *NONE for the initial program. He then wrote (from scratch) a new initial program for each user that did three things: set the user’s library list, assign that user’s output queue, and call the user’s initial program.” Well, I had a few chuckles, but it’s really not funny. Building what someone else has provided costs money.

Why We Do the Things We Do

Why do programmers write software that others have already written? Here are a few reasons. (Maybe you can think of others.)

• Egomania—Some people don’t consider themselves real programmers until they’ve written their own operating system, compilers, communications package, and source code editor.

• Laziness—It’s too much trouble to try to understand another programmer’s code. Roll your own code so you’ll know how it works. When you leave, the company will bring in some other programmer who will take a look at your code and roll his own.



• Economics—The boss won’t fork over a few thousand dollars for you to buy new software, so he pays you four times as much to write it yourself. You’re already on the payroll. And never mind the backlog.

• Ignorance—Joe Coder’s got time to check out Dilbert, stock prices, and sports news on the Web, but it’s too much trouble to visit the Midrange Computing online Yellow Pages (www.midrangecomputing.com/yellowpages) or search the Web to find out what products address the current hot button. Joe ignores the ads in magazines like Midrange Technology Showcase and Midrange Computing. He figures those ads are just there because the writers couldn’t think of enough to write about.

• Ignorance, Take II—Training is too expensive, so your employer won’t send you to seminars, schools, or COMMON. Therefore, you should train yourself. You’ll be as good as your instructor.

• Independence—If you write code yourself, you won’t have to pay those yearly support fees or get new license keys when you upgrade to a Model 8XX honker.

Nothing’s Free

There are two primary reasons why duplicating the effort of others is not usually a good idea. First, homegrown software isn’t really free even if it does the same thing as other software on the market. Programmers don’t work for nothing, and the hours spent duplicating the efforts of others are hours that can’t be spent hacking away at the backlog.

Second, specialization works miracles. If you had to make your own clothes (including shoes), grow and hunt your own food, build your own house, and provide your own transportation, you’d live in squalor. However, if different people specialize in producing various goods and services and then exchange the fruits of their labor with one another, everybody’s a lot better off.

So, when management decides to put up a Web site, are you going to brew it at home and possibly put the company out of business? (I’ve heard tales of that already happening, although I haven’t been able to verify any of them.) Will you fight the valiant fight, like that AS/400 shop I knew that had homegrown EDI translation software? Or will you aim your resources at the tasks specific to your shop and pay someone who specializes in Web development and hosting to put you on the Web quickly and easily?

All Things Considered

Of course, developing what another programmer has already developed is not necessarily a bad thing. Here are some good reasons to do it yourself. (Please note how much shorter this list is than the first one.)

• Expense—Some software houses are run by people who don’t live in the real world. Judging by the license fees and yearly support charges, these people must be living on Mars and importing all the necessities of life from Earth.

• Excess—You need a lawnmower, but the various suppliers sell only tractors with brush hogs and insist that no one can get by with less.

The world (including the world of computing) is getting more and more complex at a faster and faster rate. I believe that the cost of developing what has already been developed rises proportionally. If I’m right, then the NIH Syndrome is more costly now than ever before, and leveraging existing resources is more important than it’s ever been.



BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$0.00 Raised:
$