Software architecture, software engineering, and Renaissance Jazz

The venerable Joe Marasco reminded me of another ex-Rationalite, the late Mark Sadler. Mark was a dear, dear friend, and as Rational was expanding, he was the point man for our international operations. I recall several wonderful trips with mark to Japan. Mark, you are missed...

Quote of the day:

The fear of death follows from the fear of life. A man who lives fully is prepared to die at any time.Mark Twain

In any new social situation, wherein people are just getting to know one another, inevitably someone will ask of the other "what do you do?" Depending on the circumstances, I will reply with something as simple as "I'm into computers" or "I do software"; if I want to be a bit more provocative, I'll say that I'm a free radical; if i need to sound more formal, I will tell people that I'm an IBM Fellow; if I want to sound mysterious, I'll say that I'm an author. All of these things are true, yet none of them are sufficient.

I've always found this line of questioning so predictable yet so superficial. I am not defined by what I do, nor do I do just one thing. At the moment, I'm a chief scientist and a Fellow and a software architect and a project manager and a programmer and a researcher. I'm also a mentor, lecturer, consultant, software archeologist, theorist, methodologist, developer, pragmatist, pioneer, mediator, historian and visionary. In my working career I've been a mower of lawns, a scooper of ice cream, and a singer of songs. By act of Congress, I was once even an officer and a gentleman. I'm a good friend and confidant, a godfather, and a loving husband. I listen well and play well with others. More abstractly, I'm a child at heart, a warrior, a servant, a leader, a dreamer, a lover, a believer, and most of all an awe-struck seeker.

In short, I believe in living a life of "ands," a life that is defined not by what I do at the moment but rather one that is defined by living fully in the moment. I will be the first to admit that I'm most imperfect when it comes to being fully present in every moment or living fully in integrity with my values, but such are the consequence of being fully human.

It's time to add another "and" to my list of "things that I do."

I've been a part of Rational since its foundation some 26 years ago, but now it's time for me to move on. However, I'm not going far, for I'll be joining the Software Technology Department at the IBM Thomas J. Watson Research Center as Chief Scientist for Software Engineering. There I will continue my work on the Handbook of Software Architecture and will mentor and lead various software engineering projects that are beyond the constraints of immediate product horizons. I will continue to engage with real customers working on very real problems; I will also deepen my relationships with academia and other research organizations around the world. Much of my professional career has been dedicated to improving the art and the science of software development, and that won't change at all, although I hope that my reach will be a bit further.

May each of you be blessed with living a life of "ands."

Quote of the day:

Moving on is a simple thing, what it leaves behind is hard.Dave Mustaine

A few days ago, on the fifth anniversary of Rational's acquisition by IBM, I blogged about Rational's history. Since then, I've received numerous emails from ex-Rationalites offering their memories. I was especially delighted to hear from John Haynes, who reminded me of Rational's manufacturing team. John and I actually shared a living space for a short while. When Rational began and after Mike, Paul, and I had finished our commitments to the Air Force, I continued to live in Colorado but then commuted to Silicon Valley. For about a year, every Monday morning I'd catch a flight from Denver to San Jose, work at Rational from early to late, then return to Denver on Friday. I had an apartment in Mountain View where I'd crash after work, and it was there that John would occasionally stay. As John reminded me, Rational -being at the time a hardware company, not just a software company - had a killer manufacturing team that included Ray Myers (VP of Manufacturing), John (Materials Manager), Bev Hartnell (Senior Buyer), Bob Walton (Manufacturing Engineer), Walt Rider (Manufacturing Engineer), and Al Prez (Chief Mechanical Engineer). Dennis Paddock led our customer support team. Rational shipped its first machine (to Rolm, as I recall) on the last day of 1984 and its last R1000 (to IBM, Lockheed, or Rockwell...neither John nor I remembered) in 1988. Rumor has it that there is still at least one intact machine out there (but obviously not being used for production work).

Quote of the day:

Some day, on the corporate balance sheet, there will be an entry which reads, 'Information'; for in most cases, the information is more valuable than the hardware which processes it.Grace Murry Hopper

Tom Johnson - who reports that he still "dabbles" with Apex - wrote to remind me of Ramachandran Krishnaswamy and Dan Ehrenfried.

David wrote to fill in some details of Rational's earliest history. In 1979, David had been funded by DARPA to explore techniques for the compilation of Ada tasking. Dave Stevenson and Howard Larsen were then grad students working with David to build the Ada-M compiler, which was written in Lisp. Mike and Paul had been developing their idea of an Ada machine and so looked to the Ada-M effort to bootstrap Rational's first validated compiler. David reminisced about a meeting in his dining room in December 1980 which brought together the gang with some venture capitalists. David is a professor emeritus at Stanford and is currently working on R&D in event processing.

