the Hidden Realities of Computer Industry in Japan Japanese

4.2 Worth of One Line


Once, I made a trivial modification to a program.

I was in charge of a program which performed time-consuming, technological computations with multiple interconnected computers, or networked computers. I did not write the program, but I had to deal with a claim, that with this program running, computers connected to the network began to stall.

I presumed that this was more or less inevitable because it involved very complicated analyze processes. But I cannot make a conclusion without investigating the phenomenon, so I went to the site. Decent computers are equipped with the function to let users know how much load the computers were burdened. It shows a graph of the computer load with the progress of time, in other words, how the computer is healthy.

Then I noticed a very strange behavior, that is, there was no problem when the complex computation is executing, however without the computation, computers began to stall. It is reasonable if computers became stalled with the computation active, but in reality it was vice versa. Of course, this strange behavior many had noticed, but no one came up with a solution.

With this symptom, the problem became almost clear. I stopped the program, and modified only one line of it, and executed again. Thereafter, without the computation, the load of computer became lighter, the graph dropped to almost zero base line.

Since that was only one modification, the effort was trivial. The time required was at most ten minutes.

But what this modification provided was extremely large. Before the modification, if the program was executed in networked environment, affected other computers connected on the network. The effect of the program, which has been used for a couples of years, in a big corporation, should have been enormous.

In these years of computer networks, the program such that affect on the other computers should not executed on network environment in the first place because it affects other business' executions.

So, let's evaluate the one-line modification for money. Say this took ten minutes, and for convenience of calculation, the rate be 6,000 yen per hour. This work required 1,000 yen of effort. But considering the whole work, this could be negligible.

However, the effort of those who involved in this program, those who investigated the problem, and those who caused this trouble is much more than ten minute. At least, days, or rather weeks of efforts. This should be a waste of a million yen of direct man effort, with an extremely low estimate.

Moreover, the expense if this program were to be used with this trouble remaining, would be enormous. First, with the poor performance, replacement of computers to the high-end machines would be necessary. And many users might have been affected. The total effect of these might be as high as hundred millions.

Next, the story of less than one line. It was long ago, the president of the company I was working with took a contract of personal computer software development which could not be rejected, because it came via a computer manufacturer. Actually it was one of my men who developed it, and I was a development leader.

This was an analysis program of collected data in an inspection company. Before the program was developed, data were collected on-site, which were brought back in the evening, the analysis of the data was performed with electronic calculators, the results were shown as charts. Seeing how the calculation were performed and how charts looked like, I thought it quite simple. But overwhelming amount of the data made it very boring work. The requirement of the program was to make this simple work done by a personal computer.

Personal computers at that time were of one thousandth performance compared to the ones available now. The program completed was so slow that I wondered if this slowness could be acceptable. But it was okay as long as data entered by a female clerk were analyzed overnight and the result printed next morning. What a different realization between the developer and the user of a program !

After this program was used for a while, the client company wanted to talk to us about the enhancement of the program. So I and the developer went to see them.

The request was simple. During the interview, how the program be modified was on our minds quickly. Only with a few characters modification would be enough to achieve the required function. It was so simple that I didn't know how to respond.

The client wanted to place an order with this development. He asked how much would it take, but it being so simple, I couldn't answer. "We need to think it over," I said, and returned from the client company.

On our way return, at the platform of the station, "it's only modifications of X characters, right ?" I asked, "yes," he answered. No estimation was necessary. In front of the account manager, I could not answer but "let us think it over." If the person in charge with no management position or the female operator had asked, we would have fixed it there. Of course, free of charge. Or, if any, a cup of coffee, a set of coffee and cake, or lunch would suffice.

Afterwards, how much was my estimate of effort and the total price, I don't remember. An estimation for only one line of modification was very difficult.

Of course, what made the modification so simple was because the program was well-crafted, I mean, extremely well-crafted.


Copyright 1996, 1999 Hirofumi Fujiwara. Translated by S.A.
No reproduction or republication without written permission.

the Hidden Realities of Computer Industry in Japan Japanese