[hand with pencil]
Stuff For Sale
2004 Summer Tour
Class Stuff
Email Me
In The Press
Veggie Van Gogh

© 2002,

[this is simply a banner and menu bar]

Please patronize sponsors of this page!

Bytesmiths no longer is involved in software consulting. Maintenance of this web site is currently subsidised by unrelated business activities. Please pass the word to other interested folks, so I can continue to host this page!
Your site could be listed here, for as little as $12 per month! Go to Bytesmiths Press for details.

This site has been selected by PC Webopaedia as one of the best on this topic!
This site has been awarded a Links2Go Key Resource Award in the Smalltalk category!

Originally published in The Smalltalk Report, May 1996.

Beware the Octopus

by Jan Steinman

We paid a visit to MegaCorp the other day to see how Aaron Blake's new Smalltalk project was getting on. We didn't have much time with Aaron before a major requirements meeting. There was some small talk about the weather as we walked from reception to the departmental meeting room, then Barbara asked, "So, everything fine with the project these days?"

"We've been attacked by octopi," he exclaimed in exasperation, shaking his head and throwing his hands in the air. He reacted to our puzzled looks only by saying, "few minutes, you'll see what I mean!" as we entered the meeting room.

MegaCorpus Centralitis

MegaCorp MIS Director Andrea Saunders had just introduced the first speaker, an owlish looking accounting type. He put a slide on the overhead.

Figure 1: MegaCorp Accounting Requirements

"... and so in closing, I must stress that it is essential that objectification of the central MegaCorp information function must continue to support the Master Records Processor module and the key report generational subsystems." Several bobbing heads snapped to dazed attention as the lights came on.

"We will certainly keep the needs of Accounting in mind as we proceed with the transition plan," said Andrea, "perhaps Jake can give us an idea on legacy maintenance planning?"

"Accounting is certainly important, but it's one piece of the picture," Jake began as he placed his opening slide on the overhead projector.

Figure 2: MegaCorp Information Systems Requirements

"I knew I was coming on after Linus, so I highlighted accounting's important part in this by coloring it red," Jake continued.

"Did you know the octopus turns red when it is angry?" Aaron whispered during the presentation. "Linus and Jake are always battling over what function is more central to MegaCorp. It started a few years ago during down sizing, but it's continued even through the good times."

"The bottom line is that the MIS Infrastructure's central role in MegaCorp best enables it to be of service to all departments during this period of transition to object oriented technology." Jake returned to his seat as the lights once again came on.

"Well, if there are no more questions for Jake," Andrea said, "I believe he has someone from his technical staff here to show us some more detail -- Jake?"

Jake half rose from his seat, saying "Yes, Denny Hicks is here today to show us the architecture we're planning to use during transition -- take it away, Denny!"

Denny was your typical bright, but introverted, computer nerd. He bashfully shuffled forward with his slides in one hand and a trembling coffee mug in the other. Jake helped him put his first slide on the screen.

Figure 3: Central Information Management Processing Resources

"First, entry of a sale creates a sales record object," began Denny with quavering voice, "which CIMPR" (Denny pronounced it "simper") "sends to the weekly receivables report object and marketing report object, and logs it against the salesman's employee record object for commission tracking."

"Look out, dofleini everywhere!," whispered Aaron.

"I don't know," hissed Trigger Larsen, Aaron's best technical whiz, "It looks pretty vulgarus to me!" Aaron and Trigger shared an interest in marine biology, but unfortunately Trigger did not share Aaron's sense of polite discretion, nor was he always able to leave things on the racquetball court. Denny had trounced him yesterday, and he was still smarting.

"If those are objects, what kind of behavior do they have?" Trigger piped up. Heads turned, Jake scowled, and Denny stammered and trembled, spilling the cafeteria's inky black coffee on the diagram.

"Looks like our octopus is trying to hide," murmured Trigger, completely without remorse.

"Hush up and listen!" scolded Aaron, "you'll be in the hot seat in a few minutes, and you'd better be prepared for the issues these people are raising, which are just as valid as they would be if they had a clue about objects!"

Denny actually managed to do quite well now that his slides were ruined. The lights came on, he put his hands in his pockets, stared at the ceiling, and briefly, simply described the transitional system he and Jake had cooked up. The key point was that they had struggled to decouple data from processing. The legacy systems being phased out were mazes of spaghetti, with in line database calls scattered everywhere.

"Looks good!" said Andrea, as she shot an icy glance at Trigger. "Now Aaron is going to give us a run down on the end architecture that we're shooting for."

A Cure For Centralitis

Aaron walked empty handed to the front of the room and turned off the slide projector. He began in a quiet voice, and side discussions hushed as people strained to listen.

"... are not best served by highly centralized functions, but rather by a society of collaborating objects," Aaron began. "Objects are specialists, and we're going to have to change not only our technology, but our whole way of thinking about our business functions and processes. Linus, your reports are vital to you and the departments you serve, but we must learn to think of them as transient artifacts -- mere side effects of the communication between objects."

"Jake, you know the PC revolution is turning things up-side down. We will need to distribute data processing for marketing, sales, purchasing, and accounting over a variety of platforms in different departments. You've already taken the first step, by separating the 'what' from the 'how,' but now we're going to have to put them together again in much smaller pieces, so MegaCorp isn't dependent on a central MIS group. Don't worry about jobs, though -- there's going to be plenty of work to do! But we're going to be much more effective at doing it by using Smalltalk for distribution of 'right sized' components."

"How many salesmen don't have a pretty good idea what their commission is? Denny, wouldn't it be nice if the SalesAgent object 'made' the sale, and told a MarketWatcher object about it, who would go around gathering up similar data from other SalesAgents? Then all you'd have to do is query the MarketWatcher whenever you wanted to, even if the machine that runs CIMPR happens to be down!"

"We're all making good progress here -- sometimes it takes many little steps to make a big change. But remember that the weaknesses of centralized processes are what caused us to look at Smalltalk in the first place!"

"Thank you, Aaron!" Andrea smiled. She was glad she put him on last, even though everybody came to the meeting wanting to find out what all this Smalltalk stuff was all about. Leading with the new would have been disaster, because people view the new through old biases, but by letting them voice their concerns early, she was able to assure them that there was a path forward.

The meeting broke up, and Barbara, Jan, Aaron, and Trigger headed over to the nearby Red Coach (affectionately called the "Dead Roach" among MegaCorp cognoscente) for lunch.

"What's the special today," Aaron asked the waitress.

"Kalamari," she replied. "No thanks!" we all shouted in unison, then burst out laughing. She looked at us as if we were from Mars, saying "Why don't you take a few more minutes to decide; I'll be right back."


Octopus dofleini is the giant North Pacific octopus.

Octopus vulgarus is the much smaller common octopus.

Go to the previous column in the series, or the next column in the series.

160 Sharp Road, Salt Spring Island, British Columbia, V8K 2P6, Canada