Joe Marasco sent me a lengthy missive detailing the R1000 family tree, with Dave Lofgren and Jim Archer adding some additional bits. Rational's machine evolved through four series of different models, each representing some significant packaging or architectural change. We indeed shipped our first machine (which was named simply R1000, with the series 100 moniker added later) to Rolm on December 31st, 1984. Rational ended hardware production in 1993, shipping its last machine to the Danish Navy. There are still several R1000s under support and maintenance contracts; Jim Archer continues to support the software side of Rational's earliest products and Dave Lofgren handles the hardware end. Joe estimates that a total of approximately 300 machines were shipped over the R1000's lifetime. As Joe further reported:

The "original" R1000 was subsequently labeled the "Series 100" due to extensions of the product line. The Series 100 was large enough to require elevator disassembly at certain customers, and the joke at the time was that it had been built that way because it had to be shipped with a tech rep, and, after all, the tech rep had to live somewhere.

The "Series 200" was led by marketing manager Yosi Amram in 1986, and was launched in the fall of that year at Ada Expo. It came in three models: a model 10, model 20, and model 40. The low-end model 10 was never purchased. The model 40 was two model 20's literally put into one larger cabinet. Each half of a 40 had its own control terminal and its own peripherals; as I recall, it was challenging to get them to share a printer. The first Series 200s were shipped to Philips AB at the very end of 1986. The Series 200, especially the model 40, was the "workhorse" of the product line for several years (1987 - 1989), with many of them at sites such as Philips, CSC, Rockwell, and others. Customers who bought them in substantial quantities began to understand the difficulties of doing large-scale development on multiple R1000's. The original R1000 employed a PDP-11/24 as an I/O processor, which enable the use of off-the-shelf disk, tape, and communications controllers In the series 200, this was replaced by a Motorola 68K microprocessor that generated the DEC Unibus so we could continue to use those controllers. Wayne Meretsky did both the hardware and software for this revamped I/O system.

In the fall of 1989 yours truly fielded the Series 300, which was basically a "skin job." It used the same boards as the 200, but Mr. Druke and his hardy band of hardware engineers weaseled the form factor down somewhat further. The idea was to get the price down as much as possible without doing any major engineering, although disk and tape drive progress allowed us to continue to reduce the size of the package. The 300 had the ability to increase the main memory up to 64 Meg from 32; doubling the memory had a big effect on performance. The 300 product line also included a coprocessor variant, which meant you could use the processor and memory in conjunction with a disk farm from Sun. In an unexpected turn of events, the pesky salespeople continued to sell the more expensive "standard" R1000 configuration to the detriment of the coprocessors. I believe the leader in this regard was Tom "Too Tall" Smith, who sold a raft of full-up Series 300 "model 40 equivalents" to Lockheed for Space Station Freedom in 1990.

The immediate reaction to fielding the 300 was to get to work on the 400. Quickly abandoning the co-processor concept, the 400 took the next logical step of reducing the package size still further by incessant shrinking of the drives and a re-do, in under a year, of the processor and memory boards, as well as redesigning the I/O system yet again. The basic architecture of the processor and memory boards was unchanged, but the critical "zero insertion force" edge connectors got revamped so the boards could be made smaller. This feat had previously been postulated as impossible, but when faced with imminent extinction, Druke's hardware boys somehow managed to make it happen. The Series 400 came out in the fall of 1990, and was as small as the R1000 ever got. We sold 400's from late 1990 through 1993, when we finally ceased producing new hardware.

Cross-correlation of these dates would indicate that we commenced the Apex development project AFTER we fielded the series 400. I believe that during the latter part of 1990 and into early 1991, the hardware people were still working on a "next generation" R1000 that would completely re-architect the basic boards. But that effort got killed at the end of 1990 in the famous decision to abandon the hardware business. Curiously, it was about nine months after that that the Apex team was formally constituted and launched. During the two-year period it took to build Apex, most of the hardware people either left, worked mostly in support, or transitioned to a number of "Delta" improvement projects. Delta was the R1000 OS of the day, and the "inside joke" was that everything wrong with it would be "fixed" in Epsilon. Of course, Epsilon never happened; when the R1000 was replaced by Apex, the operating system became one of the standard vendor's version of Unix.

Joe went on to lead the Apex team, which was released in September 1993. Reporting on Rational's revenue engine during that era, Joe noted that:

By the way, circa 1995, when I was managing the combined Apex - Verdix programming tools team, the license revenue split between Ada/C++ programming environments and Rose was almost exactly $45M Ada (C++ was minuscule) and $5M Rose. That is, two years after Apex's launch, it still contributed 90% of the license revenue of the company. It took Rose several years (after 1995) to catch up and surpass the Ada revenues; Apex and Ada stabilized at roughly $50M and then slowly and steadily declined, whereas Rose just continued to grow. And of course post-1996 we started to acquire other companies, which changed the ball game completely. But we had organic growth through the mid-nineties, and much as the R1000 sustained us until Apex came along, Apex was the principal revenue stream during the several years it took for the Rose revenue stream to build and mature. Had Rose been fielded as the sole product of a start-up company, it would have never survived. Although Rational got on the commercial map because of Rose, it took about five years of subsidy from the rest of the business to find its legs; ironically, it was (by then) Rational's financial strength that allowed Rose to eventually out-market its competitors.

Quoteof the day:

History never looks like history when you are living through it.JohnGardner