Chapter 2
FEBRUARY 23, 1998

At exactly 8:30 A.M., the electric door of the Systems Development section at HQ opens and Lenny goes inside, carrying two cups and his briefcase in a manner known only to him. The two cups, one coffee with milk, and one black tea, are also characteristic of Lenny.

Roger, VP of Systems Development, sits in his office, which is right next to Lenny's. He looks at his watch. "As usual, he's right on time," he thinks to himself. Roger is willing to bet that the date is not going to change. Lenny and Scott probably just had a nice dinner for two. Gathering up the papers on his desk, he follows Lenny into his office.

Lenny puts his cups on the table, drops his briefcase to the ground, takes a quick sip and looks up. "Good morning Roger. Before you ask, the answer is yes, April 15th is still the release date. The new vendor-performance-measures will not be included, unless I finish the detailed specs today. Any questions?"

Roger begins, "Lenny, I suggest we review, once again, the list of features going into version seven point two. The list is too long to be realistic. It's not the vendor-performance stuff. I'm concerned we won't have enough time for quality assurance. Lenny, we must give our programmers clear priorities."

Lenny thinks for several seconds. "If I give you the relative importance of the new features I know what will happen. I'm not ready to give up on any of the features we've planned to include."

"Lenny, that not fair," Roger replies. "You cannot hold the stick from both sides. If you don't give us any flexibility on the release date, you must give us some leeway on the number of features."

Lenny examines Roger's face, thinks about it and says, "Okay Roger, I'll give you the priorities, just in case you do everything possible and still run out of time. But remember, I'm asking for everything. Where is the list?"

Apparently relieved, Roger hands him the list. Lenny starts to mark it.

The phone rings. Lenny doesn't bother to answer it.

The voice-mail speaker interrupts: "This is Rudy from KPI Solutions. I have a major client phasing out from MAN and coming to us. We have to show them what a cool, fast implementation we can do. Failing to convert the data can kill the implementation. I'm in a very sensitive situation here. Please call me back ASAP."

Lenny looks at Roger. "The fact that KPI Solutions gets almost all its work from us doesn't mean that we can neglect them," he says.

"You don't have to remind me that KPI is our biggest system integrator." Roger is almost insulted. "But the reality is that Phil's team is filled up with the Web-enable module that you said is priority one."

Lenny doesn't accept it. "Phil's team might be filled up with work but that doesn't mean that we can leave KPI without good service. Maybe you don't need a reminder but we depend on KPI to the same extent they depend on us. For over eighty percent of our clients, KPI Solutions is the company that implements our software."

Roger starts to describe what he is doing to compensate. "I've transferred the mission to Arthur at our office in London. He promised me a response in two weeks. I found out he assigned the job to someone named Mary. According to Arthur, she's a bright programmer—but just a kid. No real experience. So, after the first two failed attempts to do the conversion, I demanded that Arthur look at it himself. Apparently it didn't help much. So it must be a particularly nasty bug. OK, I'll ask Steve Chin to put someone good on it."

He stops, taking a deep breath.

"Why are you staring at me? I'm not going to do it myself. The last line of code I wrote was thirteen years and three months ago—I don't count the days."

Lenny smiles. "It used to be different several years ago. I remember you fixing problems like this in less than fifteen minutes."

Roger returns his smile. "You're confusing between you and me." Flatly he adds, "Some of our people are really excellent programmers, but I can't keep constantly interrupting them. The need to stop work to answer questions and fix bugs is turning their work into havoc." I'm just planning a system so clear and friendly there will be no need for questions, manuals, and help screens." Lenny says, "Come back next week and I'll show you. This really will solve all our current problems."

"What?" gasps Roger.

"Just kidding." Lenny laughs. "I find time for jokes when I'm in trouble, like now. It's my Jewish heritage. By the way, it's not such an impossible mission to write a computer system that will work right the first time. Just design a system that does nothing, and you have about a twelve percent probability it will work smoothly. In all other cases it'll do something— which means there are bugs somewhere." Porcupines have quills and programs have bugs. That's life.

Roger manages to smile. No one wishes to offend Lenny by not responding to his jokes. He likes Lenny. Everybody does, and he's too important a person to risk hurting his feelings.

Lenny finishes marking the list. Before he hands it to Roger he says, "By the way Maggie has invited herself to discuss a document she sent me. That document shows how few of the features that KPI Solutions has requested have been authorized by me. So don't think I'm giving you too many features. Roger, here is your list. Remember, I want the release to contain ALL these features."

When he leaves Lenny tries to immerse himself in figuring out the technical specs for the vendor-performance requirement which he thinks is not needed in the first place. However, when a six-billion dollar company asks for something, even he has to comply. But he is trying his best to design the new feature so it won't generate any real damage. It is a challenging objective.

