Books July/Aug 1999

by Sue Petersen


Please note - the magazine mistakenly credited this column to my co-columnist Peter Aitken.


"There are eight million stories in the naked city. This is one of them."
voice-over for The Naked City

The only thing I remember about The Naked City TV show is the voice-over that began and ended each episode. It fired my imagination--so many people living so close together, each of them with a different experience, a different story to tell of the common events that surrounded them. And even now, decades later, the voice-over ran through my head as I read these two books.

Barbarians Led by Bill Gates: Microsoft from the Inside
by Jennifer Edstrom and Marlin Eller
Henry Holt & Company, Inc., 1998
ISBN 0-8050-5754-4
304 pages, $23 USA, $32 Canada, hardcover

Barbarians Led started out as Eller's autobiography and while the final edition is written in the third person, it still retains much of the flavor of a one person account. This is the story of the 'accidental' Microsoft. A company that grew incredibly powerful through a few lucky decisions early on. A company obsessed with holding onto its power--Microsoft against the world. Eller joined Microsoft in 1982, when it had fewer than one hundred people. When he left in 1995, it was hiring several people a day and had over twenty thousand employees. This is very much Eller's story, Microsoft seen from the trenches by a programmer and project manager.

This is also the story of Microsoft the public relations powerhouse. Edstrom's mother joined Microsoft in 1982 to handle the company's PR, and she continues to do so from her own agency today. Edstrom was able to watch the inside story as it unfolded, as PR was deliberately used to create and manipulate the public image of the company.

This is not a balanced historical account, nor is it meant to be. As the preface points out, "The life cycle of a thrashing beast with twenty thousand heads is not something that can be captured in any single document, including this one. Caveat emptor." Balanced or not, I enjoyed it. The story of bungles and successes, confusion and intention, resonated with me. I recognize these people, these pressures, these events and accidents, in my own business and life.

The Microsoft File: The Secret Case Against Bill Gates
by Wendy Goldman Rohm
Times Books, 1998
ISBN 0-8129-2716-8
313 pages, $25.95 USA, $35.95 Canada, hardcover

After the very personal account I found in Barbarians Led, I was ready for some hard, objective journalism when I got to this book. I sure wish I'd found it. The Microsoft File claims to be based on internal company documents as well as on tips from many different informants within the company itself. Unfortunately, there is no way to tell from Rohm's writing what parts of the book are atmosphere and "plausible guesses" and what parts are supported by actual facts. My eyebrows went wayyyy up when the first chapter began with the musings of Microsoft's chief attorney, as he lay awake in the night before a federal hearing in Washington, DC. They stayed up as the next pages took me inside Bill Gates' head and then visited briefly with Rupert Murdoch's thoughts as he recalled meeting Gates several years before.

This is, of course, utter nonsense. There is simply no way Rohm could have any credible information about what Bill Neukom, Richard Murdoch, or Bill Gates were thinking at a particular time and place. Unfortunately, the book gets worse instead of better. This is 'Microsoft--the DocuDrama', the 'made-for-TV Special Event'.

I stuck it out for three or four chapters before I threw the book across the room. In retrospect, I'm sorry I wasted that much time with it.

The Practice of Programming
by Brian W. Kernighan and Rob Pike
Addison Wesley, 1999
ISBN 0-210-61586-X
288 pages, $24.95 USA, $37.50 Canada, paperback

I really wanted to like this book. And, in truth, there's a lot here to like. Kernighan's reputation is well-deserved--he writes well and he knows his subject matter. I have a dog-earred copy of The Elements of Programming Style, second edition (ISBN 0-07-034207-5), by Kernighan and Plauger on my shelf that is full of highlighted passages and comments I've scribbled in the margins. Even though it was copyrighted in 1978, I still pull it out occasionally for a lazy afternoon's read. In some ways, The Practice of Programming is an updated version of that earlier book. Oh, the specifics have changed. The topics are different, the languages are different (TPoP includes examples in C, C++, Java, and Perl, among others), the technology behind the advice is very different, but the authors are still on that same search for simplicity, clarity, and generality.

