Book 5 - Maintenance

Thus spake the master programmer:

``Though a program be but three lines long, someday it will have to be

maintained.''

5.1

A well-used door needs no oil on its hinges.

A swift-flowing stream does not grow stagnant.

Neither sound nor thoughts can travel through a vacuum.

Software rots if not used.

These are great mysteries.

5.2

A manager asked a programmer how long it would take him to finish the program

on which he was working. ``It will be finished tomorrow,'' the programmer

promptly replied.

``I think you are being unrealistic,'' said the manager, ``Truthfully, how long

will it take?''

The programmer thought for a moment. ``I have some features that I wish to add.

This will take at least two weeks,'' he finally said.

``Even that is too much to expect,'' insisted the manager, ``I will be

satisfied if you simply tell me when the program is complete.''

The programmer agreed to this.

Several years later, the manager retired. On the way to his retirement

luncheon, he discovered the programmer asleep at his terminal. He had been

programming all night.

5.3

A novice programmer was once assigned to code a simple financial package.

The novice worked furiously for many days, but when his master reviewed his

program, he discovered that it contained a screen editor, a set of generalized

graphics routines, an artificial intelligence interface, but not the slightest

mention of anything financial.

When the master asked about this, the novice became indignant. ``Don't be so

impatient,'' he said, ``I'll put in the financial stuff eventually.''

5.4

Does a good farmer neglect a crop he has planted?

Does a good teacher overlook even the most humble student?

Does a good father allow a single child to starve?

Does a good programmer refuse to maintain his code?