The door opens. Lenny continues concentrating on his work. He learned a long time ago that being busy is not enough to prevent disruptions, he must look busy. Too often people thought that when Lenny was sitting quietly looking at the ceiling, he wasn't busy He learned his lesson and now forces himself to stare at the computer screen instead. Now people know he is really working, but even this is not enough anymore.

He keeps looking at the screen for several seconds, then raises his eyes.

"Lenny," Roger says, "there's this young French programmer. I want you to meet him."

"I'd love to, but I don't have time. Not today."

"That's what you said last week. He was sent here two months ago to work on the new display for the available-to-promise module. And I suspect that he was given the impression that he'd have the chance to work with you."

Lenny just shrugs his shoulders.

Roger tries another tact. "He thinks that there's a bug in that ATP module, and he insists on telling you about it personally."

"Did he convince you there's a bug in the ATP module?"

"Yes. As a matter of fact, I think there is a bug. He prepared a very detailed example and analysis. Quite an impressive document."

"So what's the problem? If you think it's important enough, add it to the list."

"Lenny, that's not the real issue. The thing is that the kid is really brilliant, even if he is somewhat crazy. He told me he's going home if he can't see you. And I'm concerned that he might really do it. Lenny, this is a sharp kid. We need people like that."

"OK, send the wond er child to me."

The conversation with Jean-Claude takes more than half an hour, during which time two more phone calls go into Lenny's voice mail. Lenny sees why Roger wanted him to talk with the kid. This boy has the potential to be a star. He's a programmer with a keen understanding of the use of the software, rather than simply being enchanted with the bits and bytes and features. Not to mention that he has also touched upon a logical bug that could be traced all the way to Lenny himself. Lenny appreciates people who can find flaws in his own specs.

When the phone rings, Lenny is still thinking about the ramifications of the change he'd just approved in the ATP module. He authorized the kid to fix the bug, but now wishes he'd been slower to approve it. A whole set of changes now have to be integrated into the new version just because the bug is fixed. Sharon is not going to like it at all. The phone continues to ring and he makes the mistake of picking it up.

"Hi Lenny, this is Rudy We have this problem at MACTEL with the conversion from MAN. We need it fixed soon. Real soon. All we need is to start with the financial module first. But there are conversion problems and we can't proceed. Roger promised that writing the conversion program would get the highest priority. But it didn't work out. Once I call up the financial module the program crashes because of bad data. This is already the third time I've received a conversion program that's supposed to work but all it does is crash. I've found the programmer who's working on it. Her name is Mary and she's part of a team in London. I called London and talked with her. Lenny, it seems to me that she doesn't have a clue."

"Rudy, I just talked with Roger about it. Give it another two days. They'll sort it out."

"I wish you would help her out, Lenny. I know you're busy with much more important and clever missions, but we're talking about a big client here that we convinced to switch from MAN to work with BGSoft. You know how much effort we put into winning over clients who work with the enemy. I'm really concerned that failing to establish our software very fast might put an end to such hopes. Please, see to the problem. I know you can remove programming obstacles within ten minutes."

Lenny likes persistent people, the bulldogs, but not when he's the target. On the other hand he doesn't want to upset Rudy with a vicious remark. Rudy was brought to KPI Solutions from Boyd and Neel. At a time when Maggie is looking everywhere for really good consultants, Lenny must be nice to such an import. Reluctantly Lenny agrees to talk with Arthur at the London office.

He bolts his door and disconnects the phone. How to integrate the vendor-performance feature is starting to shape in his mind. There is a way to sneak it in without writing hardly any additional code. But it requires small changes in many places. It will be easy if he does it himself, but quite complicated to explain it to anybody else.

Should he do it himself? Before long somebody would find out that it was not exactly what he or she needed. Changes would be demanded. At that point it would be part of the whole package, and no one would know how to do the necessary adaptations. It was just asking for trouble.

There was a time when it was so much simpler. He smiles recalling how it all started. Simply put, BGSoft owes its existence to rage, Scott's rage at the professor who gave him a mere 'C' on what Scott considered his masterpiece. The seminar was called Forecasting Future Trends. Scott, who spent his summers as an interim programmer, picked the computer industry for his project paper.

Back in 1979, the computer industry was totally dominated by the hardware companies, the companies producing the computers. There was IBM, the giant that ruled over seventy percent of the world market, and there were many smaller companies, most in the range of several hundred million dollars in annual sales. Software companies, those in the business of providing packages of computer code, were few and small. At that time a ten million dollar software company was considered large.