The Practice of Programming gives you the benefit of other people's experience. This is much less painful than hitting the wall yourself. In nine chapters, it covers Style, Algorithms and Data Structures, Design and Implementation, Interfaces, Debugging, Testing, Performance, Portability, and Notation. The rules the authors suggest are collected at the back of the book as a convenience for the reader, and glancing through them is an education in itself. In several of the chapters, the authors take one small project and show how they developed it in several different languages, extending it as they go. They explain how each different language affected their design choices, and discuss some of the alternatives. This kind of real world experience is priceless, and unfortunately rather rare in the literature.

As I said above, I really wanted to like this book. But as I read, I found myself getting more and more uneasy about what they weren't saying. TPoP's focus is almost entirely at the code level. There's nothing wrong with that, of course, but in the chapters that do claim to address design they ignore or gloss over most of the fundamental design issues.

I get teased a lot because I've got a big hot button about good design practices. That's OK. I learned about coupling and cohesion the hard way and I've got the scars to prove it. I firmly believe that we must consciously design strong cohesion and loose coupling into our systems if we want them to be truly robust and maintainable. And I'm dismayed that an author with Kernighan's reputation and position in the field could write a book that skimmed over the topic so lightly. TPoP talks briefly about information hiding and lists some attributes of a good interface, but it never describes how to evaluate a component interface--what makes one better than another. It leaves the impression that component interface design is a mystical art, with no guidelines or paths through the murk. We know better. And furthermore, it goes on to confuse the issue even more by discussing user interfaces in the same chapter that describes how to design a code library to parse CSV data! And that does a major disservice to both topics!

I'd give this book to a programmer who came to work for me. But I'd make darn sure she had a copy of Meilir Page-Jones' classic book, The Practical Guide to Structured Systems Design, second edition (ISBN 0-13-690769-5), sitting on top of it!

Mr. Bunny's Guide to ActiveX
by Carlton Egremont III
Addison-Wesley, 1998
ISBN #0-201-48536-2
112 pages, $14.95 USA, $20.95 Canada, paperback

I dunno, color me unamused. The truth is, I just don't get it. ActiveX is a serious subject, and I'd like to know more about it. This is the first technical book I've ever tried to read that imparted negative knowledge--I knew less about the subject when I put it down than I did when I picked it up! The humor obviously doesn't agree with me, but it's more than that. The author mixes his humor into the supposedly serious technical content and it's impossible for a novice to the subject to identify which is which.

If you're already familiar with ActiveX and if you enjoy complete nonsense, this book may be worth your time. I may even give it to a friend as a birthday gag. But other than that, it's a waste of paper.

Peopleware--Productive Projects and Teams, Second Edition
by Tom DeMarco and Timothy Lister
Dorset House, 1999
ISBN 0-932633-43-9
264 pages, $39.45 from the publisher (includes $5.50 for U.S. shipping by UPS), paperback

There's not a whole lot I can say about the new edition of Peopleware, except "Buy this book!!!!" If you're not familiar with this classic of management practice, you have a treat coming. And if you are familiar with it, DeMarco and Lister have sweetened the pot with eight new chapters covering everything from the change process--how people change and why they often don't--to "human capital" and organizational learning. In the eleven years since the first edition was published they've found two more ways to commit Teamicide. (Dilbert's boss would be proud. The rest of us now know what to watch out for.) Their thoughts on "Big-M Methodology" should make the folks at the SEI squirm a bit even as they help those of us in the trenches reap the true value from process improvement efforts. But my favorite part the book, the part that completely reframed my image of teamwork, is chapter 28, "Competition". Here, they analyze just what we mean when we use sports imagery as a metaphor for teamwork in a business setting. Then they point out why a choir or a glee club is much closer to what they really mean by a "well-jelled" work team. After all "You'll never have people congratulate you on singing your part perfectly while the choir as a whole sings off-key." And it doesn't do your company or your customer much good when your part of the system is the only one that works.

Copyright © by Sue Petersen. All Rights Reserved.