A:\BOOKS

Dreaming in Code

Scott Rosenberg · 2007

A reporter follows one ambitious software project through years of delay to show why software is so hard to finish.

Scott Rosenberg is a journalist and a co-founder of the online magazine Salon. His book follows a single software project from the inside while it was being built. The subtitle sums up the premise: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software.

What it’s about

The project was Chandler, a program meant to manage a person’s email, calendar, tasks, and notes in a single flexible system. It was run by the Open Source Applications Foundation, which was founded by Mitch Kapor, the creator of Lotus 1-2-3. Rosenberg sat with the team for several years and watched an exciting idea collide with reality: shifting plans, arguments over design, and a schedule that kept slipping.

Along the way the book steps back to ask the larger question. Why do software projects so often take longer and cost more than anyone expects? Rosenberg looks at the history of programming ideas, from early attempts to make software more like engineering to newer methods, and shows how the same difficulties keep appearing. The answer he builds is that software is made of ideas that must be made exact, and that exactness is where the time goes.

Why it belongs on coldboot

It is a rare close-up of what building software feels like day to day, and it follows a figure who appears elsewhere on this site: Kapor, the co-founder of Lotus, whose story is in the Lotus 1-2-3 article. It is a good book to read next to the stories of finished products, because it shows the part that doesn’t usually make the history.

Keep in mind

It is the story of one project and one team, told by an outside observer, and the project’s outcome is only part of the book. Some of the tools and methods it discusses were new in the mid-2000s and have since changed, but the underlying difficulty it describes has not.

Edition linked: Three Rivers Press paperback (2008).