Two new developments had just been introduced. One was the emergence of mini-computers, which had capabilities resembling those of the huge mainframe computer. What required, just a year before, several million dollars, could now be purchased for less than two-hundred-thousand dollars. The other development was terminals, which were rapidly replacing paper punched cards as the means of communicating with the computer. These were major changes, but almost nobody foresaw that they would change the balance between the hardware and software companies. Scott did.

He had recognized that the mini-computers and terminals were removing the major obstacles standing in the way of providing a large commercial application. A small software company could now afford to own a computer. This allowed their programmers, using terminals that were directly linked to the mini-computer, to test their code dozens of times a day rather than the maximum three or four attempts that had, up until then, been possible. That, Scott concluded, would open the door to replacing the tailored, homegrown programs that companies were using with a cheaper, easier to maintain, and more powerful package that many companies could use.

Estimating that the price of hardware would continue to nose-dive, and anticipating a resulting increase in the thirst to use these powerful machines, Scott postulated in his paper that the market for large software applications would skyrocket. Alas, his professor didn't share the same opinion.

At that time, not many people were familiar with computers, so Scott had a very limited audience for airing his gripes. One of the few was Lenny, a master's student in mathematics who spent his summers in a cubical next to him.

Lenny listened and asked some questions, but his final conclusion was surprising. "Scott," he said, "you yourself don't believe in what you wrote."

In response to Scott's furious reply, he just added, "If you believe in what you wrote, don't waste time griping about your mark. Go and do it. Build a software company."

Scott raised the seed money, Lenny wrote the code, and Scott sold it. Lenny made the changes the clients demanded. And in twenty years the company grew from two people to the thousands they are now employing.

It was so easy when they could do everything themselves. His joy in finding an elegant way to easily incorporate the vendor-performance-measurement is replaced by frustration that the days of bright solutions are over. It's better to use a more cumbersome but more straightforward way. But that will be too much work. So the vendor-performance-measurement will not make it into this version. That's bad.

He is caught between a rock and a hard place. And not just on this issue but on almost everything that he is doing. That's the nature of the monstrous system that has grown here. But he is not going to solve it now. Actually he doesn't see how to solve it at all.

Maggie, the CEO of KPI Solutions, had sent him a document filled with complaints. She is coming this afternoon to discuss it and he doesn't have good news for her.

He looks at his watch. It's already past two. Lenny feels hungry Maybe he should go down and grab something at the cafeteria. The risk is that someone with a problem could see him and start talking about this and that. No, it's better to order something to be brought to his office. And tea would be nice, too. So he calls the cafeteria and orders chicken salad, hot tea, and coffee. Then, still holding the phone, he remembers his promise to Rudy.

He calls the London office. It's a long time before the female voice answers the phone. "May I speak with Arthur please." Lenny hopes there is no other Arthur at the London office; he can't remember Arthur's last name.

"I'm sorry, Arthur has already left. There's no one in the office right now."

That's strange. Oh, it must be past seven in London.

"I assume you are in the office. Who are you?"

"I'm Mary Wittaker. I'm on Arthur's team."

"Oh, good. I actually want to talk to you. I understand you are working on the conversion program for MAN, and that there's some problem with it?"

The line is silent for several long seconds.

"Who is talking, please?"

"This is Lenny Abrahms."

The line is silent again.

"Mary, it's all right. I used to be a programmer. I just thought we could discuss the nature of the bug. You see, the people working with MACTEL are somewhat nervous, and they understand nothing about programming. So I thought maybe I could help."

It takes Mary some time to calm herself and talk with 'The Big Lenny.' After about fifteen minutes, during which time somebody knocked on his door, Lenny succeeds in tracing the source of the bug to the Bill-of-Material data structure.

"That can't be it," Mary exclaims. "I've checked that code three times already." She suddenly feels frightened. You're not supposed to say 'it cannot be' to Lenny.

"Check again. It has to be there. All the signs lead to it." The banging on the door resumes.

"Sorry, I have to go now. Check it Mary, I still have a good nose for bugs."

The bangs grow louder. Lenny opens his door. He forgot he had bolted it. Lenny's secretary is standing there with the waiter from the cafeteria, holding a tray.

"Sorry you disconnected the phone."

There is no free spot on the desk. Lenny signals the waiter that it's perfectly all right to put the tray on a pile of papers.

"You don't have too much time," his secretary reminds him.

You are supposed to meet Maggie at Scott's office. And that meeting starts in less than ten minutes.

"OK, I'll just taste the salad and go. I'm too aggressive when I'm starving and it is not a good idea to be aggressive with Maggie."

Three minutes later, Lenny heads to Scott's office.